Skip to content

v0.17.0

Compare
Choose a tag to compare
@estroz estroz released this 15 Apr 22:31
· 1564 commits to master since this release
v0.17.0
2fd7019

v0.17.0

Added

  • Added support for generating kube-state-metrics metrics for cluster-scoped resources. Also added pkg/kubemetrics.NewNamespacedMetricsStores and pkg/kubemetrics.NewClusterScopedMetricsStores to support this new feature. (#2809)
  • Added the generate csv --deploy-dir --apis-dir --crd-dir flags to allow configuring input locations for operator manifests and API types directories to the CSV generator in lieu of a config. See the CLI reference doc or generate csv -h help text for more details. (#2511)
  • Added the generate csv --output-dir flag to allow configuring the output location for the catalog directory. (#2511)
  • The flag --watch-namespace and --operator-namespace was added to operator-sdk run --local, operator-sdk test --local and operator-sdk cleanup commands in order to replace the flag --namespace which was deprecated.(#2617)
  • The methods ctx.GetOperatorNamespace() and ctx.GetWatchNamespace() was added pkg/test in order to replace ctx.GetNamespace() which is deprecated. (#2617)
  • The --crd-version flag was added to the new, add api, add crd, and generate crds commands so that users can opt-in to v1 CRDs. (#2684)
  • The printout for the compatible Kubernetes Version #2446
  • The --output-dir flag instructs operator-sdk bundle create to write manifests and metadata to a non-default directory. (#2715)
  • The --overwrite flag instructs operator-sdk bundle create to overwrite metadata, manifests, and bundle.Dockerfile. (#2715)
  • operator-sdk bundle validate now accepts either an image tag or a directory arg. If the arg is a directory, its children must contain a manifests/ and a metadata/ directory. (#2737)
  • Add support to release SDK arm64 binaries and images. (#2742)
  • Add annotation helm.operator-sdk/upgrade-force: "True" to allow force resources replacement (helm upgrade --force) for Helm based-operators. (#2773)
  • The --make-manifests flag directs operator-sdk generate csv to create a manifests/ directory for the latest operator bundle, including CRDs. This flag is set by default. (#2776)
  • operator-sdk run --olm supports the new operator metadata format in metadata/annotations.yaml. (#2840)

Changed

  • The scorecard when creating a Custom Resource, will produce a message to the user if that CR already exists. (#2683)
  • Upgrade Kubernetes dependency versions from v1.16.2 to v1.17.4. (#2715)
  • Upgrade controller-runtime version from v0.4.0 to v0.5.2. (#2715)
  • Upgrade controller-tools version from v0.2.4 to v0.2.8. (#2715)
  • Upgrade helm version from v3.0.2 to v3.1.2. (#2715)
  • Upgrade prometheus-operator version from v0.34.0 to v0.38.0. (#2715)
  • Upgrade operator-registry version from v1.5.7to v1.6.2. (#2715)
  • Breaking Change: operator-sdk bundle create now creates a manifests/ directory under the parent directory of the argument passed to --directory, and setting --generate-only=true writes a Dockerfile to <project-root>/bundle.Dockerfile that copies bundle manifests from that manifests/ directory. (#2715)
  • Upgrade Kind used for tests for Ansible based-operators from 1.16 to 1.17. (#2753)
  • Breaking Change: Upgrade Molecule for Ansible-based operators from 2.22 to 3.0.2. For instructions on upgrading your project to use the V3 Molecule version see here. (#2749)
  • Breaking Change: Changed Conditions from map[ConditionType]Condition to []Condition. (#2739)
  • Setting operator-sdk generate csv --output-dir will search the output directory for bundles before searching the default location. (#2776)

Deprecated

  • Deprecated pkg/kubemetrics.NewMetricsStores. Use pkg/kubemetrics.NewNamespacedMetricsStores instead. (#2809)
  • Breaking Change: The --namespace flag from operator-sdk run --local, operator-sdk test --local and operator-sdk cleanup command was deprecated and will be removed in the future versions. Use --watch-namespace and --operator-namespace instead of. (#2617)
  • Breaking Change: The method ctx.GetNamespace() from the pkg/test is deprecated and will be removed in future versions. Use ctx.GetOperatorNamespace() and ctx.GetWatchNamespace() instead of. (#2617)
  • Breaking Change: package manifests are deprecated and new manifests are no longer generated; existing manifests are still updated by operator-sdk generate csv, but updates will not occur in future versions. Use operator-sdk bundle create to manage operator bundle metadata. (#2755)

Removed

  • Breaking Change: remove pkg/restmapper which was deprecated in v0.14.0. Projects that use this package must switch to the DynamicRESTMapper implementation in controller-runtime. (#2544)
  • Breaking Change: remove deprecated operator-sdk generate openapi subcommand. (#2740)
  • Breaking Change: Removed CSV configuration file support (defaulting to deploy/olm-catalog/csv-config.yaml) in favor of specifying inputs to the generator via generate csv --deploy-dir --apis-dir --crd-dir, and configuring output locations via generate csv --output-dir. (#2511)

Bug Fixes

  • The Ansible Operator proxy server now properly supports the Pod exec API (#2716)
  • Resources that use '-' in the APIGroup name can now be directly accessed by Ansible. (#2712)
  • Fixed issue in CSV generation that caused an incorrect path to be generated for descriptors on types that are fields in array elements. (#2721)
  • The test framework pkg/test no longer double-registers the --kubeconfig flag. Related bug: kubernetes-sigs/controller-runtime#878. (#2731)
  • The command operator-sdk generate k8s no longer requires users to explicitly set GOROOT in their environment. Now, GOROOT is detected using go env GOROOT and set automatically. (#2754)
  • operator-sdk generate csv and operator-sdk test local now parse multi-manifest files correctly. (#2758)
  • Fixed CRD validation generation issue with status.Conditions. (#2739)
  • Fix issue faced in the reconciliation when arrays are used in the config YAML files for Helm based-operators. (#2777)
  • Fixed issue in helm-operator where empty resource in release manifest caused failures while setting up watches for dependent resources. (#2831)

Note: