diff --git a/docs/07-Release Notes/v0.22/v0.22.0.md b/docs/07-Release Notes/v0.22/v0.22.0.md index 9e6aa5da..abf8adff 100644 --- a/docs/07-Release Notes/v0.22/v0.22.0.md +++ b/docs/07-Release Notes/v0.22/v0.22.0.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.0 title: v0.22.0 -sidebar_position: 20 +sidebar_position: 21 --- # metal-stack v0.22.0 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.0](https://github.com/metal-stack/releases/releases/tag/v0.22.0) diff --git a/docs/07-Release Notes/v0.22/v0.22.1.md b/docs/07-Release Notes/v0.22/v0.22.1.md index 5c382f9d..4dec9fbf 100644 --- a/docs/07-Release Notes/v0.22/v0.22.1.md +++ b/docs/07-Release Notes/v0.22/v0.22.1.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.1 title: v0.22.1 -sidebar_position: 19 +sidebar_position: 20 --- # metal-stack v0.22.1 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.1](https://github.com/metal-stack/releases/releases/tag/v0.22.1) diff --git a/docs/07-Release Notes/v0.22/v0.22.10.md b/docs/07-Release Notes/v0.22/v0.22.10.md index 45215955..4c1c6f50 100644 --- a/docs/07-Release Notes/v0.22/v0.22.10.md +++ b/docs/07-Release Notes/v0.22/v0.22.10.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.10 title: v0.22.10 -sidebar_position: 10 +sidebar_position: 11 --- # metal-stack v0.22.10 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.10](https://github.com/metal-stack/releases/releases/tag/v0.22.10) diff --git a/docs/07-Release Notes/v0.22/v0.22.11.md b/docs/07-Release Notes/v0.22/v0.22.11.md index 760ef11a..f013a04d 100644 --- a/docs/07-Release Notes/v0.22/v0.22.11.md +++ b/docs/07-Release Notes/v0.22/v0.22.11.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.11 title: v0.22.11 -sidebar_position: 9 +sidebar_position: 10 --- # metal-stack v0.22.11 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.11](https://github.com/metal-stack/releases/releases/tag/v0.22.11) diff --git a/docs/07-Release Notes/v0.22/v0.22.12.md b/docs/07-Release Notes/v0.22/v0.22.12.md index 29e9419a..1759dba0 100644 --- a/docs/07-Release Notes/v0.22/v0.22.12.md +++ b/docs/07-Release Notes/v0.22/v0.22.12.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.12 title: v0.22.12 -sidebar_position: 8 +sidebar_position: 9 --- # metal-stack v0.22.12 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.12](https://github.com/metal-stack/releases/releases/tag/v0.22.12) diff --git a/docs/07-Release Notes/v0.22/v0.22.13.md b/docs/07-Release Notes/v0.22/v0.22.13.md index b45e6685..258400cd 100644 --- a/docs/07-Release Notes/v0.22/v0.22.13.md +++ b/docs/07-Release Notes/v0.22/v0.22.13.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.13 title: v0.22.13 -sidebar_position: 7 +sidebar_position: 8 --- # metal-stack v0.22.13 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.13](https://github.com/metal-stack/releases/releases/tag/v0.22.13) diff --git a/docs/07-Release Notes/v0.22/v0.22.14.md b/docs/07-Release Notes/v0.22/v0.22.14.md index f6d1a165..1076d6d2 100644 --- a/docs/07-Release Notes/v0.22/v0.22.14.md +++ b/docs/07-Release Notes/v0.22/v0.22.14.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.14 title: v0.22.14 -sidebar_position: 6 +sidebar_position: 7 --- # metal-stack v0.22.14 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.14](https://github.com/metal-stack/releases/releases/tag/v0.22.14) diff --git a/docs/07-Release Notes/v0.22/v0.22.15.md b/docs/07-Release Notes/v0.22/v0.22.15.md index 8322a65c..682f5c7f 100644 --- a/docs/07-Release Notes/v0.22/v0.22.15.md +++ b/docs/07-Release Notes/v0.22/v0.22.15.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.15 title: v0.22.15 -sidebar_position: 5 +sidebar_position: 6 --- # metal-stack v0.22.15 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.15](https://github.com/metal-stack/releases/releases/tag/v0.22.15) diff --git a/docs/07-Release Notes/v0.22/v0.22.16.md b/docs/07-Release Notes/v0.22/v0.22.16.md index 6980acff..3ee9edce 100644 --- a/docs/07-Release Notes/v0.22/v0.22.16.md +++ b/docs/07-Release Notes/v0.22/v0.22.16.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.16 title: v0.22.16 -sidebar_position: 4 +sidebar_position: 5 --- # metal-stack v0.22.16 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.16](https://github.com/metal-stack/releases/releases/tag/v0.22.16) diff --git a/docs/07-Release Notes/v0.22/v0.22.17.md b/docs/07-Release Notes/v0.22/v0.22.17.md index a38af3bb..18177087 100644 --- a/docs/07-Release Notes/v0.22/v0.22.17.md +++ b/docs/07-Release Notes/v0.22/v0.22.17.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.17 title: v0.22.17 -sidebar_position: 3 +sidebar_position: 4 --- # metal-stack v0.22.17 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.17](https://github.com/metal-stack/releases/releases/tag/v0.22.17) diff --git a/docs/07-Release Notes/v0.22/v0.22.18.md b/docs/07-Release Notes/v0.22/v0.22.18.md index a85482ce..54c99838 100644 --- a/docs/07-Release Notes/v0.22/v0.22.18.md +++ b/docs/07-Release Notes/v0.22/v0.22.18.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.18 title: v0.22.18 -sidebar_position: 2 +sidebar_position: 3 --- # metal-stack v0.22.18 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.18](https://github.com/metal-stack/releases/releases/tag/v0.22.18) @@ -24,6 +24,10 @@ See original release note at [https://github.com/metal-stack/releases/releases/t * For operators who already deployed metal-apiserver prior to this release: The field `metal_apiserver_admin_subjects` was removed and should be cleaned up. Admins are now managed through the provider tenant that is automatically ensured on startup of the metal-apiserver. ([release notes](https://github.com/metal-stack/metal-roles/releases/tag/v0.26.0)) +* In [#633](https://github.com/metal-stack/metal-roles/pull/633) changes were introduced for the s3 backend configuration used by the `backup-restore-sidecar` component. Unfortunately, the defaults for the Ansible variable `*_backup_restore_sidecar_object_max_keep` were removed in the process. +So if the corresponding `*_backup_restore_sidecar_object_max_keep` variable for the metal-stack databases (`ipam-db`, `masterdata-db`, `metal-db`) are not explicitly defined in your deployment, the backup lifecycle rule configuration might be modified unexpectedly. So before rolling out metal-stack `v0.22.18` please consider setting those variables explicitly in your deployment. If you want to use the defaults configure e.g. `ipam_db_backup_restore_sidecar_object_max_keep: 480` +The defaults will be added back again with metal-roles pull request [#699](https://github.com/metal-stack/metal-roles/pull/633). + ## Component Releases ### metal-roles v0.27.2 * ProviderTenant adoptions for metal-apiserver (metal-stack/metal-roles#642) @majst01 diff --git a/docs/07-Release Notes/v0.22/v0.22.19.md b/docs/07-Release Notes/v0.22/v0.22.19.md index b246eb99..efb550b8 100644 --- a/docs/07-Release Notes/v0.22/v0.22.19.md +++ b/docs/07-Release Notes/v0.22/v0.22.19.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.19 title: v0.22.19 -sidebar_position: 1 +sidebar_position: 2 --- # metal-stack v0.22.19 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.19](https://github.com/metal-stack/releases/releases/tag/v0.22.19) diff --git a/docs/07-Release Notes/v0.22/v0.22.2.md b/docs/07-Release Notes/v0.22/v0.22.2.md index 8d77eb74..1bf79ac0 100644 --- a/docs/07-Release Notes/v0.22/v0.22.2.md +++ b/docs/07-Release Notes/v0.22/v0.22.2.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.2 title: v0.22.2 -sidebar_position: 18 +sidebar_position: 19 --- # metal-stack v0.22.2 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.2](https://github.com/metal-stack/releases/releases/tag/v0.22.2) diff --git a/docs/07-Release Notes/v0.22/v0.22.20.md b/docs/07-Release Notes/v0.22/v0.22.20.md new file mode 100644 index 00000000..9f49eac6 --- /dev/null +++ b/docs/07-Release Notes/v0.22/v0.22.20.md @@ -0,0 +1,106 @@ +--- +slug: /release-notes/v0.22.20 +title: v0.22.20 +sidebar_position: 1 +--- +# metal-stack v0.22.20 +See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.20](https://github.com/metal-stack/releases/releases/tag/v0.22.20) +## General +* [Gardener v1.139](https://github.com/gardener/gardener/releases/tag/v1.139.0) +* This release was integration tested against the control plane that fully uses Gateway API and without anymore `Ingress` resources. We recommend to migrate to Gateway API for this release. +## Breaking Changes +* It is now possible to configure `NoncurrentDays` also via flag, as follow up from #141. The s3 backend can be configured with `NewerNoncurrentVersions` as well as `NoncurrentDays`. Both can be used together, independently or completely removed from the lifecycle rule. The always applied default for `NewerNoncurrentVersions` was removed. So make sure to configure it accordingly, if not already configured in your deployment. (metal-stack/backup-restore-sidecar#148) +## Required Actions +* ⚠️ Make sure the seed clusters are updated to at least K8s 1.32 before rolling out this Gardener release. Gardener writes that >= 1.30 seeds are supported but these lower versions cannot be reconciled because the perses-operator CRDs cannot be applied. +* The monsoon sonic-exporter was superseded and will be removed in a future release. Use gNMI instead. + More information about the migration can be found in the gnmic [README](https://github.com/metal-stack/metal-roles/blob/master/partition/roles/monitoring/gnmic/README.md). (metal-stack/metal-roles#670) +## Noteworthy +* - We now create a dedicated internal mini-lab docker network (mini_lab_internal) to enable explicit reproducible IP assignments for Service type: LoadBalancer. We reserve the 172.42.0.1/16 subnet for the mini_lab_internal network. mini-lab will manage the lifecycle of this network and will destroy it during `make down`. + + - We made changes to the certificates. If you deployed mini-lab before you need to run `make roll-certs` to update host names in the certificates. (metal-stack/mini-lab#299) +* In [#633](https://github.com/metal-stack/metal-roles/pull/633) changes were introduced for the s3 backend configuration used by the `backup-restore-sidecar` component. Unfortunately, the defaults for the Ansible variable `*_backup_restore_sidecar_object_max_keep` were removed in the process. + So if the corresponding `*_backup_restore_sidecar_object_max_keep` variable for the metal-stack databases (`ipam-db`, `masterdata-db`, `metal-db`) are not explicitly defined in your deployment, the backup lifecycle rule configuration will be modified unexpectedly. So before rolling out metal-stack `v0.22.18` please consider setting those variables explicitly in your deployment. If you want to use the defaults configure e.g. `ipam_db_backup_restore_sidecar_object_max_keep: 480` + The defaults will be added back again with metal-roles pull request [#699](https://github.com/metal-stack/metal-roles/pull/633). (metal-stack/metal-roles#699) +## Component Releases +### metal-ansible-modules v0.3.2 +* Update v2 modules to latest API. (metal-stack/metal-ansible-modules#26) @Gerrit91 +* Act on latest created resource when using identifier label. (metal-stack/metal-ansible-modules#27) @Gerrit91 +* Use abstract base class to bundle common v2 module behavior + tests (metal-stack/metal-ansible-modules#29) @Gerrit91 +### virtual-garden-kubeconfig-refresher v0.1.6 +* Use STATIC_KUBECONFIG as environment variable name (metal-stack/virtual-garden-kubeconfig-refresher#7) @simcod +### metal-roles v0.30.0 +* Deploy gardener metrics exporter again (metal-stack/metal-roles#599) @simcod +* Increase default length of metal-apiserver session secret. (metal-stack/metal-roles#674) @Gerrit91 +* Optional loki deployment (metal-stack/metal-roles#672) @simcod +* Enable TLS verification by default (metal-stack/metal-roles#677) @simcod +* fix(alloy): allow setting docker network (metal-stack/metal-roles#676) @ma-hartma +* Adaptions for g/g v1.139. (metal-stack/metal-roles#682) @Gerrit91 +* sonic-exporter to gnmic migration (metal-stack/metal-roles#670) @Sven-Ric, @Gerrit91 +* feat(monitoring): allow separate ingress annotations for grafana and alertmanager (metal-stack/metal-roles#685) @ma-hartma +* Update partition-proxy image tag. (metal-stack/metal-roles#686) @Gerrit91 +* Add missing s3 object max keep backup lifecycle defaults (metal-stack/metal-roles#699) @simcod +* Enable vpn in metal-apiserver (metal-stack/metal-roles#687) @majst01 +* mgmt-server: render ssh_config hosts in stable order (metal-stack/metal-roles#689) @GeertJohan +* mgmt-server: escape the pubkey in the authorized_keys regexp (metal-stack/metal-roles#690) @GeertJohan +* Fix handler notify/listen case mismatches (metal-stack/metal-roles#692) @GeertJohan +### backup-restore-sidecar v0.14.0 +* fix: do not remove redis dump #145 (metal-stack/backup-restore-sidecar#146) @vknabel +* Replace s3/manager with s3/transfermanager (metal-stack/backup-restore-sidecar#147) @simcod +* Make NewerNoncurrentVersions optional in lifecycle policy for s3 backend (metal-stack/backup-restore-sidecar#148) @simcod +### helm-charts v0.7.7 +* Enable TLS verification by default (metal-stack/helm-charts#172) @simcod +* Enable vpn in metal-apiserver (metal-stack/helm-charts#173) @majst01 +* Modify Postgres pg_stat_statement query (metal-stack/helm-charts#171) @emekaponw, @eberlep +### metal-apiserver v0.9.1 +* Enable TLS verification by default (metal-stack/metal-apiserver#278) @simcod +### api v0.4.4 +* Update typescript dependencies (metal-stack/api#169) @majst01 +* Add test interceptor to Python client. (metal-stack/api#170) @Gerrit91 +* Add missing update labels for images. (metal-stack/api#172) @Gerrit91 +### tenant-apiserver v0.1.1 +* Create v7 uuids for resources. (metal-stack/tenant-apiserver#5) @Gerrit91 +### metal-hammer v0.15.2 +* Strict error checking on umount, report back to metal-api (metal-stack/metal-hammer#190) @majst01 +* build with go-hal@add-H13SSH (metal-stack/metal-hammer#184) @mwennrich +* Fix chrony config of firewalls (metal-stack/metal-hammer#192) @majst01 +### mini-lab v0.7.0 +* feat: add gateway-api support (metal-stack/mini-lab#299) @l0wl3vel +* Raise Garden cluster K8s version to 1.35. (metal-stack/mini-lab#323) @Gerrit91 +* Disable metal-apiserver TLS verification (metal-stack/mini-lab#319) @simcod +* Add a make target to export admin editor token (metal-stack/mini-lab#314) @majst01 +* Example for metal-roles override (metal-stack/mini-lab#313) @simcod +* Fix route reconciliation by enabling fpm (metal-stack/mini-lab#315) @l0wl3vel +* Latest adaptions for MEP-4. (metal-stack/mini-lab#311) @Gerrit91 +* Export metal-apiserver url (metal-stack/mini-lab#307) @majst01 +### duros-controller v0.12.2 +* Update lb-csi and csi sidecars (metal-stack/duros-controller#102) @majst01 +### gardener-extension-ontap v0.2.21 +* Documentation ontap (metal-stack/gardener-extension-ontap#98) @Honigeintopf +* Update go dependencies and ci actions (metal-stack/gardener-extension-ontap#99) @majst01 +* provide ontap VolumeSnapshotClass (metal-stack/gardener-extension-ontap#97) @mwennrich +* use dedicated names for snapshot-controller rbac, to not collide with existing rbac (metal-stack/gardener-extension-ontap#96) @mwennrich +# Merged Pull Requests +This is a list of pull requests that were merged since the last release. The list does not contain pull requests from release-vector-repositories. + +The fact that these pull requests were merged does not necessarily imply that they have already become part of this metal-stack release. + +* Update ubuntu kernel to 6.18.40 (metal-stack/metal-images#431) @majst01 +* Better support for protoyaml (printer and multi-document reader) (metal-stack/metal-lib#210) @Gerrit91 +* Bump releases to version v0.22.19 (metal-stack/website#329) @metal-robot[bot] +* chore(deps): bump the docusaurus-dependencies group with 4 updates (metal-stack/website#330) @dependabot[bot] +* chore(deps): bump the other-dependencies group across 1 directory with 4 updates (metal-stack/website#331) @dependabot[bot] +* Use protoyaml for edit command (metal-stack/metal-lib#212) @Gerrit91 +* Use protoyaml for everything by default and update to latest API (metal-stack/cli#38) @Gerrit91 +* Partition (metal-stack/cli#19) @majst01 +* Update containerd on debian (metal-stack/metal-images#425) @majst01 +* Remove iptables and fever (metal-stack/metal-images#432) @majst01 +* Generate admin docs. (metal-stack/cli#43) @Gerrit91 +* Admin token create (metal-stack/cli#41) @majst01 +* Unify update meta and labels + slight refactorings. (metal-stack/cli#42) @Gerrit91 +* Add gnmic to the release vector (metal-stack/releases#313) @Sven-Ric +* VPN commands. (metal-stack/cli#44) @Gerrit91 +* Fix empty chrony config if ntpservers is empty (metal-stack/os-installer#9) @majst01 +* Network commands (metal-stack/cli#45) @Gerrit91 +* cleanup completions (metal-stack/cli#46) @majst01 +* Debian kernel 6.12.100 (metal-stack/metal-images#434) @majst01 +* Next release (metal-stack/releases#310) @metal-robot[bot] \ No newline at end of file diff --git a/docs/07-Release Notes/v0.22/v0.22.3.md b/docs/07-Release Notes/v0.22/v0.22.3.md index aab30d06..39696538 100644 --- a/docs/07-Release Notes/v0.22/v0.22.3.md +++ b/docs/07-Release Notes/v0.22/v0.22.3.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.3 title: v0.22.3 -sidebar_position: 17 +sidebar_position: 18 --- # metal-stack v0.22.3 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.3](https://github.com/metal-stack/releases/releases/tag/v0.22.3) diff --git a/docs/07-Release Notes/v0.22/v0.22.4.md b/docs/07-Release Notes/v0.22/v0.22.4.md index 05aafd78..16e81499 100644 --- a/docs/07-Release Notes/v0.22/v0.22.4.md +++ b/docs/07-Release Notes/v0.22/v0.22.4.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.4 title: v0.22.4 -sidebar_position: 16 +sidebar_position: 17 --- # metal-stack v0.22.4 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.4](https://github.com/metal-stack/releases/releases/tag/v0.22.4) diff --git a/docs/07-Release Notes/v0.22/v0.22.5.md b/docs/07-Release Notes/v0.22/v0.22.5.md index 82a0d7f5..8e52ad97 100644 --- a/docs/07-Release Notes/v0.22/v0.22.5.md +++ b/docs/07-Release Notes/v0.22/v0.22.5.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.5 title: v0.22.5 -sidebar_position: 15 +sidebar_position: 16 --- # metal-stack v0.22.5 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.5](https://github.com/metal-stack/releases/releases/tag/v0.22.5) diff --git a/docs/07-Release Notes/v0.22/v0.22.6.md b/docs/07-Release Notes/v0.22/v0.22.6.md index 263c5601..13f4e90b 100644 --- a/docs/07-Release Notes/v0.22/v0.22.6.md +++ b/docs/07-Release Notes/v0.22/v0.22.6.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.6 title: v0.22.6 -sidebar_position: 14 +sidebar_position: 15 --- # metal-stack v0.22.6 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.6](https://github.com/metal-stack/releases/releases/tag/v0.22.6) diff --git a/docs/07-Release Notes/v0.22/v0.22.7.md b/docs/07-Release Notes/v0.22/v0.22.7.md index c482ee8c..ba2b5a64 100644 --- a/docs/07-Release Notes/v0.22/v0.22.7.md +++ b/docs/07-Release Notes/v0.22/v0.22.7.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.7 title: v0.22.7 -sidebar_position: 13 +sidebar_position: 14 --- # metal-stack v0.22.7 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.7](https://github.com/metal-stack/releases/releases/tag/v0.22.7) diff --git a/docs/07-Release Notes/v0.22/v0.22.8.md b/docs/07-Release Notes/v0.22/v0.22.8.md index 082bb8cc..0a781247 100644 --- a/docs/07-Release Notes/v0.22/v0.22.8.md +++ b/docs/07-Release Notes/v0.22/v0.22.8.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.8 title: v0.22.8 -sidebar_position: 12 +sidebar_position: 13 --- # metal-stack v0.22.8 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.8](https://github.com/metal-stack/releases/releases/tag/v0.22.8) diff --git a/docs/07-Release Notes/v0.22/v0.22.9.md b/docs/07-Release Notes/v0.22/v0.22.9.md index cda990f2..09ca0a9e 100644 --- a/docs/07-Release Notes/v0.22/v0.22.9.md +++ b/docs/07-Release Notes/v0.22/v0.22.9.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.9 title: v0.22.9 -sidebar_position: 11 +sidebar_position: 12 --- # metal-stack v0.22.9 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.9](https://github.com/metal-stack/releases/releases/tag/v0.22.9) diff --git a/docs/08-References/Deployment/mini-lab/assets/overview.drawio.svg b/docs/08-References/Deployment/mini-lab/assets/overview.drawio.svg index 227918ec..377bfcfb 100644 --- a/docs/08-References/Deployment/mini-lab/assets/overview.drawio.svg +++ b/docs/08-References/Deployment/mini-lab/assets/overview.drawio.svg @@ -1,8 +1,8 @@
linux-desktop
linux-desktop -
containerlab
+
containerlab
containerlab -
kind-cluster
+
kind-cluster
kind-cluster
metal control plane
metal control plane @@ -16,7 +16,7 @@ leaf02
metal-core
metal-core -
masterdata-api
+
masterdata-api
masterdata-api
auditing @@ -34,21 +34,23 @@ masterdata-...
mini-lab
mini-lab -
docker network 172.17.0.1/16
- docker network 172.17.0.1/16 -
Ingress-Controller (NGINX)
- Ingress-Controller (... -
machine01
+
docker network 172.42.0.1/16
+ docker network 172.42.0.1/16 +
Ingress-Controller (NGINX)
+ Ingress-C... +
machine01
machine01
exit
exit
leaf01
leaf01 -
metal-core
+
metal-core
metal-core
veth link
veth link -
+
metal-stack Gateway (Envoy Gateway)
+ metal-stack Gate... +
Text is not SVG - cannot display diff --git a/docs/08-References/Deployment/mini-lab/mini-lab.md b/docs/08-References/Deployment/mini-lab/mini-lab.md index f1a0c304..c1546918 100644 --- a/docs/08-References/Deployment/mini-lab/mini-lab.md +++ b/docs/08-References/Deployment/mini-lab/mini-lab.md @@ -20,6 +20,9 @@ This project can also be used as a template for writing your own metal-stack dep - [Known Limitations](#known-limitations) - [Try it out](#try-it-out) - [Power management](#power-management) +- [Development](#development) + - [Release vector](#release-vector) + - [Using local checkouts of dependencies](#using-local-checkouts-of-dependencies) - [Flavors](#flavors) - [Network topology](#network-topology) - [V2 Quickstart](#v2-quickstart) @@ -197,7 +200,7 @@ make power-- ``` ## Development -If you want to contribute to the _metal-stack_ project, you can use the mini-lab as a local development environment. It allows you to quickly test changes to the _metal-stack_ components without needing any external clusters or hardware. +If you want to contribute to the _metal-stack_ project, you can use the mini-lab as a local development environment. It allows you to quickly test changes to the _metal-stack_ components without needing any external clusters or hardware. You can also use it to test changes to the Ansible roles and modules used by the _metal-stack_. ### Release vector @@ -215,7 +218,7 @@ Further overrides can be looked up in `metal-roles` where the mapping is defined ### Using local checkouts of dependencies -By default, the `mini-lab` runs with pre-packaged Ansible roles and modules. +By default, the `mini-lab` runs with pre-packaged Ansible roles and modules. If you want to use local checkouts of dependencies for development, you must start the `mini-lab` with `DEV=true`: ```bash @@ -278,5 +281,5 @@ Password: Gerrit.Guest123! Zitadel Admin: -User: admin@metal-stack.zitadel.172.17.0.1.nip.io +User: admin@metal-stack.auth.172.17.0.1.nip.io Password: Password1! diff --git a/docs/08-References/Gardener/gardener-extension-ontap/README.md b/docs/08-References/Gardener/gardener-extension-ontap/README.md new file mode 100644 index 00000000..1e0c2b0f --- /dev/null +++ b/docs/08-References/Gardener/gardener-extension-ontap/README.md @@ -0,0 +1,68 @@ +--- +slug: /references/README +title: README +sidebar_position: 0 +--- + +# Gardener Extension for ONTAP Documentation + +> Technical background documentation for the extension, ONTAP, and their integration into metal-stack. + +These pages supplement the concise project overview and development instructions in the [repository README](./README.md). They can be read independently as topic-based reference material. + +--- + +## Topics + +| Topic | Content | Start here | +|-------|---------|------------| +| **NetApp ONTAP** | ONTAP concepts, HA pairs, MetroCluster, SVMs, aggregates, LIFs, NVMe/TCP, Trident, and the PVC data path | [`./././ontap-storage.md`](ontap-storage.md) | +| **Gardener Extension for ONTAP** | Activation, inputs, reconciliation, SVM and credential lifecycle, ManagedResources, shoot webhook, and cleanup boundaries | [`./././gardener-extension-ontap.md`](gardener-extension-ontap.md) | + +--- + +## Recommended Reading Paths + +### I want to understand the storage architecture + +1. [`ONTAP Storage`](ontap-storage.md) — from the physical MetroCluster to a project-specific SVM +2. [`Gardener Extension for ONTAP`](gardener-extension-ontap.md) — how the architecture is automated for a shoot cluster + +### I am investigating a provisioning failure + +1. [`Gardener Extension for ONTAP: Reconciliation`](gardener-extension-ontap.md#reconciliation) +2. [`Gardener Extension for ONTAP: State Inspection`](gardener-extension-ontap.md#state-inspection) +3. [`ONTAP Storage: Management and Data Paths`](ontap-storage.md#management-and-data-paths) + +### I am investigating a mount or I/O failure + +1. [`ONTAP Storage: From a PVC to a Volume`](ontap-storage.md#from-a-pvc-to-a-volume) +2. [`ONTAP Storage: Management and Data Paths`](ontap-storage.md#management-and-data-paths) +3. [`Gardener Extension for ONTAP: Shoot Webhook`](gardener-extension-ontap.md#shoot-webhook-and-node-preparation) + +### I am planning maintenance or cleanup + +1. [`ONTAP Storage: Failure Behavior`](ontap-storage.md#failure-behavior) +2. [`Gardener Extension for ONTAP: Delete Lifecycle`](gardener-extension-ontap.md#delete-lifecycle-and-responsibility-boundary) + +--- + +## System Overview + +![Provisioning and data paths from cluster creation to an ONTAP volume](images/ontap-provisioning-and-data-paths.png) + +The components have distinct responsibilities: + +| Component | Responsibility | +|-----------|----------------| +| **Cloud API / Metal API** | Detects the ONTAP-enabled cluster configuration and reserves project-specific LIF addresses. | +| **Gardener extension** | Establishes the desired ONTAP and shoot state. | +| **ONTAP MetroCluster** | Stores and replicates data and provides SVMs and network endpoints. | +| **Trident** | Translates Kubernetes storage operations into ONTAP operations. | +| **Kubernetes worker** | Connects the remote block device over NVMe/TCP and mounts it into the workload. | + +--- + +## Documentation Structure + +[`gardener-extension-ontap.md`](gardener-extension-ontap.md) documents the behavior of this repository and links to the relevant source paths. [`ontap-storage.md`](ontap-storage.md) describes the wider platform and storage context in which the extension operates. diff --git a/docs/08-References/Gardener/gardener-extension-ontap/assets/ontap-provisioning-and-data-paths.png b/docs/08-References/Gardener/gardener-extension-ontap/assets/ontap-provisioning-and-data-paths.png new file mode 100644 index 00000000..e69de29b diff --git a/docs/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md b/docs/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md index 68540263..b8b79502 100644 --- a/docs/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md +++ b/docs/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md @@ -10,12 +10,17 @@ This repository contains the Gardener extension controller for managing the NetA ## Table of Contents +- [Documentation](#documentation) - [Prerequisites](#prerequisites) - [Development Workflow](#development-workflow) - [Test Environment Setup](#test-environment-setup) - [Known Issues](#known-issues) - [TODO List](#todo-list) +## Documentation + +Architecture, reconciliation, credential lifecycle, data paths, and troubleshooting are documented in the [documentation index](./README.md). + ## Prerequisites - A local Gardener setup @@ -310,4 +315,3 @@ spec: - ✅ = Resource exists and is correct - ❌ = Resource missing or not functional - diff --git a/scripts/components.json b/scripts/components.json index 935cf6ac..b26e62e9 100644 --- a/scripts/components.json +++ b/scripts/components.json @@ -48,7 +48,7 @@ "releasePath": "docker-images.metal-stack.control-plane.tenant-apiserver.tag", "repo": "metal-stack/tenant-apiserver", "branch": "main", - "tag": "v0.1.0", + "tag": "v0.1.1", "position": 4, "withDocs": false }, @@ -66,7 +66,7 @@ "releasePath": "docker-images.metal-stack.control-plane.metal-apiserver.tag", "repo": "metal-stack/metal-apiserver", "branch": "main", - "tag": "v0.7.1", + "tag": "v0.9.1", "position": 6, "withDocs": true }, @@ -116,7 +116,7 @@ "releasePath": "binaries.metal-stack.metal-hammer.version", "repo": "metal-stack/metal-hammer", "branch": "main", - "tag": "v0.15.0", + "tag": "v0.15.2", "position": 4, "withDocs": false }, @@ -157,7 +157,7 @@ "releasePath": "projects.metal-stack.mini-lab.version", "repo": "metal-stack/mini-lab", "branch": "master", - "tag": "v0.6.0", + "tag": "v0.7.0", "position": 3, "withDocs": false } @@ -280,7 +280,7 @@ "releasePath": "docker-images.metal-stack.gardener.gardener-extension-ontap.tag", "repo": "metal-stack/gardener-extension-ontap", "branch": "main", - "tag": "v0.2.20", + "tag": "v0.2.21", "position": 3, "withDocs": false }, @@ -321,7 +321,7 @@ "releasePath": "docker-images.metal-stack.kubernetes.duros-controller.tag", "repo": "metal-stack/duros-controller", "branch": "main", - "tag": "v0.12.1", + "tag": "v0.12.2", "position": 2, "withDocs": false } diff --git a/src/version.json b/src/version.json index cf57fc5e..b6906586 100644 --- a/src/version.json +++ b/src/version.json @@ -1 +1 @@ -{"version": "v0.22.19"} +{"version": "v0.22.20"} diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.0.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.0.md index 9e6aa5da..abf8adff 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.0.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.0.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.0 title: v0.22.0 -sidebar_position: 20 +sidebar_position: 21 --- # metal-stack v0.22.0 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.0](https://github.com/metal-stack/releases/releases/tag/v0.22.0) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.1.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.1.md index 5c382f9d..4dec9fbf 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.1.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.1.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.1 title: v0.22.1 -sidebar_position: 19 +sidebar_position: 20 --- # metal-stack v0.22.1 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.1](https://github.com/metal-stack/releases/releases/tag/v0.22.1) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.10.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.10.md index 45215955..4c1c6f50 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.10.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.10.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.10 title: v0.22.10 -sidebar_position: 10 +sidebar_position: 11 --- # metal-stack v0.22.10 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.10](https://github.com/metal-stack/releases/releases/tag/v0.22.10) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.11.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.11.md index 760ef11a..f013a04d 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.11.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.11.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.11 title: v0.22.11 -sidebar_position: 9 +sidebar_position: 10 --- # metal-stack v0.22.11 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.11](https://github.com/metal-stack/releases/releases/tag/v0.22.11) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.12.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.12.md index 29e9419a..1759dba0 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.12.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.12.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.12 title: v0.22.12 -sidebar_position: 8 +sidebar_position: 9 --- # metal-stack v0.22.12 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.12](https://github.com/metal-stack/releases/releases/tag/v0.22.12) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.13.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.13.md index b45e6685..258400cd 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.13.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.13.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.13 title: v0.22.13 -sidebar_position: 7 +sidebar_position: 8 --- # metal-stack v0.22.13 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.13](https://github.com/metal-stack/releases/releases/tag/v0.22.13) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.14.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.14.md index f6d1a165..1076d6d2 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.14.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.14.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.14 title: v0.22.14 -sidebar_position: 6 +sidebar_position: 7 --- # metal-stack v0.22.14 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.14](https://github.com/metal-stack/releases/releases/tag/v0.22.14) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.15.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.15.md index 8322a65c..682f5c7f 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.15.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.15.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.15 title: v0.22.15 -sidebar_position: 5 +sidebar_position: 6 --- # metal-stack v0.22.15 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.15](https://github.com/metal-stack/releases/releases/tag/v0.22.15) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.16.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.16.md index 6980acff..3ee9edce 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.16.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.16.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.16 title: v0.22.16 -sidebar_position: 4 +sidebar_position: 5 --- # metal-stack v0.22.16 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.16](https://github.com/metal-stack/releases/releases/tag/v0.22.16) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.17.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.17.md index a38af3bb..18177087 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.17.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.17.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.17 title: v0.22.17 -sidebar_position: 3 +sidebar_position: 4 --- # metal-stack v0.22.17 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.17](https://github.com/metal-stack/releases/releases/tag/v0.22.17) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.18.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.18.md index a85482ce..54c99838 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.18.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.18.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.18 title: v0.22.18 -sidebar_position: 2 +sidebar_position: 3 --- # metal-stack v0.22.18 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.18](https://github.com/metal-stack/releases/releases/tag/v0.22.18) @@ -24,6 +24,10 @@ See original release note at [https://github.com/metal-stack/releases/releases/t * For operators who already deployed metal-apiserver prior to this release: The field `metal_apiserver_admin_subjects` was removed and should be cleaned up. Admins are now managed through the provider tenant that is automatically ensured on startup of the metal-apiserver. ([release notes](https://github.com/metal-stack/metal-roles/releases/tag/v0.26.0)) +* In [#633](https://github.com/metal-stack/metal-roles/pull/633) changes were introduced for the s3 backend configuration used by the `backup-restore-sidecar` component. Unfortunately, the defaults for the Ansible variable `*_backup_restore_sidecar_object_max_keep` were removed in the process. +So if the corresponding `*_backup_restore_sidecar_object_max_keep` variable for the metal-stack databases (`ipam-db`, `masterdata-db`, `metal-db`) are not explicitly defined in your deployment, the backup lifecycle rule configuration might be modified unexpectedly. So before rolling out metal-stack `v0.22.18` please consider setting those variables explicitly in your deployment. If you want to use the defaults configure e.g. `ipam_db_backup_restore_sidecar_object_max_keep: 480` +The defaults will be added back again with metal-roles pull request [#699](https://github.com/metal-stack/metal-roles/pull/633). + ## Component Releases ### metal-roles v0.27.2 * ProviderTenant adoptions for metal-apiserver (metal-stack/metal-roles#642) @majst01 diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.19.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.19.md index b246eb99..efb550b8 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.19.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.19.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.19 title: v0.22.19 -sidebar_position: 1 +sidebar_position: 2 --- # metal-stack v0.22.19 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.19](https://github.com/metal-stack/releases/releases/tag/v0.22.19) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.2.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.2.md index 8d77eb74..1bf79ac0 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.2.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.2.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.2 title: v0.22.2 -sidebar_position: 18 +sidebar_position: 19 --- # metal-stack v0.22.2 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.2](https://github.com/metal-stack/releases/releases/tag/v0.22.2) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.20.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.20.md new file mode 100644 index 00000000..9f49eac6 --- /dev/null +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.20.md @@ -0,0 +1,106 @@ +--- +slug: /release-notes/v0.22.20 +title: v0.22.20 +sidebar_position: 1 +--- +# metal-stack v0.22.20 +See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.20](https://github.com/metal-stack/releases/releases/tag/v0.22.20) +## General +* [Gardener v1.139](https://github.com/gardener/gardener/releases/tag/v1.139.0) +* This release was integration tested against the control plane that fully uses Gateway API and without anymore `Ingress` resources. We recommend to migrate to Gateway API for this release. +## Breaking Changes +* It is now possible to configure `NoncurrentDays` also via flag, as follow up from #141. The s3 backend can be configured with `NewerNoncurrentVersions` as well as `NoncurrentDays`. Both can be used together, independently or completely removed from the lifecycle rule. The always applied default for `NewerNoncurrentVersions` was removed. So make sure to configure it accordingly, if not already configured in your deployment. (metal-stack/backup-restore-sidecar#148) +## Required Actions +* ⚠️ Make sure the seed clusters are updated to at least K8s 1.32 before rolling out this Gardener release. Gardener writes that >= 1.30 seeds are supported but these lower versions cannot be reconciled because the perses-operator CRDs cannot be applied. +* The monsoon sonic-exporter was superseded and will be removed in a future release. Use gNMI instead. + More information about the migration can be found in the gnmic [README](https://github.com/metal-stack/metal-roles/blob/master/partition/roles/monitoring/gnmic/README.md). (metal-stack/metal-roles#670) +## Noteworthy +* - We now create a dedicated internal mini-lab docker network (mini_lab_internal) to enable explicit reproducible IP assignments for Service type: LoadBalancer. We reserve the 172.42.0.1/16 subnet for the mini_lab_internal network. mini-lab will manage the lifecycle of this network and will destroy it during `make down`. + + - We made changes to the certificates. If you deployed mini-lab before you need to run `make roll-certs` to update host names in the certificates. (metal-stack/mini-lab#299) +* In [#633](https://github.com/metal-stack/metal-roles/pull/633) changes were introduced for the s3 backend configuration used by the `backup-restore-sidecar` component. Unfortunately, the defaults for the Ansible variable `*_backup_restore_sidecar_object_max_keep` were removed in the process. + So if the corresponding `*_backup_restore_sidecar_object_max_keep` variable for the metal-stack databases (`ipam-db`, `masterdata-db`, `metal-db`) are not explicitly defined in your deployment, the backup lifecycle rule configuration will be modified unexpectedly. So before rolling out metal-stack `v0.22.18` please consider setting those variables explicitly in your deployment. If you want to use the defaults configure e.g. `ipam_db_backup_restore_sidecar_object_max_keep: 480` + The defaults will be added back again with metal-roles pull request [#699](https://github.com/metal-stack/metal-roles/pull/633). (metal-stack/metal-roles#699) +## Component Releases +### metal-ansible-modules v0.3.2 +* Update v2 modules to latest API. (metal-stack/metal-ansible-modules#26) @Gerrit91 +* Act on latest created resource when using identifier label. (metal-stack/metal-ansible-modules#27) @Gerrit91 +* Use abstract base class to bundle common v2 module behavior + tests (metal-stack/metal-ansible-modules#29) @Gerrit91 +### virtual-garden-kubeconfig-refresher v0.1.6 +* Use STATIC_KUBECONFIG as environment variable name (metal-stack/virtual-garden-kubeconfig-refresher#7) @simcod +### metal-roles v0.30.0 +* Deploy gardener metrics exporter again (metal-stack/metal-roles#599) @simcod +* Increase default length of metal-apiserver session secret. (metal-stack/metal-roles#674) @Gerrit91 +* Optional loki deployment (metal-stack/metal-roles#672) @simcod +* Enable TLS verification by default (metal-stack/metal-roles#677) @simcod +* fix(alloy): allow setting docker network (metal-stack/metal-roles#676) @ma-hartma +* Adaptions for g/g v1.139. (metal-stack/metal-roles#682) @Gerrit91 +* sonic-exporter to gnmic migration (metal-stack/metal-roles#670) @Sven-Ric, @Gerrit91 +* feat(monitoring): allow separate ingress annotations for grafana and alertmanager (metal-stack/metal-roles#685) @ma-hartma +* Update partition-proxy image tag. (metal-stack/metal-roles#686) @Gerrit91 +* Add missing s3 object max keep backup lifecycle defaults (metal-stack/metal-roles#699) @simcod +* Enable vpn in metal-apiserver (metal-stack/metal-roles#687) @majst01 +* mgmt-server: render ssh_config hosts in stable order (metal-stack/metal-roles#689) @GeertJohan +* mgmt-server: escape the pubkey in the authorized_keys regexp (metal-stack/metal-roles#690) @GeertJohan +* Fix handler notify/listen case mismatches (metal-stack/metal-roles#692) @GeertJohan +### backup-restore-sidecar v0.14.0 +* fix: do not remove redis dump #145 (metal-stack/backup-restore-sidecar#146) @vknabel +* Replace s3/manager with s3/transfermanager (metal-stack/backup-restore-sidecar#147) @simcod +* Make NewerNoncurrentVersions optional in lifecycle policy for s3 backend (metal-stack/backup-restore-sidecar#148) @simcod +### helm-charts v0.7.7 +* Enable TLS verification by default (metal-stack/helm-charts#172) @simcod +* Enable vpn in metal-apiserver (metal-stack/helm-charts#173) @majst01 +* Modify Postgres pg_stat_statement query (metal-stack/helm-charts#171) @emekaponw, @eberlep +### metal-apiserver v0.9.1 +* Enable TLS verification by default (metal-stack/metal-apiserver#278) @simcod +### api v0.4.4 +* Update typescript dependencies (metal-stack/api#169) @majst01 +* Add test interceptor to Python client. (metal-stack/api#170) @Gerrit91 +* Add missing update labels for images. (metal-stack/api#172) @Gerrit91 +### tenant-apiserver v0.1.1 +* Create v7 uuids for resources. (metal-stack/tenant-apiserver#5) @Gerrit91 +### metal-hammer v0.15.2 +* Strict error checking on umount, report back to metal-api (metal-stack/metal-hammer#190) @majst01 +* build with go-hal@add-H13SSH (metal-stack/metal-hammer#184) @mwennrich +* Fix chrony config of firewalls (metal-stack/metal-hammer#192) @majst01 +### mini-lab v0.7.0 +* feat: add gateway-api support (metal-stack/mini-lab#299) @l0wl3vel +* Raise Garden cluster K8s version to 1.35. (metal-stack/mini-lab#323) @Gerrit91 +* Disable metal-apiserver TLS verification (metal-stack/mini-lab#319) @simcod +* Add a make target to export admin editor token (metal-stack/mini-lab#314) @majst01 +* Example for metal-roles override (metal-stack/mini-lab#313) @simcod +* Fix route reconciliation by enabling fpm (metal-stack/mini-lab#315) @l0wl3vel +* Latest adaptions for MEP-4. (metal-stack/mini-lab#311) @Gerrit91 +* Export metal-apiserver url (metal-stack/mini-lab#307) @majst01 +### duros-controller v0.12.2 +* Update lb-csi and csi sidecars (metal-stack/duros-controller#102) @majst01 +### gardener-extension-ontap v0.2.21 +* Documentation ontap (metal-stack/gardener-extension-ontap#98) @Honigeintopf +* Update go dependencies and ci actions (metal-stack/gardener-extension-ontap#99) @majst01 +* provide ontap VolumeSnapshotClass (metal-stack/gardener-extension-ontap#97) @mwennrich +* use dedicated names for snapshot-controller rbac, to not collide with existing rbac (metal-stack/gardener-extension-ontap#96) @mwennrich +# Merged Pull Requests +This is a list of pull requests that were merged since the last release. The list does not contain pull requests from release-vector-repositories. + +The fact that these pull requests were merged does not necessarily imply that they have already become part of this metal-stack release. + +* Update ubuntu kernel to 6.18.40 (metal-stack/metal-images#431) @majst01 +* Better support for protoyaml (printer and multi-document reader) (metal-stack/metal-lib#210) @Gerrit91 +* Bump releases to version v0.22.19 (metal-stack/website#329) @metal-robot[bot] +* chore(deps): bump the docusaurus-dependencies group with 4 updates (metal-stack/website#330) @dependabot[bot] +* chore(deps): bump the other-dependencies group across 1 directory with 4 updates (metal-stack/website#331) @dependabot[bot] +* Use protoyaml for edit command (metal-stack/metal-lib#212) @Gerrit91 +* Use protoyaml for everything by default and update to latest API (metal-stack/cli#38) @Gerrit91 +* Partition (metal-stack/cli#19) @majst01 +* Update containerd on debian (metal-stack/metal-images#425) @majst01 +* Remove iptables and fever (metal-stack/metal-images#432) @majst01 +* Generate admin docs. (metal-stack/cli#43) @Gerrit91 +* Admin token create (metal-stack/cli#41) @majst01 +* Unify update meta and labels + slight refactorings. (metal-stack/cli#42) @Gerrit91 +* Add gnmic to the release vector (metal-stack/releases#313) @Sven-Ric +* VPN commands. (metal-stack/cli#44) @Gerrit91 +* Fix empty chrony config if ntpservers is empty (metal-stack/os-installer#9) @majst01 +* Network commands (metal-stack/cli#45) @Gerrit91 +* cleanup completions (metal-stack/cli#46) @majst01 +* Debian kernel 6.12.100 (metal-stack/metal-images#434) @majst01 +* Next release (metal-stack/releases#310) @metal-robot[bot] \ No newline at end of file diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.3.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.3.md index aab30d06..39696538 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.3.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.3.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.3 title: v0.22.3 -sidebar_position: 17 +sidebar_position: 18 --- # metal-stack v0.22.3 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.3](https://github.com/metal-stack/releases/releases/tag/v0.22.3) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.4.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.4.md index 05aafd78..16e81499 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.4.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.4.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.4 title: v0.22.4 -sidebar_position: 16 +sidebar_position: 17 --- # metal-stack v0.22.4 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.4](https://github.com/metal-stack/releases/releases/tag/v0.22.4) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.5.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.5.md index 82a0d7f5..8e52ad97 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.5.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.5.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.5 title: v0.22.5 -sidebar_position: 15 +sidebar_position: 16 --- # metal-stack v0.22.5 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.5](https://github.com/metal-stack/releases/releases/tag/v0.22.5) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.6.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.6.md index 263c5601..13f4e90b 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.6.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.6.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.6 title: v0.22.6 -sidebar_position: 14 +sidebar_position: 15 --- # metal-stack v0.22.6 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.6](https://github.com/metal-stack/releases/releases/tag/v0.22.6) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.7.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.7.md index c482ee8c..ba2b5a64 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.7.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.7.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.7 title: v0.22.7 -sidebar_position: 13 +sidebar_position: 14 --- # metal-stack v0.22.7 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.7](https://github.com/metal-stack/releases/releases/tag/v0.22.7) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.8.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.8.md index 082bb8cc..0a781247 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.8.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.8.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.8 title: v0.22.8 -sidebar_position: 12 +sidebar_position: 13 --- # metal-stack v0.22.8 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.8](https://github.com/metal-stack/releases/releases/tag/v0.22.8) diff --git a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.9.md b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.9.md index cda990f2..09ca0a9e 100644 --- a/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.9.md +++ b/versioned_docs/version-v0.22/07-Release Notes/v0.22/v0.22.9.md @@ -1,7 +1,7 @@ --- slug: /release-notes/v0.22.9 title: v0.22.9 -sidebar_position: 11 +sidebar_position: 12 --- # metal-stack v0.22.9 See original release note at [https://github.com/metal-stack/releases/releases/tag/v0.22.9](https://github.com/metal-stack/releases/releases/tag/v0.22.9) diff --git a/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/assets/overview.drawio.svg b/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/assets/overview.drawio.svg index 227918ec..377bfcfb 100644 --- a/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/assets/overview.drawio.svg +++ b/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/assets/overview.drawio.svg @@ -1,8 +1,8 @@
linux-desktop
linux-desktop -
containerlab
+
containerlab
containerlab -
kind-cluster
+
kind-cluster
kind-cluster
metal control plane
metal control plane @@ -16,7 +16,7 @@ leaf02
metal-core
metal-core -
masterdata-api
+
masterdata-api
masterdata-api
auditing @@ -34,21 +34,23 @@ masterdata-...
mini-lab
mini-lab -
docker network 172.17.0.1/16
- docker network 172.17.0.1/16 -
Ingress-Controller (NGINX)
- Ingress-Controller (... -
machine01
+
docker network 172.42.0.1/16
+ docker network 172.42.0.1/16 +
Ingress-Controller (NGINX)
+ Ingress-C... +
machine01
machine01
exit
exit
leaf01
leaf01 -
metal-core
+
metal-core
metal-core
veth link
veth link -
+
metal-stack Gateway (Envoy Gateway)
+ metal-stack Gate... +
Text is not SVG - cannot display diff --git a/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/mini-lab.md b/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/mini-lab.md index f1a0c304..c1546918 100644 --- a/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/mini-lab.md +++ b/versioned_docs/version-v0.22/08-References/Deployment/mini-lab/mini-lab.md @@ -20,6 +20,9 @@ This project can also be used as a template for writing your own metal-stack dep - [Known Limitations](#known-limitations) - [Try it out](#try-it-out) - [Power management](#power-management) +- [Development](#development) + - [Release vector](#release-vector) + - [Using local checkouts of dependencies](#using-local-checkouts-of-dependencies) - [Flavors](#flavors) - [Network topology](#network-topology) - [V2 Quickstart](#v2-quickstart) @@ -197,7 +200,7 @@ make power-- ``` ## Development -If you want to contribute to the _metal-stack_ project, you can use the mini-lab as a local development environment. It allows you to quickly test changes to the _metal-stack_ components without needing any external clusters or hardware. +If you want to contribute to the _metal-stack_ project, you can use the mini-lab as a local development environment. It allows you to quickly test changes to the _metal-stack_ components without needing any external clusters or hardware. You can also use it to test changes to the Ansible roles and modules used by the _metal-stack_. ### Release vector @@ -215,7 +218,7 @@ Further overrides can be looked up in `metal-roles` where the mapping is defined ### Using local checkouts of dependencies -By default, the `mini-lab` runs with pre-packaged Ansible roles and modules. +By default, the `mini-lab` runs with pre-packaged Ansible roles and modules. If you want to use local checkouts of dependencies for development, you must start the `mini-lab` with `DEV=true`: ```bash @@ -278,5 +281,5 @@ Password: Gerrit.Guest123! Zitadel Admin: -User: admin@metal-stack.zitadel.172.17.0.1.nip.io +User: admin@metal-stack.auth.172.17.0.1.nip.io Password: Password1! diff --git a/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/README.md b/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/README.md new file mode 100644 index 00000000..1e0c2b0f --- /dev/null +++ b/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/README.md @@ -0,0 +1,68 @@ +--- +slug: /references/README +title: README +sidebar_position: 0 +--- + +# Gardener Extension for ONTAP Documentation + +> Technical background documentation for the extension, ONTAP, and their integration into metal-stack. + +These pages supplement the concise project overview and development instructions in the [repository README](./README.md). They can be read independently as topic-based reference material. + +--- + +## Topics + +| Topic | Content | Start here | +|-------|---------|------------| +| **NetApp ONTAP** | ONTAP concepts, HA pairs, MetroCluster, SVMs, aggregates, LIFs, NVMe/TCP, Trident, and the PVC data path | [`./././ontap-storage.md`](ontap-storage.md) | +| **Gardener Extension for ONTAP** | Activation, inputs, reconciliation, SVM and credential lifecycle, ManagedResources, shoot webhook, and cleanup boundaries | [`./././gardener-extension-ontap.md`](gardener-extension-ontap.md) | + +--- + +## Recommended Reading Paths + +### I want to understand the storage architecture + +1. [`ONTAP Storage`](ontap-storage.md) — from the physical MetroCluster to a project-specific SVM +2. [`Gardener Extension for ONTAP`](gardener-extension-ontap.md) — how the architecture is automated for a shoot cluster + +### I am investigating a provisioning failure + +1. [`Gardener Extension for ONTAP: Reconciliation`](gardener-extension-ontap.md#reconciliation) +2. [`Gardener Extension for ONTAP: State Inspection`](gardener-extension-ontap.md#state-inspection) +3. [`ONTAP Storage: Management and Data Paths`](ontap-storage.md#management-and-data-paths) + +### I am investigating a mount or I/O failure + +1. [`ONTAP Storage: From a PVC to a Volume`](ontap-storage.md#from-a-pvc-to-a-volume) +2. [`ONTAP Storage: Management and Data Paths`](ontap-storage.md#management-and-data-paths) +3. [`Gardener Extension for ONTAP: Shoot Webhook`](gardener-extension-ontap.md#shoot-webhook-and-node-preparation) + +### I am planning maintenance or cleanup + +1. [`ONTAP Storage: Failure Behavior`](ontap-storage.md#failure-behavior) +2. [`Gardener Extension for ONTAP: Delete Lifecycle`](gardener-extension-ontap.md#delete-lifecycle-and-responsibility-boundary) + +--- + +## System Overview + +![Provisioning and data paths from cluster creation to an ONTAP volume](images/ontap-provisioning-and-data-paths.png) + +The components have distinct responsibilities: + +| Component | Responsibility | +|-----------|----------------| +| **Cloud API / Metal API** | Detects the ONTAP-enabled cluster configuration and reserves project-specific LIF addresses. | +| **Gardener extension** | Establishes the desired ONTAP and shoot state. | +| **ONTAP MetroCluster** | Stores and replicates data and provides SVMs and network endpoints. | +| **Trident** | Translates Kubernetes storage operations into ONTAP operations. | +| **Kubernetes worker** | Connects the remote block device over NVMe/TCP and mounts it into the workload. | + +--- + +## Documentation Structure + +[`gardener-extension-ontap.md`](gardener-extension-ontap.md) documents the behavior of this repository and links to the relevant source paths. [`ontap-storage.md`](ontap-storage.md) describes the wider platform and storage context in which the extension operates. diff --git a/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/assets/ontap-provisioning-and-data-paths.png b/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/assets/ontap-provisioning-and-data-paths.png new file mode 100644 index 00000000..e69de29b diff --git a/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md b/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md index 68540263..b8b79502 100644 --- a/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md +++ b/versioned_docs/version-v0.22/08-References/Gardener/gardener-extension-ontap/gardener-extension-ontap.md @@ -10,12 +10,17 @@ This repository contains the Gardener extension controller for managing the NetA ## Table of Contents +- [Documentation](#documentation) - [Prerequisites](#prerequisites) - [Development Workflow](#development-workflow) - [Test Environment Setup](#test-environment-setup) - [Known Issues](#known-issues) - [TODO List](#todo-list) +## Documentation + +Architecture, reconciliation, credential lifecycle, data paths, and troubleshooting are documented in the [documentation index](./README.md). + ## Prerequisites - A local Gardener setup @@ -310,4 +315,3 @@ spec: - ✅ = Resource exists and is correct - ❌ = Resource missing or not functional -