Support for specifying site manifest location in AIAP

- Addded new container artifact-setup in lieu of
  airshipctl-builder
- Added/Renamed env MANIFEST_REPO_NAME, MANIFEST_REPO_URL, MANIFEST_REPO_REF
- Added examples for airshipctl/treasuremap as kustomize files.

Relates-To: #477

Closes: #477

Depends-On: I98b605d16940fab2a728e4646e52c7d1ad992c2d

Change-Id: I6759c765c1aa9eaef8a989fcefe300679513a1be
This commit is contained in:
ma257n 2021-03-27 12:25:34 +00:00 committed by Manoj Alva(ma257n)
parent 8d882fcc85
commit 418c64ba44
11 changed files with 384 additions and 57 deletions

View File

@ -1,5 +1,5 @@
IMAGE_REGISTRY ?= quay.io/airshipit IMAGE_REGISTRY ?= quay.io/airshipit
IMAGES := infra-builder airshipctl-builder runner IMAGES := infra-builder artifact-setup runner
IMAGE_TAG ?= latest IMAGE_TAG ?= latest
PUSH_IMAGES ?= false PUSH_IMAGES ?= false
@ -34,6 +34,12 @@ ifeq (true, $(PUSH_IMAGES))
docker push $(IMAGE_REGISTRY)/aiap-$@:$(IMAGE_TAG) docker push $(IMAGE_REGISTRY)/aiap-$@:$(IMAGE_TAG)
endif endif
test: build ## Test airship-in-a-pod test: test-airshipctl test-treasuremap
kubectl delete -f airship-in-a-pod.yaml || true
kubectl create -f airship-in-a-pod.yaml test-airshipctl: build
kubectl delete pod airship-in-a-pod || true
kustomize build ./examples/airshipctl | kubectl apply -f -
test-treasuremap: build
kubectl delete pod airship-in-a-pod || true
kustomize build ./examples/airshipctl | kubectl apply -f -

View File

@ -4,8 +4,10 @@ Airship in a pod is a Kubernetes pod definition which describes all of the
components required to deploy a fully functioning Airship 2 deployment. The pod components required to deploy a fully functioning Airship 2 deployment. The pod
consists of the following "Task" containers: consists of the following "Task" containers:
* `airshipctl-builder`: This container builds the airshipctl binary and makes it * `artifact-setup`: This container builds the airshipctl binary and makes it
available to the other containers available to the other containers. Also, based on the configuration provided
in the airship-in-a-pod manifest, airshipctl/treasuremap(based on the usecase) git repositories
will be downloaded and the required tag or commitId will be checked out.
* `infra-builder`: This container creates the various virtual networks and * `infra-builder`: This container creates the various virtual networks and
machines required for an Airship deployment machines required for an Airship deployment
* `runner`: The runner container is the "meat" of the pod, and executes the * `runner`: The runner container is the "meat" of the pod, and executes the
@ -21,32 +23,115 @@ The pod also contains the following "Support" containers:
## Prerequisites ## Prerequisites
In order to deploy Airship in a Pod for development, you must first have a ### Nested Virtualisation
working Kubernetes cluster. This guide assumes that a developer will deploy
using [minikube](https://minikube.sigs.k8s.io/docs/start/): If deployment is done on a VM, ensure that nested virtualization is enabled.
### Setup shared directory
Create the following directory with appropriate r+w permissions.
```
sudo mkdir /opt/.airship
```
### Environment variable setup
If you are within a proxy environment, ensure that the following environment
variables are defined, and NO_PROXY has the IP address which minikube uses.
For retrieving minikube ip refer: [minikube-ip](https://minikube.sigs.k8s.io/docs/commands/ip/)
```
export HTTP_PROXY=http://username:password@host:port
export HTTPS_PROXY=http://username:password@host:port
export NO_PROXY="localhost,127.0.0.1,10.23.0.0/16,10.96.0.0/12,10.1.1.44"
export PROXY=http://username:password@host:port
export USE_PROXY=true
export http_proxy=http://username:password@host:port
export https_proxy=http://username:password@host:port
export no_proxy="localhost,127.0.0.1,10.23.0.0/16,10.96.0.0/12,10.1.1.44"
export proxy=http://username:password@host:port
```
### To start minikube
Within the environment, with appropriate env variables set, run the following command.
``` ```
sudo -E minikube start --driver=none sudo -E minikube start --driver=none
``` ```
Refer [minikube](https://minikube.sigs.k8s.io/docs/start/)for more details.
## Usage ## Usage
Since Airship in a Pod is just a pod definition, deploying and using it is as Since Airship in a Pod is just a pod definition, deploying and using it is as
simple as deploying and using any Kubernetes pod. simple as deploying and using any Kubernetes pod with kustomize tool.
### Pod configuration
The below section provides steps to configure site with [airshipctl](https://github.com/airshipit/airshipctl)/[treasuremap](https://github.com/airshipit/treasuremap) manifests.
#### For airshipctl
Within the examples/airshipctl directory, update the existing patchset.yaml
file to reflect the airshipctl branch reference as required.
filepath : airshipctl/tools/airship-in-a-pod/examples/airshipctl/patchset.yaml
#### Deploy the Pod
``` ```
kubectl apply -f airship-in-a-pod.yaml - op: replace
path: "/spec/containers/4/env/4/value"
value: <branch reference>
``` ```
#### View Pod Logs #### For treasuremap
For treasuremap related manifests, use the patchset.yaml from
examples/treasuremap and update the following to reflect
the treasuremap branch reference and the pinned airshipctl reference
as required. The pinned airshipctl reference is the tag/commitId with
which treasuremap is tested and found working satisfactorily. This
could be found listed as 'AIRSHIPCTL_REF' attribute under the zuul.d
directory of treasuremap repository.
filepath : airshipctl/tools/airship-in-a-pod/examples/treasuremap/patchset.yaml
```
- op: replace
path: "/spec/containers/4/env/4/value"
value: <branch reference>
- op: replace
path: "/spec/containers/4/env/6/value"
value: <airshipctl_ref>
```
For more details, please consult the examples directory.
### Deploy the Pod
Once patchset.yaml for either airshipctl/treasuremap is ready, run the following
command against the running minikube cluster as shown below.
For example to run AIAP with treasuremap manifests, run the following commands.
```
cd tools/airship-in-a-pod/examples/{either airshipctl or treasuremap}
kustomize build . | kubectl apply -f -
```
### View Pod Logs
``` ```
kubectl logs airship-in-a-pod -c $CONTAINER kubectl logs airship-in-a-pod -c $CONTAINER
``` ```
#### Interact with the Pod ### Interact with the Pod
``` ```
kubectl exec -it airship-in-a-pod -c $CONTAINER -- bash kubectl exec -it airship-in-a-pod -c $CONTAINER -- bash
@ -54,12 +139,38 @@ kubectl exec -it airship-in-a-pod -c $CONTAINER -- bash
where `$CONTAINER` is one of the containers listed above. where `$CONTAINER` is one of the containers listed above.
### Inspect Cluster
Once AIAP is fully installed with a target cluster (air-target-1 and air-worker-1 nodes)
installed and running, the cluster could be monitored using the following steps.
#### Log into the runner container
```
kubectl exec -it airship-in-a-pod -c runner -- bash
```
Run the .profile file using the following command to run kubectl/airshipctl commands
as below.
```
source ~/.profile
```
To run kubectl commands on Target cluster, use --kubeconfig and --context params
within kubectl as below.
```
kubectl --kubeconfig /root/.airship/kubeconfig --context target-cluster get pods -A'
```
### Output ### Output
Airship-in-a-pod produces the following outputs: Airship-in-a-pod produces the following outputs:
* The airshipctl repo and associated binary used with the deployment * The airshipctl repo, manifest repo, and airshipctl binary used with the deployment.
* A tarball containing the generated ephemeral ISO, as well as the * A tarball containing the generated ephemeral ISO, as well as the
configuration used during generation. configuration used during generation.
@ -76,7 +187,7 @@ caching:
* If using a cached `airshipctl`, the `airshipctl` binary must be stored in the * If using a cached `airshipctl`, the `airshipctl` binary must be stored in the
`$CACHE_DIR/airshipctl/bin/` directory, and the developer must have set `$CACHE_DIR/airshipctl/bin/` directory, and the developer must have set
`USE_CACHED_AIRSHIPCTL` to `true`. `USE_CACHED_ARTIFACTS` to `true`.
* If using a cached ephemeral iso, the iso must first be contained in a tarball named `iso.tar.gz`, must be stored in the * If using a cached ephemeral iso, the iso must first be contained in a tarball named `iso.tar.gz`, must be stored in the
`$CACHE_DIR/` directory, and the developer must have set `$CACHE_DIR/` directory, and the developer must have set
`USE_CACHED_ISO` to `true`. `USE_CACHED_ISO` to `true`.

View File

@ -3,15 +3,21 @@ FROM ianhowell/base:latest
SHELL ["bash", "-exc"] SHELL ["bash", "-exc"]
ENV DEBIAN_FRONTEND noninteractive ENV DEBIAN_FRONTEND noninteractive
ARG USE_CACHED_AIRSHIPCTL="false" ARG USE_CACHED_ARTIFACTS="false"
ENV USE_CACHED_AIRSHIPCTL="false" ENV USE_CACHED_ARTIFACTS="false"
ARG AIRSHIPCTL_REPO=https://review.opendev.org/airship/airshipctl ARG MANIFEST_REPO_URL=https://review.opendev.org/airship/airshipctl
ENV MANIFEST_REPO_URL=$MANIFEST_REPO_URL
ARG MANIFEST_REPO_REF=master
ENV MANIFEST_REPO_REF=$MANIFEST_REPO_REF
ARG MANIFEST_REPO_NAME=airshipctl
ENV MANIFEST_REPO_NAME=$MANIFEST_REPO_NAME
ARG AIRSHIPCTL_REF=
ENV AIRSHIPCTL_REF=$AIRSHIPCTL_REF ENV AIRSHIPCTL_REF=$AIRSHIPCTL_REF
ARG AIRSHIPCTL_REF=master
ENV AIRSHIPCTL_REPO=$AIRSHIPCTL_REPO
# Update distro and install ansible # Update distro and install ansible
RUN apt-get update ;\ RUN apt-get update ;\
apt-get dist-upgrade -y ;\ apt-get dist-upgrade -y ;\

View File

@ -14,25 +14,46 @@
set -ex set -ex
if [[ "$USE_CACHED_AIRSHIPCTL" = "true" ]]
function cloneRepo(){
repo_name=$1
repo_url=$2
repo_ref=$3
repo_dir="$ARTIFACTS_DIR/$repo_name"
mkdir -p "$repo_dir"
cd "$repo_dir"
git init
git fetch "$repo_url" "$repo_ref"
git checkout FETCH_HEAD
}
if [[ "$USE_CACHED_ARTIFACTS" = "true" ]]
then then
printf "Using cached airshipctl\n" printf "Using cached airshipctl\n"
cp -r "$CACHE_DIR/airshipctl" "$ARTIFACTS_DIR/airshipctl" cp -r "$CACHE_DIR/*" "$ARTIFACTS_DIR"
else else
printf "Waiting 30 seconds for the libvirt, sushy, and docker services to be ready\n" printf "Waiting 30 seconds for the libvirt, sushy, and docker services to be ready\n"
sleep 30 sleep 30
airshipctl_dir="$ARTIFACTS_DIR/airshipctl" cloneRepo $MANIFEST_REPO_NAME $MANIFEST_REPO_URL $MANIFEST_REPO_REF
mkdir -p "$airshipctl_dir"
cd "$airshipctl_dir"
git init if [[ "$MANIFEST_REPO_NAME" != "airshipctl" ]]
git fetch "$AIRSHIPCTL_REPO" "$AIRSHIPCTL_REF" then
git checkout FETCH_HEAD cloneRepo airshipctl https://github.com/airshipit/airshipctl $AIRSHIPCTL_REF
fi
cd $ARTIFACTS_DIR/$MANIFEST_REPO_NAME
if [[ "$MANIFEST_REPO_NAME" == "airshipctl" ]]
then
./tools/deployment/21_systemwide_executable.sh ./tools/deployment/21_systemwide_executable.sh
else
./tools/deployment/airship-core/21_systemwide_executable.sh
fi
mkdir -p bin mkdir -p bin
cp "$(which airshipctl)" bin cp "$(which airshipctl)" bin
fi fi
/signal_complete airshipctl-builder /signal_complete artifact-setup

View File

@ -0,0 +1,23 @@
# 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.
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../base
patchesJson6902:
- target:
version: v1 # apiVersion
kind: Pod
name: airship-in-a-pod
path: patchset.yaml

View File

@ -0,0 +1,37 @@
# 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.
- op: replace
path: "/spec/containers/4/env/3/value"
value: https://review.opendev.org/airship/airshipctl
- op: replace
path: "/spec/containers/4/env/4/value"
value: master
- op: replace
path: "/spec/containers/4/env/5/value"
value: airshipctl
# runner container
- op: replace
path: "/spec/containers/6/env/3/value"
value: airshipctl
# for local testing
#- op: add
# path: "/spec/containers/4/imagePullPolicy"
# value: Never
#
#- op: add
# path: "/spec/containers/6/imagePullPolicy"
# value: Never

View File

@ -20,9 +20,11 @@ spec:
containers: containers:
- name: libvirt - name: libvirt
image: ianhowell/libvirt:latest image: quay.io/airshipit/libvirt:aiap-v1
# Set to true for debugging # Set to true for debugging
tty: false # 18June2021 : reverting #578 fix due to erratic behaviour
# for “setctty: operation not permitted" error, set tty:false
tty: true
securityContext: securityContext:
privileged: true privileged: true
#SYS_ADMIN required for systemd, need to work out reqs for libvirt #SYS_ADMIN required for systemd, need to work out reqs for libvirt
@ -180,9 +182,13 @@ spec:
mountPath: /var/run/ mountPath: /var/run/
- name: srv - name: srv
mountPath: /srv/ mountPath: /srv/
- name: airship-config
mountPath: /root/.airship
- name: var-run-libvirt
mountPath: /var/run/libvirt
- name: airshipctl-builder - name: artifact-setup
image: quay.io/airshipit/aiap-airshipctl-builder:latest image: quay.io/airshipit/aiap-artifact-setup:latest
command: command:
- bash - bash
- -cex - -cex
@ -194,18 +200,22 @@ spec:
command: command:
- test - test
- -e - -e
- /tmp/completed/airshipctl-builder - /tmp/completed/artifact-setup
env: env:
- name: CACHE_DIR - name: CACHE_DIR
value: /opt/aiap-cache value: /opt/aiap-cache
- name: USE_CACHED_AIRSHIPCTL - name: USE_CACHED_ARTIFACTS
value: "false" value: "false"
- name: ARTIFACTS_DIR - name: ARTIFACTS_DIR
value: /opt/aiap-artifacts value: /opt/aiap-artifacts
- name: AIRSHIPCTL_REPO - name: MANIFEST_REPO_URL
value: https://review.opendev.org/airship/airshipctl value: https://review.opendev.org/airship/airshipctl
- name: AIRSHIPCTL_REF - name: MANIFEST_REPO_REF
value: master value: master
- name: MANIFEST_REPO_NAME
value: airshipctl
- name: AIRSHIPCTL_REF
value:
volumeMounts: volumeMounts:
- name: tmp - name: tmp
mountPath: /tmp mountPath: /tmp
@ -217,6 +227,8 @@ spec:
mountPath: /tmp/completed mountPath: /tmp/completed
- name: var-run-docker - name: var-run-docker
mountPath: /var/run mountPath: /var/run
- name: var-run-libvirt
mountPath: /var/run/libvirt
- name: infra-builder - name: infra-builder
image: quay.io/airshipit/aiap-infra-builder:latest image: quay.io/airshipit/aiap-infra-builder:latest
@ -284,6 +296,8 @@ spec:
value: /opt/aiap-artifacts value: /opt/aiap-artifacts
- name: USE_CACHED_ISO - name: USE_CACHED_ISO
value: "false" value: "false"
- name: MANIFEST_REPO_NAME
value: airshipctl
volumeMounts: volumeMounts:
- name: cache - name: cache
mountPath: /opt/aiap-cache mountPath: /opt/aiap-cache
@ -305,6 +319,8 @@ spec:
mountPath: /var/log/ mountPath: /var/log/
- name: var-run-docker - name: var-run-docker
mountPath: /var/run mountPath: /var/run
- name: airship-config
mountPath: /root/.airship
volumes: volumes:
- name: cache - name: cache
@ -321,6 +337,8 @@ spec:
- name: tmp - name: tmp
emptyDir: emptyDir:
medium: "Memory" medium: "Memory"
- name: airship-config
emptyDir: {}
- name: run - name: run
emptyDir: emptyDir:
medium: "Memory" medium: "Memory"

View File

@ -0,0 +1,14 @@
# 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.
resources:
- airship-in-a-pod.yaml

View File

@ -0,0 +1,23 @@
# 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.
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- ../base
patchesJson6902:
- target:
version: v1 # apiVersion
kind: Pod
name: airship-in-a-pod
path: patchset.yaml

View File

@ -0,0 +1,41 @@
# 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.
- op: replace
path: "/spec/containers/4/env/3/value"
value: https://review.opendev.org/airship/treasuremap
- op: replace
path: "/spec/containers/4/env/4/value"
value: master
- op: replace
path: "/spec/containers/4/env/5/value"
value: treasuremap
- op: replace
path: "/spec/containers/4/env/6/value"
value: 63c1faf718fd3341fc5bd975e575e3cf41647206
# runner container
- op: replace
path: "/spec/containers/6/env/3/value"
value: treasuremap
# for local testing
#- op: add
# path: "/spec/containers/4/imagePullPolicy"
# value: Never
#
#- op: add
# path: "/spec/containers/6/imagePullPolicy"
# value: Never

View File

@ -14,8 +14,8 @@
set -ex set -ex
# Wait until airshipctl and libvirt infrastructure has been built # Wait until artifact-setup and libvirt infrastructure has been built
/wait_for airshipctl-builder /wait_for artifact-setup
/wait_for infra-builder /wait_for infra-builder
export USER=root export USER=root
@ -28,35 +28,62 @@ kustomize_download_url="https://github.com/kubernetes-sigs/kustomize/releases/do
curl -sSL "$kustomize_download_url" | tar -C /tmp -xzf - curl -sSL "$kustomize_download_url" | tar -C /tmp -xzf -
install /tmp/kustomize /usr/local/bin install /tmp/kustomize /usr/local/bin
cp "$ARTIFACTS_DIR/airshipctl/bin/airshipctl" /usr/local/bin/airshipctl cp "$ARTIFACTS_DIR/$MANIFEST_REPO_NAME/bin/airshipctl" /usr/local/bin/airshipctl
cp -r "$ARTIFACTS_DIR/airshipctl/" /opt/airshipctl if [ $MANIFEST_REPO_NAME != "airshipctl" ]
cd /opt/airshipctl then
export AIRSHIP_CONFIG_PHASE_REPO_URL="https://opendev.org/airship/treasuremap"
cp -r $ARTIFACTS_DIR/airshipctl/ /opt/airshipctl
fi
cp -r $ARTIFACTS_DIR/$MANIFEST_REPO_NAME/ /opt/$MANIFEST_REPO_NAME
cd /opt/$MANIFEST_REPO_NAME
curl -fsSL -o key.asc https://raw.githubusercontent.com/mozilla/sops/master/pgp/sops_functional_tests_key.asc
SOPS_IMPORT_PGP="$(cat key.asc)"
SOPS_PGP_FP="FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4" SOPS_PGP_FP="FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4"
export SOPS_IMPORT_PGP SOPS_PGP_FP curl -fsSL -o /tmp/key.asc https://raw.githubusercontent.com/mozilla/sops/master/pgp/sops_functional_tests_key.asc
echo 'export SOPS_IMPORT_PGP="$(cat /tmp/key.asc)"' >> ~/.profile
echo "export SOPS_PGP_FP=${SOPS_PGP_FP}" >> ~/.profile
source ~/.profile
export AIRSHIP_CONFIG_MANIFEST_DIRECTORY="/tmp/airship"
# By default, don't build airshipctl - use the binary from the shared volume instead # By default, don't build airshipctl - use the binary from the shared volume instead
# ./tools/deployment/21_systemwide_executable.sh # ./tools/deployment/21_systemwide_executable.sh
./tools/deployment/22_test_configs.sh if [ "$MANIFEST_REPO_NAME" == "airshipctl" ]
./tools/deployment/23_pull_documents.sh then
./tools/deployment/23_generate_secrets.sh ./tools/deployment/22_test_configs.sh
./tools/deployment/23_pull_documents.sh
./tools/deployment/23_generate_secrets.sh
else
./tools/deployment/airship-core/22_test_configs.sh
./tools/deployment/airship-core/23_pull_documents.sh
./tools/deployment/airship-core/23_generate_secrets.sh
sed -i -e 's#bmcAddress: redfish+http://\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\):8000#bmcAddress: redfish+https://10.23.25.1:8443#' /tmp/airship/airshipctl/manifests/site/test-site/target/catalogues/hosts.yaml fi
sed -i -e 's#root#username#' /tmp/airship/airshipctl/manifests/site/test-site/target/catalogues/hosts.yaml
sed -i -e 's#r00tme#password#' /tmp/airship/airshipctl/manifests/site/test-site/target/catalogues/hosts.yaml sed -i -e 's#bmcAddress: redfish+http://\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\):8000#bmcAddress: redfish+https://10.23.25.1:8443#' "/tmp/airship/$MANIFEST_REPO_NAME/manifests/site/test-site/target/catalogues/hosts.yaml"
sed -i -e 's#disableCertificateVerification: false#disableCertificateVerification: true#' /tmp/airship/airshipctl/manifests/site/test-site/target/catalogues/hosts.yaml sed -i -e 's#root#username#' "/tmp/airship/$MANIFEST_REPO_NAME/manifests/site/test-site/target/catalogues/hosts.yaml"
sed -i -e 's#r00tme#password#' "/tmp/airship/$MANIFEST_REPO_NAME/manifests/site/test-site/target/catalogues/hosts.yaml"
sed -i -e 's#disableCertificateVerification: false#disableCertificateVerification: true#' "/tmp/airship/$MANIFEST_REPO_NAME/manifests/site/test-site/target/catalogues/hosts.yaml"
if [[ "$USE_CACHED_ISO" = "true" ]]; then if [[ "$USE_CACHED_ISO" = "true" ]]; then
mkdir -p /srv/images mkdir -p /srv/images
tar -xzf "$CACHE_DIR/iso.tar.gz" --directory /srv/images tar -xzf "$CACHE_DIR/iso.tar.gz" --directory /srv/images
else else
if [ "$MANIFEST_REPO_NAME" == "airshipctl" ]
then
./tools/deployment/24_build_images.sh ./tools/deployment/24_build_images.sh
else
./tools/deployment/airship-core/24_build_images.sh
fi
tar -czf "$ARTIFACTS_DIR/iso.tar.gz" --directory=/srv/images . tar -czf "$ARTIFACTS_DIR/iso.tar.gz" --directory=/srv/images .
fi fi
./tools/deployment/25_deploy_gating.sh if [ "$MANIFEST_REPO_NAME" == "airshipctl" ]
then
./tools/deployment/25_deploy_gating.sh
else
./tools/deployment/airship-core/25_deploy_gating.sh
fi
/signal_complete runner /signal_complete runner