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 <smarkin@mirantis.com>
This commit is contained in:
@@ -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)
|
||||
|
23
go.mod
23
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
|
||||
|
41
go.sum
41
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=
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
@@ -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:
|
||||
|
@@ -11,6 +11,8 @@
|
||||
# limitations under the License.
|
||||
|
||||
- hosts: primary
|
||||
roles:
|
||||
- ensure-docker
|
||||
tasks:
|
||||
- name: Run Unit Tests
|
||||
block:
|
||||
|
@@ -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
|
||||
...
|
@@ -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 }}"
|
||||
|
||||
...
|
@@ -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
|
||||
|
||||
...
|
@@ -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
|
||||
...
|
@@ -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
|
||||
...
|
@@ -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
|
||||
...
|
@@ -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
|
||||
...
|
@@ -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 }}"
|
||||
...
|
109
zuul.d/jobs.yaml
109
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:
|
||||
|
Reference in New Issue
Block a user