This adds a new script to the runner container that is run in the
entrypoint which runs the log gathering ansible playbook from
inside the runner container. The gate then extracts these logs
with a new role.
This also updates the image_build script to fix how it changes
the container imagePullPolicy
Closes: #658
Relates-To: #659
Change-Id: I24d11c66e7b71852256e164343f7bb2f331d1fef
This change updates the 20_apply_aiap.sh script to utilize the
status-checker container to determine if airship-in-a-pod has
successfully completed. It also includes a check to fail when
the status-checker has detected a failure.
Relates-To: #659
Change-Id: I3673de7157f498778154c798878ab20245396c62
This adds the `status-checker` container, which aggregates the statuses
of the task containers. This is useful for quickly checking whether AIAP
is in a failed or successful state, allowing for early exit during
gating or testing. This also prevents the containers from stopping for
any reason, allowing for easy debugging.
Change-Id: I1571d006fb3c856e4d2bedee0befdccae6082a66
The `az aks get-credentials` command adds a context, user, and cluster
to the kubeconfig. This cleans that up when CLEANUP_GROUP is true.
Change-Id: I6563d278e4700363d4d33c2ab746ac18dd0e51dc
This adds a script that a developer can use to run airship in a pod
in a dynamically created AKS cluster. By default a resource group is
created and then cleaned up following the test.
Further work needs to be done to surface some indication of a failed
test out of the pod, and watch for that condition in this script.
Change-Id: I29f462b9becd6d1de0a9e0e1d7877c6019cbd6ee
This change aims to add the airship-in-a-pod test to the gates.
This is accomplished by creating new scripts to run which
install a minimal k8s environment, and then apply the
airship-in-a-pod.yaml.
Brief description of scripts
01_dns_settings: Running k8s pods in zuul has a lot of issues with
DNS resolution which this resolves.
10_install_minikube: grabs latest minikube and other dependencies.
11_build_images: builds the images under tools/airship-in-a-pod
and then adds patches to the kustomize configuration to use and
configure them.
12_start_minikube: starts minikube and makes sure kubectl will work
13_apply_dns.sh: This takes some of the effort from 01_dns_settings
and incorporates it into the minikube cluster by modifying coredns
20_apply_aiap: Applies the airship-in-a-pod.yaml to the cluster.
Has a few loops to check that the cluster is fully running
before applying, and to check on the pod to see if it is ready
before finishing.
Closes: #478
Change-Id: I4c02d04b0eda9395642032bf56b56a0f823c1969