Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.14.0 #1250

Closed
23 of 25 tasks
marquiz opened this issue Jun 22, 2023 · 11 comments
Closed
23 of 25 tasks

Release v0.14.0 #1250

marquiz opened this issue Jun 22, 2023 · 11 comments

Comments

@marquiz
Copy link
Contributor

marquiz commented Jun 22, 2023

Release Checklist

  • All OWNERS must LGTM the release proposal
  • Verify that the changelog in this issue is up-to-date
  • For major releases (v0.$MAJ.0) create new release branch
    • an OWNER creates a vanilla release branch with
      git branch release-0.$MAJ master
    • An OWNER pushes the new release branch with
      git push release-0.$MAJ
    • Create Prow pre-submit job configuration for the new release branch in K8s
      test-infra, submit a PR
    • Wait for the test-infra Prow config PR to be merged
  • Run hack/prepare-release.sh $VERSION to turn references to point to the upcoming release
    (README, deployment templates, docs configuration, test/e2e flags), submit a PR against the release branch
  • An OWNER prepares a draft release
    • Create a draft release at Github releases page
    • Write the change log into the draft release
    • Upload release artefacts generated by prepare-release.sh script above to the draft release
  • An OWNER runs
    git tag -s $VERSION
    and inserts the changelog into the tag description.
  • An OWNER pushes the tag with
    git push $VERSION
  • Submit a PR against k8s.io, updating registry.k8s.io/images/k8s-staging-nfd/images.yaml to promote the container images (both "full" and "minimal" variants) to production
  • Wait for the PR to be merged and verify that the image (registry.k8s.io/nfd/node-feature-discovery:$VERSION) is available.
  • Publish the draft release prepared at the Github releases page
    which will also trigger a Helm repo index update to add the latest release
  • Add a link to the tagged release in this issue.
  • For a major release
    • Send an announcement email to [email protected] with the subject [ANNOUNCE] node-feature-discovery $VERSION is released
    • Add a link to the release announcement in this issue
  • For a major release (or a point release of the latest major release), update README in master branch
    • Update references e.g. by running hack/prepare-release.sh $VERSION but only committing README.md, and,
      submit a PR
    • Wait for the PR to be merged
  • For a major release, create an unannotated devel tag in the master branch, on the first commit that gets merged after the release branch has been created (presumably the README update commit above), and, push the tag:
    DEVEL=v0.$(($MAJ+1)).0-devel; git tag $DEVEL master && git push $DEVEL
    This ensures that the devel builds on the master branch will have a meaningful version number.
  • Close this issue

What's new

NodeFeature API

The NodeFeature API is now enabled by default. The new CRD-based API replaces the previous gRPC-based communication between nfd-master and nfd-worker and, reducing network traffic and allows changes in NodeFeatureRules to take effect immediately (independent of the sleep-interval of nfd-worker). NodeFeature API can also be used to implement 3rd party extensions, see customization guide for more details.

Garbage collection of stale NodeFeature objects was added in the form of nfd-gc daemon.

The gRPC API is now deprecated and will be removed in a future release. The related command-line flags are also deprecated (and don't have any effect when NodeFeature API is in use):

  • nfd-master: -ca-file, -cert-file, -key-file, -port, -verify-node-name
  • nfd-worker: -ca-file, -cert-file, -key-file, -server, -server-name-override

Metrics

NFD now provides Prometheus metrics for better observability. Also, the Helm and kustomize deployments support enabling metrics collection with the Prometheus operator. See the documentation for more information about the available metrics and deployment instructions.

Hooks disabled by default

The deprecation of nfd-worker hooks continues, disabling them by default in v0.14. Potential users of hooks are encouraged to switch to use the NFD CRDs (NodeFeature and
NodeFeatureRule) or feature files. Hooks can still be enabled with the sources.local.hooksEnabled
configuration option.

Feature files

Expiry time: NFD now supports specifying an expiry time for the features specified in a feature file, providing better lifecycle management for the feature labels. See the documentation for more details.

Size limit: There is now a 64kB size limit for feature files.

Miscellaneous

NodeFeatureRule API

Dynamic values for labels is now supported by using the @ notation, see documentation for more details.

NFD-Master

  • support for leader election was added, enabling high-availability deployments with multiple-replicas of nfd-master (with the NodeFeature API enabled)
  • dynamically configurable logging parameters via the config file
  • configurable resync period for the CRD controller
  • parallelized node updates, speeding up simultaneous updates of large number of nodes (e.g. update in NodeFeatureRules in a big cluster), can be controlled with the -nfd-api-parallelism flag

CPU features

Detection of Intel TDX guests is now supported.

Logging

The project was migrated structured logging, making log messages more consistent, better machine parseable and enables future improvements in logging.

Support policy

The project now officially documented it's supported versions and deprecation policy, see the documentation for details.

List of PRs

@marquiz
Copy link
Contributor Author

marquiz commented Jun 22, 2023

See milestone v0.14. Annotations will likely not happen so there's only metrics support to be finished. We could cut the release in mid-July

@PiotrProkop
Copy link
Contributor

@marquiz can we add this issue #1254 to the v0.14 milestone? I'll work on it this week.

@marquiz marquiz mentioned this issue Jul 21, 2023
25 tasks
@marquiz
Copy link
Contributor Author

marquiz commented Jul 21, 2023

/assign @PiotrProkop @fmuyassarov

@ArangoGutierrez
Copy link
Contributor

Milestone v0.14 will be ready today
starting Release cut process

@ArangoGutierrez
Copy link
Contributor

Milestone V0.14 is complete, proceeding to cut

@ArangoGutierrez
Copy link
Contributor

kubernetes/test-infra#30643

@ArangoGutierrez
Copy link
Contributor

#1340

@ArangoGutierrez ArangoGutierrez pinned this issue Sep 7, 2023
@ArangoGutierrez
Copy link
Contributor

[eduardo@fedora node-feature-discovery]$ skopeo list-tags docker://registry.k8s.io/nfd/node-feature-discovery |grep 0.14
        "v0.14.0-full",
        "v0.14.0-minimal",

@ArangoGutierrez
Copy link
Contributor

@ArangoGutierrez
Copy link
Contributor

@ArangoGutierrez
Copy link
Contributor

#1345

@ArangoGutierrez ArangoGutierrez unpinned this issue Sep 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants