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.12.0 #985

Closed
22 tasks done
marquiz opened this issue Dec 8, 2022 · 18 comments
Closed
22 tasks done

Release v0.12.0 #985

marquiz opened this issue Dec 8, 2022 · 18 comments

Comments

@marquiz
Copy link
Contributor

marquiz commented Dec 8, 2022

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
  • 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.
  • 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

Changelog

Node tainting

NFD now supports node tainting. NodeFeatureRule custom resource was extended to create taints. See documentation for more information.

NodeFeature CRD

(EXPERIMENTAL) NFD defines new NodeFeature custom resource for communicating node features and node labeling requests and they can be used for implementing 3rd party extensions. Support for NodeFeature API is disabled by default in this release but will be enabled and is intended to replace the gRPC API between nfd-worker and nfd-master in the future.

See documentation for more details.

Improvements in topology-updater

NFD-Topology-Updater is now a standalone component, not depending on nfd-master, anymore. Topology-updater got support for configuration file, with one config option excludeList for filtering out resources from accounting. Topology-updater also now supports retrieving kubelet config from configz API endpoint (by default) and received a bunch of bug fixes.

Deprecations

  • deprecated IOMMU feature source has been removed
  • custom hooks are being deprecated and will be disabled and eventually dropped in future releases. Default behavior is not changed in this release but sources.local.hooksEnabled worker configuration option can be used to disable them. Suggested replacement for hooks in the future will be NodeFeature custom resources (still experimenta).
  • security-related labels were re-organized
    • feature.node.kubernetes.io/cpu-sgx.enabled is now deprecated, superseded by feature.node.kubernetes.io/cpu-security.sgx.enabled
    • feature.node.kubernetes.io/cpu-se.enabled is now replaced, superseded by feature.node.kubernetes.io/cpu-security.se.enabled
  • -featurerules-controller flag of nfd-master is now deprecated, use -crd-controller instead
  • some already deprecaterd worker command line flags were removed:
    • -sleep-interval (use core.sleepInterval config file option instead)
    • -label-whitelist (use core.labelWhiteList config file option instead)
    • -sources (use -label-sources flag instead)

Miscellaneous

  • Improved documentation, major restructuring of deployment and usage docs
  • ignore operational state of network interfaces when detecting
    network labels – fixes issues with network SR-IOV labels in some scenarios (source/network: ignore interface operational state #814)
  • new CPU features
    • Intel TDX
    • CPUID
      • TME, AMXFP16 and PREFETCHI
      • AVXVNNI (non-AVX512)
      • Better detection of features that have both AVX512 and non-AVX512 versions (GFNI, VAES, VPCLMULQDQ)
      • Major update for ARM, POWER, and Z features
  • Helm: improved management of CRDs, now supports --skip-crds
  • switched over to registry.k8s.io container image registry

List of PRs

@marquiz
Copy link
Contributor Author

marquiz commented Dec 8, 2022

/assign @fmuyassarov

@fmuyassarov
Copy link
Member

Nice! I think there are few items left but otherwise we are good to cut the new minor release.
I think #828 and #778 can be finalized soon but not sure about #485 and helm docs.

@marquiz
Copy link
Contributor Author

marquiz commented Dec 8, 2022

I think we just need to drop #485 as nobody has been working on that. For #778 I've started to think if it's worth all the hassle (and confusion), after all 🧐

@fmuyassarov
Copy link
Member

Yeah, I also don't see a big motivation to be honest. But if it is really something we need I'm ready to help, otherwise lets take that out too.

@marquiz
Copy link
Contributor Author

marquiz commented Dec 8, 2022

Yeah, I also don't see a big motivation to be honest. But if it is really something we need I'm ready to help, otherwise lets take that out too.

K 👍 I now dropped both nfd-master config file and short namespace from the v0.12.0 milestone

@fmuyassarov
Copy link
Member

I think the gRPC replacement is done and initial tests are merged. We have only helm docs left. Is there something else that you expect to land before the release @marquiz ?

@marquiz
Copy link
Contributor Author

marquiz commented Dec 20, 2022

No, I don't have anything else in mind

@fmuyassarov
Copy link
Member

+1 for the release.

@ArangoGutierrez
Copy link
Contributor

Milestone is now complete, lets ship this boat!
/lgtm

@jjacobelli
Copy link
Contributor

/lgtm

@marquiz
Copy link
Contributor Author

marquiz commented Dec 21, 2022

ping @zvonkok @adrianchiris release is imminent ❗️

@marquiz
Copy link
Contributor Author

marquiz commented Dec 21, 2022

Updated changelog^

@zvonkok
Copy link
Contributor

zvonkok commented Dec 21, 2022

Lets get this out, tainting and NFD CRD woohoo,

@zvonkok
Copy link
Contributor

zvonkok commented Dec 21, 2022

/lgtm

1 similar comment
@adrianchiris
Copy link
Contributor

/lgtm

@marquiz
Copy link
Contributor Author

marquiz commented Dec 21, 2022

@marquiz
Copy link
Contributor Author

marquiz commented Dec 21, 2022

We're done here 🎉
/close

@k8s-ci-robot
Copy link
Contributor

@marquiz: Closing this issue.

In response to this:

We're done here 🎉
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

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