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.10.0 #678

Closed
22 tasks done
marquiz opened this issue Nov 26, 2021 · 7 comments
Closed
22 tasks done

Release v0.10.0 #678

marquiz opened this issue Nov 26, 2021 · 7 comments
Assignees

Comments

@marquiz
Copy link
Contributor

marquiz commented Nov 26, 2021

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), an OWNER creates a release branch with
    git branch release-0.$MAJ master
  • Prepare release-0.$MAJ release branch
    • An OWNER creates a vanilla release branch from master and pushes it with
      git push release-0.$MAJ
    • Run scripts/prepare-release.sh $VERSION to turn references to point to the upcoming release
      (README, deployment templates, docs configuration, test/e2e flags), submit a PR agains 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 k8s.gcr.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 (k8s.gcr.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 kubernetes-dev@googlegroups.com 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 scripts/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

Expression-based custom label rules

We implemented new expression-based format for writing labeling rules, greatly expanding the capabilities for vendor and application specific labeling. It covers much more features than the built-in labels reveal, supports tempating and more. See new customization guide for more details.

NodeFeatureRule custom resource

We introduce new NodeFeatureRule custom resource, enabling the deployment vendor and application specific labeling rules as Kubernetes API objects. See customization guide for details.

Detection of network, storage and nvdimm devices

NFD now discovers network, block storage and nvdimm devices. No new built-in labels are introduced but the device information is available for custom label rules to use. See available features for details.

Topology-updater daemon

NFD-Topology-Updater is a new daemon that advertises topology of available and allocatable system resources via NodeResourceTopology custom resources. See the documentation for more details.

New profile label namespace

NFD now by default allows a new profile.node.kubernetes.io label namespace (and it's sub-namespaces). This can be used in custom labels and is intended for vendor or application specific higher level "meta features".

Label names from the local source changed

NFD stopped injecting the filename of the hook/featurefile into the name of the label.

NOTE: This breaks backwards compatibility with usage scenarios that rely on implicitly prefixing the label with the filename. However, we felt that the somewhat confusing and counter-intuitive behavior needs to be changed. The suggested way to fix existing use cases is to user fully namespaced <namespace>/<name>=<value> format (this will retain compatibility with older versions of NFD).

TLS and cert-manager integration in Helm chart

NFD Helm chart now supports enabling TLS and cert-manager via the tls.enable and tls.certManager options. See the documentation for details.

IOMMU source deprecated

The IOMMU source has been deprecated and is now disabled by default. Thus, it's only feature label feature.node.kubernetes.io/iommu-enabled is not available in the default configuration. To enable it, set the core.labelSources option to the value [all, iommu] in the nfd-worker configuration. See worker configuration for more details on configuring nfd-worker.

NOTE: the iommu_group/type is now available as per PCI device attribute to be used for custom label rules. See the customization guide for details on using custom label rules.

Miscellaneous

List of PRs

TODO:

See v0.10.0 milestone

@ArangoGutierrez
Copy link
Contributor

#468

@ArangoGutierrez
Copy link
Contributor

/lgtm

@ArangoGutierrez
Copy link
Contributor

kubernetes/k8s.io#3248

@ArangoGutierrez
Copy link
Contributor

[eduardo@fedora node-feature-discovery]$ skopeo inspect --no-tags  docker://gcr.io/k8s-staging-nfd/node-feature-discovery:v0.10.0
{
    "Name": "gcr.io/k8s-staging-nfd/node-feature-discovery",
    "Digest": "sha256:f2eed733211ee30b29cdc4c6dad4c7f06965f6b6e2a85eae34b49ac0b144f471",
    "RepoTags": [],
    "Created": "2022-01-11T18:25:40.371645323Z",
    "DockerVersion": "20.10.12",
    "Labels": null,
    "Architecture": "amd64",
    "Os": "linux",
    "Layers": [
        "sha256:72a69066d2febc34d8f3dbcb645f7b851a57e9681322ece7ad8007503b783c19",
        "sha256:55021ef4630b6895c6f61c7119aaa045b403811902f09ac02faabdedf70ac9e8",
        "sha256:7b87c002c0119958e56d51615d51f2702fa12f6662c9286b2280b51e2b3953cf"
    ],
    "Env": [
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "GRPC_GO_LOG_SEVERITY_LEVEL=INFO"
    ]
}

@marquiz
Copy link
Contributor Author

marquiz commented Jan 11, 2022

@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

7 participants