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.13.0 #1068

Closed
24 tasks done
marquiz opened this issue Mar 1, 2023 · 10 comments
Closed
24 tasks done

Release v0.13.0 #1068

marquiz opened this issue Mar 1, 2023 · 10 comments
Assignees
Milestone

Comments

@marquiz
Copy link
Contributor

marquiz commented Mar 1, 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.
  • 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

Default image based on distroless

The default container image is now based on distroless/base. This was formerly shipped as the "minimal" image, and "v0.13.0-minimal" image tag is thus provided for backwards compatibility. A new "full" image variant (v0.13.0-full) that corresponds the previous default image is made available.

The practical user impact of this change is that support for hooks is limited to statically linked ELF binaries. Bash or Perl scripts are not supported by the default image anymore, but the new "full" image variant can be used if support for these is needed.

Config file for nfd-master

NFD-Master now supports dynamic run-time configurability through a configuration file, deployed as a ConfigMap similar to the nfd-worker. Many of the command line flags are now available as dynamically changeable config file options. Visit the documentation for more details.

Allow custom label prefixes

The restrictions on allowed label prefixes (or label namespaces) for custom labels are mostly removed. All prefixes are allowed, except for kubernetes.io/ and its sub-namespaces (i.e. *.kubernetes.io/), with the NFD-specific feature.node.kubernetes.io/ and profile.node.kubernetes.io/ (and their sub-namespaces) still being allowed.

Those wanting to have stricter policy on allowed label prefixes can use the new denyLabelNs config file option (or the corresponding -deny-label-ns command line flag) of nfd-master. To preserve the old behavior of rejecting all custom prefixes, denyLabelNs="*" can be used, with extraLabelNs config option available for allowing specific custom prefixes.

Extended resources

NFD now supports creating node extended resources from the NodeFeatureRule custom resources. See the documentation for details. With this the -resource-labels command line flag is now marked as deprecated.

Topology Updater enhancements

A new Topology-Garbage-Collector daemon for deleting obsolete NodeResourceTopology objects was added. This daemon is enabled in default deployments.

Topology-Updater reacts faster to changes in the node, making NodeResourceTopology objects more accurately track the current state of node resource status.

Topology-Updater gained the ability to report "pods fingerprint" as a single value representing the node resources status. See the new -pods-fingerprint command line flag.

Topology-Updater now supports the latest v1alpha2 version of the NodeResourceTopology API.

Deprecations

The feature.node.kubernetes.io/cpu-rdt.* labels are now marked as deprecated and will be removed in a future release. The RDT features will stay to be available for NodeFeatureRule objects to consume to create custom labels.

The -resource-labels command line flag is now deprecated and will be removed in a future release. NodeFeatureRule objects should be used for managing node extended resources, instead.

Miscellaneous

New CPU features:

  • X86_64
    • Intel Sierra Forest: AVXIFMA, AVXNECONVERT, AVXVNNIINT8, CMPCCXADD, WRMSRNS and MSRLIST
    • number of Intel TDX keys
    • amount Intel SGX EPC (Encrypted Page Cache) memory
    • AMD SEV, including number of ASIDs (Address Space Identifiers), and number of ES (Encrypted State) IDs
  • PPC64
    • IBM Nest Accelerator for GZIP
  • RDT: number of L3 CLOSID

Kernel: new kernel.enabledmodule feature that lists both loaded dynamic modules and modules built into the kernel.

List of PRs

@marquiz
Copy link
Contributor Author

marquiz commented Mar 1, 2023

Milestone: https://github.com/kubernetes-sigs/node-feature-discovery/milestone/7

My thinking was to cut a release around the end of March. With the content whatever we've managed to merge by then

@ArangoGutierrez
Copy link
Contributor

++

@adrianchiris
Copy link
Contributor

+1

1 similar comment
@fmuyassarov
Copy link
Member

+1

@jjacobelli
Copy link
Contributor

/lgtm

@ArangoGutierrez
Copy link
Contributor

For Topology-updater interests
/cc @ffromani

@ArangoGutierrez
Copy link
Contributor

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

@marquiz
Copy link
Contributor Author

marquiz commented Apr 18, 2023

@ArangoGutierrez
Copy link
Contributor

/close

@k8s-ci-robot
Copy link
Contributor

@ArangoGutierrez: Closing this issue.

In response to this:

/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