From 6ca64b1163ff3d8268dbaa853441607c3d37bd2d Mon Sep 17 00:00:00 2001 From: Sergiy Markin Date: Thu, 31 Aug 2023 04:55:16 +0000 Subject: [PATCH] Deprecating the Ingress Class Annotation Upgrading htk to version 0.2.55, which deprecates the ingress class annotation (kubernetes.io/ingress.class) with .spec.ingressClassName https://review.opendev.org/c/openstack/openstack-helm-infra/+/891720 Change-Id: Ib03d856d13ccac719c3c24399714e6ab21d26916 Signed-off-by: Sergiy Markin --- .zuul.yaml | 7 +++++- .../charts/kubernetes/ingress/ingress.yaml | 18 ++++++++++++- .../osh-infra-ingress-controller/ingress.yaml | 25 +++++++++++++++++++ .../openstack-ingress-controller/ingress.yaml | 24 ++++++++++++++++++ .../openstack-tenant-ceph/ceph-ingress.yaml | 15 +++++++++++ .../charts/ucp/ceph/ceph-ingress.yaml | 7 ++++++ global/software/charts/ucp/core/ingress.yaml | 16 ++++++++++++ .../airskiff/developer/010-deploy-k8s.sh | 2 +- .../gate/playbooks/airskiff-deploy-gate.yaml | 16 +++++++++++- 9 files changed, 126 insertions(+), 4 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 2494b61c4..69c33a44a 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -170,6 +170,7 @@ nodeset: treasuremap-single-node-ubuntu-focal description: | Deploy Memcached using Airskiff and latest Treasuremap changes. + Airskiff is using latest Airship v1.x based on Airflow-2.6.2 voting: true timeout: 9600 pre-run: @@ -179,7 +180,11 @@ run: tools/gate/playbooks/airskiff-deploy-gate.yaml post-run: tools/gate/playbooks/debug-report.yaml vars: - site: airskiff + site: airskiff + HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.12.2-linux-amd64.tar.gz + HTK_COMMIT: ae91cf3fc3f288b6d92ace4a3a405606a653638f + OSH_INFRA_COMMIT: 56dd4fdb848adbe44f8e76c70b7593b92e933e29 + OSH_COMMIT: 75c30f43db44218e7842611e880fd8d7a30fa79c irrelevant-files: - ^.*\.rst$ - ^doc/.*$ diff --git a/global/software/charts/kubernetes/ingress/ingress.yaml b/global/software/charts/kubernetes/ingress/ingress.yaml index a94517779..b357f3815 100644 --- a/global/software/charts/kubernetes/ingress/ingress.yaml +++ b/global/software/charts/kubernetes/ingress/ingress.yaml @@ -53,11 +53,27 @@ data: deployment: mode: cluster type: Deployment + cluster: + class: kube-ingress + controllerClass: k8s.io/kube-ingress + conf: + ingress: + proxy-body-size: 20m + controller: + INGRESS_CLASS: kube-ingress + INGRESS_CLASS_BY_NAME: true + CONTROLLER_CLASS: k8s.io/kube-ingress network: host_namespace: true ingress: annotations: - nginx.ingress.kubernetes.io/proxy-read-timeout: "603" + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + ingressClass: + spec: + controller: k8s.io/kube-ingress + ingress: + spec: + ingressClassName: kube-ingress pod: replicas: ingress: 1 diff --git a/global/software/charts/osh-infra/osh-infra-ingress-controller/ingress.yaml b/global/software/charts/osh-infra/osh-infra-ingress-controller/ingress.yaml index c66d9ce3c..867e71592 100644 --- a/global/software/charts/osh-infra/osh-infra-ingress-controller/ingress.yaml +++ b/global/software/charts/osh-infra/osh-infra-ingress-controller/ingress.yaml @@ -41,7 +41,21 @@ data: - type: job labels: release_group: airship-osh-infra-ingress-controller + values: + deployment: + mode: cluster + type: Deployment + cluster: + class: osh-infra-ingress + controllerClass: k8s.io/osh-infra-ingress + conf: + ingress: + proxy-body-size: 20m + controller: + INGRESS_CLASS: osh-infra-ingress + INGRESS_CLASS_BY_NAME: true + CONTROLLER_CLASS: k8s.io/osh-infra-ingress labels: server: node_selector_key: openstack-control-plane @@ -53,5 +67,16 @@ data: replicas: ingress: 2 error_page: 2 + network: + ingress: + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: 20m + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + ingressClass: + spec: + controller: k8s.io/osh-infra-ingress + ingress: + spec: + ingressClassName: osh-infra-ingress dependencies: - osh-helm-toolkit diff --git a/global/software/charts/osh/openstack-ingress-controller/ingress.yaml b/global/software/charts/osh/openstack-ingress-controller/ingress.yaml index 0115ca807..ba05a30c4 100644 --- a/global/software/charts/osh/openstack-ingress-controller/ingress.yaml +++ b/global/software/charts/osh/openstack-ingress-controller/ingress.yaml @@ -43,6 +43,19 @@ data: labels: release_group: airship-openstack-ingress-controller values: + deployment: + mode: cluster + type: Deployment + cluster: + class: openstack-ingress + controllerClass: k8s.io/openstack-ingress + conf: + ingress: + proxy-body-size: 20m + controller: + INGRESS_CLASS: openstack-ingress + INGRESS_CLASS_BY_NAME: true + CONTROLLER_CLASS: k8s.io/openstack-ingress labels: server: node_selector_key: openstack-control-plane @@ -54,5 +67,16 @@ data: replicas: ingress: 2 error_page: 2 + network: + ingress: + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: 20m + nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + ingressClass: + spec: + controller: k8s.io/openstack-ingress + ingress: + spec: + ingressClassName: openstack-ingress ... diff --git a/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml b/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml index 0b3e8142d..6ebd4e9b4 100644 --- a/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml +++ b/global/software/charts/osh/openstack-tenant-ceph/ceph-ingress.yaml @@ -42,9 +42,18 @@ data: labels: release_group: airship-tenant-ceph-ingress values: + deployment: + mode: cluster + cluster: + class: tenant-ceph-ingress + controllerClass: k8s.io/tenant-ceph-ingress conf: ingress: proxy-body-size: 20m + controller: + INGRESS_CLASS: tenant-ceph-ingress + INGRESS_CLASS_BY_NAME: true + CONTROLLER_CLASS: k8s.io/tenant-ceph-ingress labels: server: node_selector_key: tenant-ceph-control-plane @@ -61,4 +70,10 @@ data: annotations: nginx.ingress.kubernetes.io/proxy-body-size: 20m nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + ingressClass: + spec: + controller: k8s.io/tenant-ceph-ingress + ingress: + spec: + ingressClassName: tenant-ceph-ingress ... diff --git a/global/software/charts/ucp/ceph/ceph-ingress.yaml b/global/software/charts/ucp/ceph/ceph-ingress.yaml index eda20be79..191577e41 100644 --- a/global/software/charts/ucp/ceph/ceph-ingress.yaml +++ b/global/software/charts/ucp/ceph/ceph-ingress.yaml @@ -45,6 +45,13 @@ data: conf: ingress: proxy-body-size: 20m + controller: + ingressClass: ceph-ingress + ingressClassByName: true + ingressClassResource: + controllerValue: k8s.io/ceph-ingress + enabled: false + name: ceph-ingress labels: server: node_selector_key: ucp-control-plane diff --git a/global/software/charts/ucp/core/ingress.yaml b/global/software/charts/ucp/core/ingress.yaml index d06e27913..b306824b5 100644 --- a/global/software/charts/ucp/core/ingress.yaml +++ b/global/software/charts/ucp/core/ingress.yaml @@ -42,9 +42,19 @@ data: labels: release_group: airship-ingress values: + deployment: + mode: cluster + type: Deployment + cluster: + class: ucp-ingress + controllerClass: k8s.io/ucp-ingress conf: ingress: proxy-body-size: 20m + controller: + INGRESS_CLASS: ucp-ingress + INGRESS_CLASS_BY_NAME: true + CONTROLLER_CLASS: k8s.io/ucp-ingress labels: server: node_selector_key: ucp-control-plane @@ -61,4 +71,10 @@ data: annotations: nginx.ingress.kubernetes.io/proxy-body-size: 20m nginx.ingress.kubernetes.io/proxy-read-timeout: "600" + ingressClass: + spec: + controller: k8s.io/ucp-ingress + ingress: + spec: + ingressClassName: ucp-ingress ... diff --git a/tools/deployment/airskiff/developer/010-deploy-k8s.sh b/tools/deployment/airskiff/developer/010-deploy-k8s.sh index 4128b74dd..9ae549f5f 100755 --- a/tools/deployment/airskiff/developer/010-deploy-k8s.sh +++ b/tools/deployment/airskiff/developer/010-deploy-k8s.sh @@ -25,7 +25,7 @@ if [ -n "${PROXY}" ]; then fi # Deploy K8s with Minikube -: "${HELM_VERSION:="v3.11.1"}" +: "${HELM_VERSION:="v3.12.2"}" : "${KUBE_VERSION:="v1.27.3"}" : "${MINIKUBE_VERSION:="v1.30.1"}" : "${CRICTL_VERSION:="v1.27.0"}" diff --git a/tools/gate/playbooks/airskiff-deploy-gate.yaml b/tools/gate/playbooks/airskiff-deploy-gate.yaml index 8629e9c8c..70cdbfe27 100644 --- a/tools/gate/playbooks/airskiff-deploy-gate.yaml +++ b/tools/gate/playbooks/airskiff-deploy-gate.yaml @@ -14,10 +14,19 @@ - hosts: all + roles: + - role: add-authorized-keys + public_keys: + - public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDeobqPCXQ+/l3ZTKpEtUUH5IpplSknFsLi7t/oersHyW+O4zzOUIiVNJd7DxKF2dhQlxlENWQpoWI9zc3/GXbqAKnBnuVBslqmcVo400mZj0CIe2CLoG242Quh/M+mC57dTPBfcIHEG2h4xqQ8cXRIGJ9qtfalA/jiLH0b6hHUldEFcVBqwaFXl1w9usSQhPBbJjMlYyKBIbLRDw2mb9WqXtXK9f9prKmH7EdkIvP6yJnva76nmKhMEsIhfSkzXYA17z1hVju6mNneCU7OXC7wo2Bq9q/+y5t3bdosDRGu2s9wHBDlZK7G8GqnfJ2sSg+BmWPWyJ7ewudhvLcQ0mgICvFdIefWzqm6kc8UHjCI3atKeO3CbsCTIxOQnUwzduM5LG7RpiLZ9GaXDQlkvSOGtFFORXIj5zmA3+EXXSyKhQZGrk34PSiHlrgdLlk+ORzSYMMht7qXNQpmBpi/EAN/hZiecS1u/e8O1hEV3Jm9uFg5eWX5sLCPRz1w5/G6kds= sanselme@mirantis.com + - public_key: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA7eM8WFJrqQmki8rR0O3QBHyl8xq42jb1RduwuRwjWoGYJI5cX7Fx+7VR4A9ITCoiqxKS8DMfgKbt5jKC6SmvMALULZsnYlthB34KywurgxsW6fgp68DHWQ7J4CCBhoIpl0W3JW7s6b0vHLhab59r0E+AYemBVuWUqbFEy8nDAHcQv1S/2o1udhmljIN7c2ogO4KAJ7Lge0BoIP9ps4u6AVwyQZixp4anU9DHGNA/UQj4M5UyuALj5buEAuATBe9Vqj4sOvZjObPJAGPUrNRrGEWAFk+lSZHRzKXo0eeWtPqoh5UN9UDb5Pocg1krncMIZwjHKovlD1z/O1y91aY5LM1wxm/7aaIiX8eCihyVZaOuDCLF7WDT2SMs7ABcotX2MDtVQTrNNV3MmMAScFNDflzPKszd7cdjLl6PBq8bvPxmCkLmnitPTGOoh9d8i+JlbINvgx1pguYrpeciIyreCO1rjTW3MgB0tyoMEa31V+7HrauBMeNnE68YTqLTIB0= smarkin@mirantis.com tasks: - name: Clone dependencies shell: | set -ex + + export OSH_INFRA_COMMIT={{ OSH_INFRA_COMMIT }} + export OSH_COMMIT={{ OSH_COMMIT }} + ./tools/deployment/airskiff/developer/000-clone-dependencies.sh args: chdir: "{{ zuul.project.src_dir }}" @@ -56,7 +65,11 @@ - name: Build all charts locally shell: | - set -ex + set -ex + + export HELM_ARTIFACT_URL={{ HELM_ARTIFACT_URL }} + export HTK_COMMIT={{ HTK_COMMIT }} + ./tools/deployment/airskiff/developer/015-make-all-charts.sh args: chdir: "{{ zuul.project.src_dir }}" @@ -97,6 +110,7 @@ - name: Wait for deployment completion shell: | set -ex + while true; do sleep 100; done ./tools/deployment/airskiff/common/os-env.sh ./tools/gate/wait-for-shipyard.sh args: