From 400edcc57eb233557afc3600b5d016b79ba972d2 Mon Sep 17 00:00:00 2001 From: Sergiy Markin Date: Thu, 24 Jul 2025 18:00:48 +0000 Subject: [PATCH] Inherit base job from treasuremap repository + cleanup unused and obsolete scripts + Golang and modules updates due to CVEs Change-Id: I20e9dd8d2f3ca5193d134c2e50cd18fdd2967c08 Signed-off-by: Sergiy Markin --- dependencies/customresource/customresource.go | 2 +- go.mod | 23 ++-- go.sum | 41 +++---- images/Dockerfile.ubuntu_jammy | 2 +- ...p-kubernetes-entrypoint-deploy-docker.yaml | 15 --- .../airship-kubernetes-entrypoint-lint.yaml | 5 + .../airship-kubernetes-entrypoint-unit.yaml | 2 + playbooks/airship-run-scripts.yaml | 75 ------------ playbooks/checkout-treasuremap-ref.yaml | 31 ----- playbooks/deploy-env.yaml | 36 ------ playbooks/mount-volumes.yaml | 17 --- playbooks/osh-infra-collect-logs.yaml | 43 ------- playbooks/prepare-hosts.yaml | 17 --- .../airship-run-script-set/defaults/main.yaml | 50 -------- roles/airship-run-script-set/tasks/main.yaml | 90 --------------- zuul.d/jobs.yaml | 109 +----------------- 16 files changed, 43 insertions(+), 515 deletions(-) delete mode 100644 playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml delete mode 100644 playbooks/airship-run-scripts.yaml delete mode 100644 playbooks/checkout-treasuremap-ref.yaml delete mode 100644 playbooks/deploy-env.yaml delete mode 100644 playbooks/mount-volumes.yaml delete mode 100644 playbooks/osh-infra-collect-logs.yaml delete mode 100644 playbooks/prepare-hosts.yaml delete mode 100644 roles/airship-run-script-set/defaults/main.yaml delete mode 100644 roles/airship-run-script-set/tasks/main.yaml diff --git a/dependencies/customresource/customresource.go b/dependencies/customresource/customresource.go index ca7a86b..13518b2 100644 --- a/dependencies/customresource/customresource.go +++ b/dependencies/customresource/customresource.go @@ -35,7 +35,7 @@ func init() { crEnv := fmt.Sprintf("%sCUSTOM_RESOURCE", entrypoint.DependencyPrefix) resolvers, err := fromEnv(crEnv) if err != nil { - logger.Error.Printf(err.Error()) + logger.Error.Printf("Error initializing custom resource: %s", err.Error()) // Fixed format string } for _, resolver := range resolvers { entrypoint.Register(resolver) diff --git a/go.mod b/go.mod index a56d978..a788277 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module opendev.org/airship/kubernetes-entrypoint -go 1.23.0 - -toolchain go1.23.1 +go 1.24.5 require ( github.com/golangci/golangci-lint v1.18.0 @@ -86,17 +84,16 @@ require ( github.com/spf13/viper v1.0.2 // indirect github.com/timakin/bodyclose v0.0.0-20190721030226-87058b9bfcec // indirect github.com/ultraware/funlen v0.0.1 // indirect - golang.org/x/crypto v0.31.0 // indirect - golang.org/x/mod v0.21.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/oauth2 v0.10.0 // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/crypto v0.38.0 // indirect + golang.org/x/mod v0.25.0 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/oauth2 v0.27.0 // indirect + golang.org/x/sync v0.16.0 // indirect + golang.org/x/sys v0.34.0 // indirect + golang.org/x/term v0.33.0 // indirect + golang.org/x/text v0.25.0 // indirect golang.org/x/time v0.3.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - google.golang.org/appengine v1.6.7 // indirect + golang.org/x/tools v0.30.0 // indirect google.golang.org/protobuf v1.35.1 // indirect gopkg.in/fsnotify.v1 v1.4.7 // indirect gopkg.in/inf.v0 v0.9.1 // indirect diff --git a/go.sum b/go.sum index 8c189fb..6e8fa3a 100644 --- a/go.sum +++ b/go.sum @@ -58,7 +58,6 @@ github.com/golang/mock v1.0.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb github.com/golang/mock v1.2.0 h1:28o5sBqPkBsMGnC6b4MvE2TzSr5/AT4c/1fLqVGIwlk= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= @@ -234,47 +233,45 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190313024323-a1f597ede03a/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= -golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/oauth2 v0.10.0 h1:zHCpF2Khkwy4mMB4bv0U37YtJdTGW8jI0glAApi0Kh8= -golang.org/x/oauth2 v0.10.0/go.mod h1:kTpgurOux7LqtuxjuyZa4Gj2gdezIt/jQtGnNFfypQI= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= +golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20171026204733-164713f0dfce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= +golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= golang.org/x/text v0.0.0-20170915090833-1cbadb444a80/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.25.0 h1:qVyWApTSYLk/drJRO5mDlNYskwQznZmkpV2c8q9zls4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20170915040203-e531a2a1c15f/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -291,14 +288,12 @@ golang.org/x/tools v0.0.0-20190909030654-5b82db07426d/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= +golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= diff --git a/images/Dockerfile.ubuntu_jammy b/images/Dockerfile.ubuntu_jammy index 0c24762..fbf6338 100644 --- a/images/Dockerfile.ubuntu_jammy +++ b/images/Dockerfile.ubuntu_jammy @@ -1,6 +1,6 @@ ARG FROM=quay.io/airshipit/ubuntu:jammy # Build the manager binary -FROM quay.io/airshipit/golang:1.23.8-bullseye AS builder +FROM quay.io/airshipit/golang:1.24.5-bullseye AS builder ARG TARGETOS ARG TARGETARCH diff --git a/playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml b/playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml deleted file mode 100644 index c10d91e..0000000 --- a/playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- hosts: all - roles: - - ensure-docker diff --git a/playbooks/airship-kubernetes-entrypoint-lint.yaml b/playbooks/airship-kubernetes-entrypoint-lint.yaml index 29876b5..4d43d2c 100644 --- a/playbooks/airship-kubernetes-entrypoint-lint.yaml +++ b/playbooks/airship-kubernetes-entrypoint-lint.yaml @@ -10,7 +10,12 @@ # See the License for the specific language governing permissions and # limitations under the License. + + - hosts: primary + roles: + - ensure-docker + tasks: - name: Run Linter block: diff --git a/playbooks/airship-kubernetes-entrypoint-unit.yaml b/playbooks/airship-kubernetes-entrypoint-unit.yaml index b9cde8c..91d3468 100644 --- a/playbooks/airship-kubernetes-entrypoint-unit.yaml +++ b/playbooks/airship-kubernetes-entrypoint-unit.yaml @@ -11,6 +11,8 @@ # limitations under the License. - hosts: primary + roles: + - ensure-docker tasks: - name: Run Unit Tests block: diff --git a/playbooks/airship-run-scripts.yaml b/playbooks/airship-run-scripts.yaml deleted file mode 100644 index 6e29edc..0000000 --- a/playbooks/airship-run-scripts.yaml +++ /dev/null @@ -1,75 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: primary - tasks: - - name: Override images - when: buildset_registry is defined - vars: - work_dir: "{{ zuul.project.src_dir }}" - block: - - name: Buildset registry alias - include_role: - name: deploy-env - tasks_from: buildset_registry_alias - - - name: Print zuul - debug: - var: zuul - - - name: Override proposed images from artifacts - shell: > - find {{ override_paths | join(" ") }} -type f -exec sed -Ei - "s#['\"]?docker\.io/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/\1:\2#g" {} + - loop: "{{ zuul.artifacts | default([]) }}" - args: - chdir: "{{ work_dir }}" - loop_control: - loop_var: zj_zuul_artifact - when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'" - vars: - tag: "{{ zj_zuul_artifact.metadata.tag }}" - repo: "{{ zj_zuul_artifact.metadata.repository }}" - override_paths: - - ../openstack-helm*/*/values* - - ../openstack-helm-infra/tools/deployment/ - - - name: Diff - shell: | - set -ex; - for dir in openstack-helm openstack-helm-infra; do - path="{{ work_dir }}/../${dir}/" - if [ ! -d "${path}" ]; then continue; fi - echo "${dir} diff" - cd "${path}"; git diff; cd -; - done - - - name: "creating directory for run artifacts" - file: - path: "/tmp/artifacts" - state: directory - - - name: Run gate scripts - include_role: - name: "{{ ([item] | flatten | length == 1) | ternary('airship-run-script', 'airship-run-script-set') }}" - vars: - workload: "{{ [item] | flatten }}" - loop: "{{ gate_scripts }}" - - - name: "Downloads artifacts to executor" - synchronize: - src: "/tmp/artifacts" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True -... diff --git a/playbooks/checkout-treasuremap-ref.yaml b/playbooks/checkout-treasuremap-ref.yaml deleted file mode 100644 index 46a2405..0000000 --- a/playbooks/checkout-treasuremap-ref.yaml +++ /dev/null @@ -1,31 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - - tasks: - - name: Checkout treasuremap ref - shell: | - set -xe; - - : "${TREASUREMAP_REF:=v1.9}" - - cd ../treasuremap - git fetch https://review.opendev.org/airship/treasuremap ${TREASUREMAP_REF} && git checkout FETCH_HEAD - - args: - chdir: "{{ zuul.project.src_dir }}" - environment: - TREASUREMAP_REF: "{{ treasuremap_ref }}" - -... \ No newline at end of file diff --git a/playbooks/deploy-env.yaml b/playbooks/deploy-env.yaml deleted file mode 100644 index 9fae635..0000000 --- a/playbooks/deploy-env.yaml +++ /dev/null @@ -1,36 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - become: true - gather_facts: true - - roles: - - ensure-python - - ensure-pip - - clear-firewall - - deploy-apparmor - - deploy-selenium - - deploy-env - - ensure-tox - - tasks: - - name: Install Packaging python module for tools/airship - block: - - pip: - name: packaging - version: 23.1 - executable: pip3 - become: True - -... diff --git a/playbooks/mount-volumes.yaml b/playbooks/mount-volumes.yaml deleted file mode 100644 index 0049da1..0000000 --- a/playbooks/mount-volumes.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - roles: - - mount-extra-volume -... diff --git a/playbooks/osh-infra-collect-logs.yaml b/playbooks/osh-infra-collect-logs.yaml deleted file mode 100644 index 83e7688..0000000 --- a/playbooks/osh-infra-collect-logs.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - gather-host-logs - tags: - - gather-host-logs - -- hosts: primary - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - helm-release-status - - describe-kubernetes-objects - - gather-pod-logs - - gather-prom-metrics - - gather-selenium-data - tags: - - helm-release-status - - describe-kubernetes-objects - - gather-pod-logs - - gather-prom-metrics - - gather-selenium-data -... diff --git a/playbooks/prepare-hosts.yaml b/playbooks/prepare-hosts.yaml deleted file mode 100644 index c64aa0d..0000000 --- a/playbooks/prepare-hosts.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - roles: - - start-zuul-console -... diff --git a/roles/airship-run-script-set/defaults/main.yaml b/roles/airship-run-script-set/defaults/main.yaml deleted file mode 100644 index ec3b450..0000000 --- a/roles/airship-run-script-set/defaults/main.yaml +++ /dev/null @@ -1,50 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -ceph_osd_data_device: "/dev/loop0" -kubeadm: - pod_network_cidr: "10.244.0.0/24" -osh_params: - container_distro_name: ubuntu - container_distro_version: jammy -osh_values_overrides_path: "../openstack-helm/values_overrides" -osh_infra_values_overrides_path: "../openstack-helm/values_overrides" - # feature_gates: -site: airskiff -HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz -HTK_COMMIT: master -OSH_INFRA_COMMIT: master -OSH_COMMIT: master -COREDNS_VERSION: v1.11.1 -DISTRO: ubuntu_jammy -DOCKER_REGISTRY: quay.io -CLONE_ARMADA: true -CLONE_ARMADA_GO: true -CLONE_ARMADA_OPERATOR: true -CLONE_DECKHAND: true -CLONE_SHIPYARD: true -CLONE_PORTHOLE: true -CLONE_PROMENADE: true -CLONE_KUBERNETES_ENTRYPOINT: true -CLONE_MAAS: true -CLONE_OSH: true -MAKE_ARMADA_IMAGES: false -MAKE_ARMADA_GO_IMAGES: false -MAKE_ARMADA_OPERATOR_IMAGES: false -MAKE_DECKHAND_IMAGES: false -MAKE_SHIPYARD_IMAGES: false -MAKE_PORTHOLE_IMAGES: false -MAKE_PROMENADE_IMAGES: false -MAKE_KUBERTENES_ENTRYPOINT_IMAGES: false -USE_ARMADA_GO: false -... diff --git a/roles/airship-run-script-set/tasks/main.yaml b/roles/airship-run-script-set/tasks/main.yaml deleted file mode 100644 index 4fa81ca..0000000 --- a/roles/airship-run-script-set/tasks/main.yaml +++ /dev/null @@ -1,90 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- block: - - name: "Run script set {{ workload }}" - shell: | - set -xe; - {{ gate_script_path }} - loop: "{{ workload }}" - loop_control: - loop_var: gate_script_path - pause: 5 - args: - chdir: "{{ zuul.project.src_dir }}/{{ gate_scripts_relative_path }}" - environment: - CEPH_OSD_DATA_DEVICE: "{{ ceph_osd_data_device }}" - POD_NETWORK_CIDR: "{{ kubeadm.pod_network_cidr }}" - zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" - OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" - OSH_HELM_REPO: "{{ osh_helm_repo | default('../openstack-helm/') }}" - OSH_INFRA_HELM_REPO: "{{ osh_infra_helm_repo | default('../openstack-helm/') }}" - DOWNLOAD_OVERRIDES: "{{ download_overrides | default('') }}" - OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm/') }}" - OSH_VALUES_OVERRIDES_PATH: "{{ osh_values_overrides_path }}" - OSH_INFRA_VALUES_OVERRIDES_PATH: "{{ osh_infra_values_overrides_path }}" - OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}" - CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}" - CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}" - FEATURES: "{{ osh_params.feature_gates | default('') | regex_replace(',', ' ') }} {{ osh_params.openstack_release | default('') }} {{ osh_params.container_distro_name | default('') }}_{{ osh_params.container_distro_version | default('') }} {{ osh_params.container_distro_name | default('') }}" - RUN_HELM_TESTS: "{{ run_helm_tests | default('yes') }}" - PL_SITE: "{{ site | default('airskiff') }}" - HELM_ARTIFACT_URL: "{{ HELM_ARTIFACT_URL | default('https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz') }}" - HTK_COMMIT: "{{ HTK_COMMIT | default('master') }}" - OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('master') }}" - OSH_COMMIT: "{{ OSH_COMMIT | default('master') }}" - COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" - DISTRO: "{{ DISTRO | default('ubuntu_focal') }}" - DOCKER_REGISTRY: "{{ DOCKER_REGISTRY | default('quay.io') }}" - CLONE_ARMADA: "{{ CLONE_ARMADA | default('true') }}" - CLONE_ARMADA_GO: "{{ CLONE_ARMADA_GO | default('true') }}" - CLONE_ARMADA_OPERATOR: "{{ CLONE_ARMADA_OPERATOR | default('true') }}" - CLONE_DECKHAND: "{{ CLONE_DECKHAND | default('true') }}" - CLONE_SHIPYARD: "{{ CLONE_SHIPYARD | default('true') }}" - CLONE_PORTHOLE: "{{ CLONE_PORTHOLE | default('true') }}" - CLONE_PROMENADE: "{{ CLONE_PROMENADE | default('true') }}" - CLONE_KUBERNETES_ENTRYPOINT: "{{ CLONE_KUBERNETES_ENTRYPOINT | default('true') }}" - CLONE_MAAS: "{{ CLONE_MAAS | default('true') }}" - CLONE_OSH: "{{ CLONE_OSH | default('true') }}" - MAKE_ARMADA_IMAGES: "{{ MAKE_ARMADA_IMAGES | default('false') }}" - MAKE_ARMADA_GO_IMAGES: "{{ MAKE_ARMADA_GO_IMAGES | default('false') }}" - MAKE_ARMADA_OPERATOR_IMAGES: "{{ MAKE_ARMADA_OPERATOR_IMAGES | default('false') }}" - MAKE_DECKHAND_IMAGES: "{{ MAKE_DECKHAND_IMAGES | default('false') }}" - MAKE_SHIPYARD_IMAGES: "{{ MAKE_SHIPYARD_IMAGES | default('false') }}" - MAKE_PORTHOLE_IMAGES: "{{ MAKE_PORTHOLE_IMAGES | default('false') }}" - MAKE_PROMENADE_IMAGES: "{{ MAKE_PROMENADE_IMAGES | default('false') }}" - MAKE_KUBERTENES_ENTRYPOINT_IMAGES: "{{ MAKE_KUBERTENES_ENTRYPOINT_IMAGES | default('false') }}" - USE_ARMADA_GO: "{{ USE_ARMADA_GO | default('false') }}" - # NOTE(aostapenko) using bigger than async_status timeout due to async_status issue with - # not recognizing timed out jobs: https://github.com/ansible/ansible/issues/25637 - async: 3600 - poll: 0 - register: async_results - - - name: Wait for script set to finish - async_status: - jid: '{{ item.ansible_job_id }}' - register: jobs - until: jobs.finished - delay: 5 - retries: 360 - loop: "{{ async_results.results }}" - - always: - - name: Print script set output - shell: | - # NOTE(aostapenko) safely retrieving items for the unlikely case if jobs timed out in async_status - echo 'STDOUT:\n{{ item.get("stdout") | regex_replace("\'", "") }}\nSTDERR:\n{{ item.get("stderr") | regex_replace("\'", "") }}' - loop: "{{ jobs.results }}" -... diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 906fbb5..b05fca2 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -10,127 +10,32 @@ # See the License for the specific language governing permissions and # limitations under the License. -- job: - name: airship-kubernetes-entrypoint-lint-unit - pre-run: playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml - run: playbooks/airship-kubernetes-entrypoint-lint-unit.yaml - nodeset: airship-kubernetes-entrypoint-single-node-jammy - - - job: name: airship-kubernetes-entrypoint-lint - timeout: 3600 - pre-run: playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml run: playbooks/airship-kubernetes-entrypoint-lint.yaml nodeset: airship-kubernetes-entrypoint-single-node-jammy - job: name: airship-kubernetes-entrypoint-unit timeout: 3600 - pre-run: playbooks/airship-kubernetes-entrypoint-deploy-docker.yaml run: playbooks/airship-kubernetes-entrypoint-unit.yaml nodeset: airship-kubernetes-entrypoint-single-node-jammy -- job: - name: airship-kubernetes-entrypoint-base - abstract: true - roles: - - zuul: openstack/openstack-helm - - zuul: zuul/zuul-jobs - required-projects: - - name: openstack/openstack-helm - - name: openstack/openstack-helm-plugin - - name: airship/treasuremap - override-checkout: v1.9 - irrelevant-files: &irrelevant-files - - ^.*\.rst$ - - ^doc/.*$ - - ^etc/.*$ - - ^releasenotes/.*$ - - ^setup.cfg$ - - ^deckhand/tests/unit/.*$ - timeout: 10800 - pre-run: - - playbooks/checkout-treasuremap-ref.yaml - - playbooks/prepare-hosts.yaml - - playbooks/mount-volumes.yaml - - playbooks/deploy-env.yaml - run: - - playbooks/airship-run-scripts.yaml - post-run: - - playbooks/osh-infra-collect-logs.yaml - vars: - treasuremap_ref: v1.9 - extra_volume: - size: 80G - type: Linux - mount_point: /opt/ext_vol - docker: - root_path: "/opt/ext_vol/docker" - containerd: - root_path: "/opt/ext_vol/containerd" - kubeadm: - pod_network_cidr: "10.244.0.0/16" - service_cidr: "10.96.0.0/16" - osh_plugin_repo: "{{ zuul.project.src_dir }}/../../openstack/openstack-helm-plugin" - loopback_setup: true - loopback_device: /dev/loop100 - loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img" - ceph_osd_data_device: /dev/loop100 - kube_version_repo: "v1.32" - kube_version: "1.32.1-1.1" - calico_setup: true - calico_version: "v3.27.4" - cilium_setup: false - cilium_version: "1.16.0" - flannel_setup: false - flannel_version: v0.25.4 - metallb_setup: false - metallb_version: "0.13.12" - helm_version: "v3.14.0" - crictl_version: "v1.30.1" - zuul_osh_relative_path: ../../openstack/openstack-helm - zuul_osh_infra_relative_path: ../../openstack/openstack-helm - zuul_treasuremap_relative_path: ../../airship/treasuremap - gate_scripts_relative_path: ../../openstack/openstack-helm - run_helm_tests: "no" - - job: name: airship-kubernetes-entrypoint-airskiff-deployment-jammy - nodeset: treasuremap-airskiff-1node-ubuntu_jammy description: | Deploy Memcached using Airskiff and submitted kubernetes-entrypoint changes. - parent: airship-kubernetes-entrypoint-base + parent: treasuremap-airskiff-infra-deploy-base + nodeset: treasuremap-airskiff-1node-ubuntu_jammy + required-projects: + - name: airship/treasuremap + override-checkout: v1.9 vars: - site: airskiff - HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz - HTK_COMMIT: 49c117443391cec75e0bd52bb4a9d033325927ad - OSH_COMMIT: 49c117443391cec75e0bd52bb4a9d033325927ad + treasuremap_ref: v1.9 CLONE_KUBERNETES_ENTRYPOINT: false - DISTRO: ubuntu_jammy - DOCKER_REGISTRY: localhost:5000 MAKE_KUBERTENES_ENTRYPOINT_IMAGES: true USE_ARMADA_GO: true gate_scripts_relative_path: ../../airship/treasuremap - gate_scripts: - - ./tools/deployment/airskiff/developer/000-prepare-k8s.sh - - ./tools/deployment/airskiff/developer/009-setup-apparmor.sh - - ./tools/deployment/airskiff/developer/000-clone-dependencies.sh - - ./tools/deployment/airskiff/developer/020-setup-client.sh - - ./tools/deployment/airskiff/developer/015-make-all-charts.sh - - ./tools/deployment/airskiff/developer/017-make-all-images.sh - - ./tools/deployment/airskiff/developer/025-start-artifactory.sh - - ./tools/deployment/airskiff/developer/026-reduce-site.sh - - ./tools/deployment/airskiff/developer/027-enable-armada-operator.sh - - ./tools/deployment/airskiff/developer/030-armada-bootstrap.sh - - ./tools/deployment/airskiff/developer/100-deploy-osh.sh - - ./tools/deployment/airskiff/common/os-env.sh - - ./tools/gate/wait-for-shipyard.sh - - ./tools/deployment/airskiff/common/get-airflow-worker-logs.sh - irrelevant-files: *irrelevant-files - - - - job: name: airship-kubernetes-entrypoint-docker-build-gate-ubuntu_jammy @@ -144,7 +49,6 @@ dynamic: patch_set: true - - job: name: airship-kubernetes-entrypoint-docker-publish-ubuntu_jammy timeout: 3600 @@ -162,7 +66,6 @@ static: - latest - - secret: name: airship_kubernetes_entrypoint_quay_creds data: