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
Even when specifying a manifest branch in the AIAP overrides, the
entrypoint script overrides/disables the checkout behavior of the
airshipctl document pull script if AIRSHIP_CONFIG_PHASE_REPO_REF is not
set. This change updates the entrypoint script to check if
AIRSHIP_CONFIG_PHASE_REPO_BRANCH is specified before overriding the
checkout behavior.
Signed-off-by: Drew Walters <drewwalters@microsoft.com>
Change-Id: Ibb2798201f8e02333289f193355f3aa2a6c627ad
This prevents the runner container from using the cached manifests from
a prior execution of AIAP (as this should only happen when a developer
specifically tells AIAP to).
Change-Id: I79afefd859776654e455265cf69e201039e8ce9e
* Added the logic to support pulling airshipctl from a
private github repo with basic http authentication.
* Added Username, Password in secrets
Relates-To: #632
Relates-To: #636
Change-Id: If1a1bbfaf9ce543cf35377d367b70676f9e3e9ef
The location of the host config file was moved in
e2c56108ee, which resulted in breakages in
AIAP. This updates the file's location in the runner container to
circumvent the breakages.
Change-Id: I3c4b9c92cabcf7549e75da1c77b1775b4cdbc6bb
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
Currently the task containers will reach a conclusive state (success or
failure), and will promptly stop running. This creates the following
problems:
1. In the case of failure, a user doesn't have the ability to exec into
the container for debugging purposes.
2. In the case a success, the readiness probe for each task container
will begin to fail. This happens because readiness is defined by
the existence of a file; if the container stops running, the file
no longer exists.
This change provides a solution to the 2nd bullet, keeping the container
alive in case of success.
Change-Id: Iae432caada3d2a338493b1534da72957808185d2
AIAP was unable to modify certain manifest files when the manifest url
ended in `.git`. This fixes that by stripping off the file extension
from the target path directory.
Change-Id: I3915deeb109fb1df726b27e1dd1deb1c987e39c5
Currently, when a container in AIAP fails, the container continues to
run in the backgroud. This causes the container to be marked as failed
so that the deployment will fail faster.
Closes: #626
Change-Id: I34de366390b6ddc0ef434f7e642e73797a790edf
This parameterizes the base image location used for the libvirt,
artifact-setup, infra-builder, and runner images.
Closes: #628
Change-Id: Idca33b5571017700fead0eb758af1900b4a4fcf4
This exports the KUBECONFIG variable in the .bashrc of the runner
container, which will improve AIAP's convenience for development and
testing.
Change-Id: Icba2558de8c743f6f1a5c8e5a98dcb1d98d95668
When `exec`ing into a container, bash is not invoked as a login shell,
so .profile is not executed. This moves the exporting of the SOPS
variables from .profile into the .bashrc file, which will be invoked in
this case.
This also moves the SOPS key from the /tmp directory into the root
directory. While the /tmp directory shouldn't ever be cleared during the
execution of a container, it doesn't make sense to store enduring
information there.
Change-Id: I2b5c4c12179fb624ae7c6e6ea7e22c517bec04fc
`airshipctl document pull` does not yet support pull from git refs,
and so cannot pull airshipctl patchsets to test their manifests.
As a workaround, this change copies the airshipctl project directory
that is used to build the binary / run the scripts
(which can be set to a patchset via $MANIFEST_REPO_REF) to the
expected /tmp location for serving manifests from patchsets as well.
Support for testing treasuremap manifest patchsets is still unsupported.
Change-Id: Ia9ec248efa2a12728e9eb6d3753b35ec5bae0d47
controlplane_target phase is needed for target cluster more than a
single node
Signed-off-by: James Gu <james.gu@att.com>
Change-Id: I6e77d4268cdee0ebcc65e1f9172ef645ced53337
Introduces Airship in pod. This includes:
* A base image which sets up common requirements
* An image for the libvirt service
* An image for building a specified instance of airshipctl
* An image for initializing the various libvirt infrastructure required
for a deployment
* An image which runs the deployment scripts
Closes: #313
Change-Id: Ib1114350190b0fe0c0761ff67b38b3eca783161a