This commit adds git commit hash and build date to airshipctl version
command.
Relates-To: #630
Signed-off-by: Sreejith Punnapuzha <Sreejith.Punnapuzha@outlook.com>
Change-Id: Ic27db40cf80153cb5d3af3accacd33e85d36010d
Current inheritance model we use site -> type -> global is currently
violated inheriting in global phases from type/gating.
Also makes capd job voting.
Change-Id: I9dd6e8b9050fa37b7f38690aebf4fcae71771b80
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
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
* Removed the hardcoded wait condition ( 30s delay )
for docker and libvirtd service
* Added logic to wait until docker is available for artifact-setup.
* Added logic to wait until libvritd is available for infra-builder.
* Added "imagePullPolicy: IfNotPresent" to make use of local changes.
Closes: #629
Change-Id: I8956cf5927be6142fcc0a3b1a112ea82511fd9bb
Currently we use golang images from dockerhub, which sometimes
entail pull rate limit error.
Change-Id: Id8bca8c17c89556c8c424bbdaa4b11efe66d312c
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #635
Currently, there is no way to specify poll interval for
kubernetes-apply phases, however such possibility exists
in cli-utils API and could be helpful for tuning apply
process.
Change-Id: I605767d589920d0f1e10343afd9672c8d615a46a
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
This change aims to clarify the differentiation between deploying AIAP
to Azure and deploying to a native Linux environment.
Change-Id: I3e014589dc02cce1bac5ff32a69c29ef6fc5b9f3
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
This updates the documentation for working with AIAP. This includes
changes to the README as well as adding all configurable values to the
examples (having their default values).
Change-Id: I7c1b92d6a324b0fbd07f27ec0607fc62765c4fa2
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 PS introduces phase plan for CAPD provider
* Adds phase to merge kubeconfig
* Patches type/gating plan to use capd phase plan
* Patches cluster_map and executor to work with "default" namespace
* Fixes CAPD zuul failures
Relates-To: #564
Relates-To: #580
Relates-To: #587
Change-Id: I5007970c907bc87dccf6dd9fcb052afc1b5c13f7
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
1. Extending templater with kyaml functions and creating combined catalogue
to be able to request/update the existing resources.
This is based on 'everything is transformer' concept introduced in kustomize 4.x
That includes gathering all secrets into 1 variable catalogue and
special mechanism to regenerate/merge with manual secrets.
2. Implementing 'catalogue per cluster' approach for secrets.
3. Rearranging secrets so it's possible to use:
pgp (each person may have his own key), age, Hachicorp Vault and etc
and the list of people who can decrypt documents is set in a special file.
Since in some cases there should be a separate list of people who can decrypt
data - this list is set for each cluster (ephemeral and target) separatelly.
Closes: #586
Change-Id: I038f84dd138d5ad4a35f4862c61ff2124c2fd530
This parameterizes the base image location used for the libvirt,
artifact-setup, infra-builder, and runner images.
Closes: #628
Change-Id: Idca33b5571017700fead0eb758af1900b4a4fcf4
This adds the required auth variables to the runner environment so that
a user can configure passwords/keys needed to pull manifests from a
private repository.
Closes: #627
Change-Id: I185a86c0c82be38a0d41bb69f425a8fac8b5b913
This adds the following vairables to be used with the 22_test_configs.sh
script, so that it can generate configs which have access to private
repos.
* AIRSHIP_CONFIG_MANIFEST_REPO_AUTH_TYPE
* AIRSHIP_CONFIG_MANIFEST_REPO_AUTH_KEY_PASSWORD
* AIRSHIP_CONFIG_MANIFEST_REPO_AUTH_KEY_PATH
* AIRSHIP_CONFIG_MANIFEST_REPO_AUTH_HTTP_PASSWORD
* AIRSHIP_CONFIG_MANIFEST_REPO_AUTH_SSH_PASSWORD
* AIRSHIP_CONFIG_MANIFEST_REPO_AUTH_USERNAME
Relates-To: #627
Change-Id: I791e45eb6747e76f0e69a7cdcfde90db570fa1d1
This adds an anti-affinity rule to airship-in-a-pod, so that only
a single AIAP can run on a given node at a time. This is currently
required because of the way AIAP configures host mounts; future work
will allow multiple AIAPs to co-exist on a node, at which point this
anti-affinity rule can be taken out.
Change-Id: Ib8f5062a3bd2b4ea6d0a95c42cce08ac9789c362
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
The `tty` setting may be required in some instances dependent upon the
environment in which AIAP is deployed. However, these instances are much
less frequent than successful deployments when the setting is set to
false. Further investigation will be needed to determine when it is
appropriate to use this flag.
Change-Id: Ibbd44cbf0697a71f8081cd170dbdf5f7b4e4f106
Due to time constraints for several highly valuable feature changes to
AIAP, this change temporarily disables the AIAP script runner, with
plans to re-enable it as soon as all relevant features have merged.
Change-Id: I2c085ed56b8a6bb03a63c06070112b6923e2cfbe
This causes the 22_test_configs.sh to create an airship config file
which supports the new document pull feature introduced in
cb080a2066
Change-Id: I057bd2420f488a9f91ed69d09f73b1336827e7a2
Relates-To: #623
Change-Id: I7bbf052877e4918e168fc4005ea899aa700bae41
This PS add's proxy env variables to artifact-setup
infra-builder, and runner containers in aiap pod to
allow users to pass proxy configuration id required.
Change-Id: I9747597c3534e70f4b69651c044a9cfe21ebc06d