v0.85.0
Changes
Enhancement
- BindAddress used by handler's metrics server can now be customized in the NMstate CRD as Spec.MetricsConfiguration.BindAddress. It's default value is
:8089. (#1368, @mkowalski) - Introduce
/review-api-changesAI agent command used for reviewing API changes for compliance with Kubernetes API best practices. (#1379, @mkowalski) - Operator now ships with a default set of network policies to limit the allowed network connectivity (#1337, @mkowalski)
- The NNCP reconcile will now retry applying failing NNCE with an exponential backoff (initial backoff 1s; maximum backoff 30s; 5 retries limit [retries until NNCE have failed 5 times with previous mentioned backoff strategy]). (#1370, @emy)
- The NNCP status will indicate status
Ignoredwhen no node is matching the node selector. (#1362, @emy) - The handler pod now mounts /etc/systemd/network to enable persistence of interface alternative names via systemd .link files. This ensures alternative names are available during early boot, not just after the handler pod starts following a node reboot. This enhancement supports the interface alternative name feature (https://nmstate.io/features/alt-name.html) introduced in nmstate 2.2.51. (#1390, @cgoncalves)
Bug or Regression
- Custom labels and annotations on the namespace are no longer dropped when starting nmstate-operator pod. (#1357, @mkowalski)
- Don't reset NNCE conditions on update (#1391, @qinqon)
- Fix NodeNetworkConfigurationPolicy Progressing condition to use consistent reason when policy is successfully applied (#1347, @qinqon)
- Node selector limiting deployment to a single architecture has been removed. Pods will now try to run on every node in the cluster. In rare cases when this is undesired, custom nodeSelector field in NMstate CR can be set. (#1375, @mkowalski)
- Prevent non mandatory mutating webhooks from making network configuration fail (#1387, @qinqon)
Uncategorized
- Adds LogLevel field to NMState CR enabling runtime control of nmstate verbosity. Users can now switch between info (minimal logging) and debug (verbose logging) modes without requiring image rebuilds or pod restarts. (#1358, @qinqon)
- Crd: implement NMState CRD status subresource (#1334, @qinqon)
- Fix nmstate-console-plugin NetworkPolicy (#1374, @orenc1)
- Increased memory limits for multiple containers from 128Mi to 1Gi. (#1352, @mkowalski)
- When requeueing NNCPs, they will now be applied in the alphanumerical order instead of the random order. (#1346, @mkowalski)
Installation
First, install kubernetes-nmstate operator:
kubectl apply -f https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.85.0/nmstate.io_nmstates.yaml
kubectl apply -f https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.85.0/namespace.yaml
kubectl apply -f https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.85.0/service_account.yaml
kubectl apply -f https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.85.0/role.yaml
kubectl apply -f https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.85.0/role_binding.yaml
kubectl apply -f https://github.com/nmstate/kubernetes-nmstate/releases/download/v0.85.0/operator.yaml
Once that's done, create an NMState CR, triggering deployment of
kubernetes-nmstate handler:
cat <<EOF | kubectl create -f -
apiVersion: nmstate.io/v1
kind: NMState
metadata:
name: nmstate
EOF