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/04-For Operators/03-deployment-guide.mdx b/versioned_docs/version-v0.22/04-For Operators/03-deployment-guide.mdx index ce58e0e0..b42851f3 100644 --- a/versioned_docs/version-v0.22/04-For Operators/03-deployment-guide.mdx +++ b/versioned_docs/version-v0.22/04-For Operators/03-deployment-guide.mdx @@ -573,7 +573,7 @@ The Edgerouters has to fulfill some requirements including: ### Management Servers -The second bastion hosts are the management servers. They are the main bootstrapping components of the Out-Of-Band-Network. They also act as jump hosts for all components in a partition. Once they are installed and deployed, we are able to bootstrap all the other components. To bootstrap the management servers, we generate an ISO image which will automatically install an OS and an ansible user with ssh keys. It is preconfigured with a preseed file to allow an unattended OS installation for our needs. This is why we need remote access to the IPMI interface of the management servers: The generated ISO is attached via the virtual media function of the BMC. After that, all we have to do is boot from that virtual CD-ROM and wait for the installation to finish. Deployment jobs (Gitlab-CI) in a partition are delegated to the appropriate management servers, therefore we need a CI runner active on each management server. +The second bastion hosts are the management servers. They are the main bootstrapping components of the Out-Of-Band-Network. They also act as jump hosts for all components in a partition. Once they are installed and deployed, we are able to bootstrap all the other components. To bootstrap the management servers, we generate an [ISO](https://github.com/metal-stack/bootstrap-debian) image which will automatically install an OS and an ansible user with ssh keys. It is preconfigured with a preseed file to allow an unattended OS installation for our needs. This is why we need remote access to the IPMI interface of the management servers: The generated [ISO](https://github.com/metal-stack/bootstrap-debian) is attached via the virtual media function of the BMC. After that, all we have to do is boot from that virtual CD-ROM and wait for the installation to finish. Deployment jobs (Gitlab-CI) in a partition are delegated to the appropriate management servers, therefore we need a CI runner active on each management server. After the CI runner has been installed, you can trigger your Playbooks from the the CI. The Ansible-Playbooks have to make sure that these functionalities are present on the management servers: 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 -