From b11ffd8ddde1aa1bc9f8fbad3bdabc0f288fb15c Mon Sep 17 00:00:00 2001 From: ushabelgur Date: Tue, 22 Oct 2024 13:47:21 +0530 Subject: [PATCH] refactoring with ephemeral objects --- .../loadbalancer-public/kustomization.yaml | 8 +--- .../bases/loadbalancer-public/machine.yaml | 20 ---------- .../bases/loadbalancer-public/machine1.yaml | 40 +++++++++++++++++++ .../bases/loadbalancer-public/machine2.yaml | 38 +++++++++++++----- .../loadbalancer-public/networkinterface.yaml | 16 -------- .../networkinterface2.yaml | 16 -------- .../bases/loadbalancer-public/virtualIP.yaml | 7 ---- .../bases/loadbalancer-public/virtualIP2.yaml | 7 ---- .../e2e/bases/loadbalancer-public/volume.yaml | 10 ----- .../bases/loadbalancer-public/volume2.yaml | 10 ----- .../samples/e2e/loadbalancer-public/README.md | 37 ++++++++--------- 11 files changed, 87 insertions(+), 122 deletions(-) delete mode 100644 config/samples/e2e/bases/loadbalancer-public/machine.yaml create mode 100644 config/samples/e2e/bases/loadbalancer-public/machine1.yaml delete mode 100644 config/samples/e2e/bases/loadbalancer-public/networkinterface.yaml delete mode 100644 config/samples/e2e/bases/loadbalancer-public/networkinterface2.yaml delete mode 100644 config/samples/e2e/bases/loadbalancer-public/virtualIP.yaml delete mode 100644 config/samples/e2e/bases/loadbalancer-public/virtualIP2.yaml delete mode 100644 config/samples/e2e/bases/loadbalancer-public/volume.yaml delete mode 100644 config/samples/e2e/bases/loadbalancer-public/volume2.yaml diff --git a/config/samples/e2e/bases/loadbalancer-public/kustomization.yaml b/config/samples/e2e/bases/loadbalancer-public/kustomization.yaml index 520ede908..59868fe0c 100644 --- a/config/samples/e2e/bases/loadbalancer-public/kustomization.yaml +++ b/config/samples/e2e/bases/loadbalancer-public/kustomization.yaml @@ -1,11 +1,5 @@ resources: - network.yaml -- virtualIP.yaml -- virtualIP2.yaml -- networkinterface.yaml -- networkinterface2.yaml -- volume.yaml -- volume2.yaml -- machine.yaml +- machine1.yaml - machine2.yaml - loadbalancer.yaml \ No newline at end of file diff --git a/config/samples/e2e/bases/loadbalancer-public/machine.yaml b/config/samples/e2e/bases/loadbalancer-public/machine.yaml deleted file mode 100644 index 1c5af42e8..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/machine.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: compute.ironcore.dev/v1alpha1 -kind: Machine -metadata: - name: machine-sample -spec: - machineClassRef: - name: machineclass-sample - volumes: - - name: rootdisk # first disk is root disk - volumeRef: - name: volume-sample - ignitionRef: - name: ignition - key: ignition.yaml - networkInterfaces: - - name: primary - networkInterfaceRef: - name: networkinterface-sample - - diff --git a/config/samples/e2e/bases/loadbalancer-public/machine1.yaml b/config/samples/e2e/bases/loadbalancer-public/machine1.yaml new file mode 100644 index 000000000..07ea78f2f --- /dev/null +++ b/config/samples/e2e/bases/loadbalancer-public/machine1.yaml @@ -0,0 +1,40 @@ +apiVersion: compute.ironcore.dev/v1alpha1 +kind: Machine +metadata: + name: machine-sample1 +spec: + machineClassRef: + name: machineclass-sample + ignitionRef: + name: ignition + key: ignition.yaml + networkInterfaces: + - name: primary + ephemeral: + networkInterfaceTemplate: + metadata: + labels: + app: web + spec: + ipFamilies: + - IPv4 + ips: + - value: 10.0.0.1 + networkRef: + name: network-sample + virtualIP: + ephemeral: + virtualIPTemplate: + spec: + type: Public + ipFamily: IPv4 + volumes: + - name: root-disk-1 + ephemeral: + volumeTemplate: + spec: + volumeClassRef: + name: volumeclass-sample + image: gardenlinux:rootfs-image + resources: + storage: 10Gi \ No newline at end of file diff --git a/config/samples/e2e/bases/loadbalancer-public/machine2.yaml b/config/samples/e2e/bases/loadbalancer-public/machine2.yaml index e855ae09a..978953496 100644 --- a/config/samples/e2e/bases/loadbalancer-public/machine2.yaml +++ b/config/samples/e2e/bases/loadbalancer-public/machine2.yaml @@ -5,16 +5,36 @@ metadata: spec: machineClassRef: name: machineclass-sample - volumes: - - name: rootdisk # first disk is root disk - volumeRef: - name: volume-sample2 ignitionRef: name: ignition key: ignition.yaml networkInterfaces: - - name: primary - networkInterfaceRef: - name: networkinterface-sample2 - - + - name: primary + ephemeral: + networkInterfaceTemplate: + metadata: + labels: + app: web + spec: + ipFamilies: + - IPv4 + ips: + - value: 10.0.0.2 + networkRef: + name: network-sample + virtualIP: + ephemeral: + virtualIPTemplate: + spec: + type: Public + ipFamily: IPv4 + volumes: + - name: root-disk-1 + ephemeral: + volumeTemplate: + spec: + volumeClassRef: + name: volumeclass-sample + image: gardenlinux:rootfs-image + resources: + storage: 10Gi \ No newline at end of file diff --git a/config/samples/e2e/bases/loadbalancer-public/networkinterface.yaml b/config/samples/e2e/bases/loadbalancer-public/networkinterface.yaml deleted file mode 100644 index 76ca6883a..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/networkinterface.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: networking.ironcore.dev/v1alpha1 -kind: NetworkInterface -metadata: - name: networkinterface-sample - labels: - app: web -spec: - networkRef: - name: network-sample - ipFamilies: - - IPv4 - ips: - - value: 10.0.0.1 # internal IP - virtualIP: - virtualIPRef: - name: virtualip-sample \ No newline at end of file diff --git a/config/samples/e2e/bases/loadbalancer-public/networkinterface2.yaml b/config/samples/e2e/bases/loadbalancer-public/networkinterface2.yaml deleted file mode 100644 index 08df3c1ab..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/networkinterface2.yaml +++ /dev/null @@ -1,16 +0,0 @@ -apiVersion: networking.ironcore.dev/v1alpha1 -kind: NetworkInterface -metadata: - name: networkinterface-sample2 - labels: - app: web -spec: - networkRef: - name: network-sample - ipFamilies: - - IPv4 - ips: - - value: 10.0.0.2 # internal IP - virtualIP: - virtualIPRef: - name: virtualip-sample2 \ No newline at end of file diff --git a/config/samples/e2e/bases/loadbalancer-public/virtualIP.yaml b/config/samples/e2e/bases/loadbalancer-public/virtualIP.yaml deleted file mode 100644 index 372eb81cc..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/virtualIP.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: networking.ironcore.dev/v1alpha1 -kind: VirtualIP -metadata: - name: virtualip-sample -spec: - type: Public - ipFamily: IPv4 diff --git a/config/samples/e2e/bases/loadbalancer-public/virtualIP2.yaml b/config/samples/e2e/bases/loadbalancer-public/virtualIP2.yaml deleted file mode 100644 index 946fb2759..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/virtualIP2.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: networking.ironcore.dev/v1alpha1 -kind: VirtualIP -metadata: - name: virtualip-sample2 -spec: - type: Public - ipFamily: IPv4 diff --git a/config/samples/e2e/bases/loadbalancer-public/volume.yaml b/config/samples/e2e/bases/loadbalancer-public/volume.yaml deleted file mode 100644 index fc08d2dcc..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/volume.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: storage.ironcore.dev/v1alpha1 -kind: Volume -metadata: - name: volume-sample -spec: - volumeClassRef: - name: volumeclass-sample - image: gardenlinux:rootfs-image - resources: - storage: 10Gi diff --git a/config/samples/e2e/bases/loadbalancer-public/volume2.yaml b/config/samples/e2e/bases/loadbalancer-public/volume2.yaml deleted file mode 100644 index e4857fe3e..000000000 --- a/config/samples/e2e/bases/loadbalancer-public/volume2.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: storage.ironcore.dev/v1alpha1 -kind: Volume -metadata: - name: volume-sample2 -spec: - volumeClassRef: - name: volumeclass-sample - image: gardenlinux:rootfs-image - resources: - storage: 10Gi diff --git a/config/samples/e2e/loadbalancer-public/README.md b/config/samples/e2e/loadbalancer-public/README.md index a2f8659f7..09773da5a 100644 --- a/config/samples/e2e/loadbalancer-public/README.md +++ b/config/samples/e2e/loadbalancer-public/README.md @@ -15,9 +15,9 @@ The following artifacts will be deployed in your namespace: ## Usage 1. Adapt the `namespace` in `kustomization.yaml` -2. Replace `your-user`, `your-pw-hash` and `your-ssh-key` in the `ignition/ignition.yaml` +2. Replace `your-user`, `your-pw-hash` and `your-ssh-key`s in the `ignition/ignition.yaml` 3. Run `ignition/regenerate-ignition.sh` -4. Create the below `patch-machine.yaml` in `loadbalancer-public` folder with the desired `machineClassRef` and `machinePoolRef` as per your environment +4. Create the below `patch-machine.yaml` in `loadbalancer-public` folder with the desired `machineClassRef`, `machinePoolRef`, `volumeClassRef`, `volumePoolRef`, `image` etc. as per your environment ``` apiVersion: compute.ironcore.dev/v1alpha1 @@ -26,30 +26,27 @@ metadata: name: machine-sample spec: machineClassRef: - name: new-machineClass # The new name of the machine class reference + name: new-machineClass machinePoolRef: name: new-machinePool + volumes: + - name: root-disk-1 + ephemeral: + volumeTemplate: + spec: + volumeClassRef: + name: new-volumeClass + volumePoolRef: + name: new-volumePool + image: gardenlinux:rootfs-dev-20231025 + resources: + storage: 15Gi ``` -5. Create the below`patch-volume.yaml`in `loadbalancer-public` folder with the desired `volumeClassRef`and `volumePoolRef` as per your environment - -``` -apiVersion: storage.ironcore.dev/v1alpha1 -kind: Volume -metadata: - name: volume-sample -spec: - volumeClassRef: - name: new-volumeClass # The new name of the volume class reference - image: new-image:rootfs - volumePoolRef: - name: new-volumePool -``` -6. Update the `kustomization.yaml` with below content +5. Update the `kustomization.yaml` with below content ``` patches: - path: patch-machine.yaml -- path: patch-volume.yaml ``` -7. Run (`kubectl apply -k ./`) \ No newline at end of file +6. Run (`kubectl apply -k ./`) \ No newline at end of file