* clusterctl commands are driven through phase run.
So removing install clusterctl CLI utility from gate
script
Change-Id: I1c57aa07a9e19495c94c3080d0ce40dfc0e5dd47
This commit integrates the Azure provider to the Airship 2.0 project.
It adds the following folders:
- manifest/function/capz: This folder contains all manifests required
for the integration of Azure provider.
- manifest/function/k8scontrol-capz: This folder contains the base
manifest for the Azure Workload cluster.
- manifest/site/az-test-site: This folder contains the manifests used
for initializing the CAPI and CAPZ components on the management cluster
invoking "airshipctl cluster init" and manifests used for deploying a
Workload cluster on the Azure Cloud by invoking the command
"airshipctl phase apply azure".
- tools/deployment/azure: provides the script shell that are used in the
zuul gates and local test.
Updated files:
- zuul.d/project.yaml and zuul.d/jobs.yaml have been updated to include
gates for validating the Azure provider integration.
Change-Id: Icbdc7f6f42c159f48dd11e35626da3bc016f5487
This adds gating for helm release management by including a minimal
example workload phase which consists of a HelmRelease for the nginx
ingress controller and a corresponding deployment script including
supporting validation logic.
Change-Id: Ia21a799030289c7e40a0e61292578987ea0f6c63
Relates-To: #351
Since we have switched from debian to ubuntu based image and changed the
name (in https://review.opendev.org/733078) we need to align it with
airshipctl repository.
Renaming the following names:
1) debian-custom.iso -> ubuntu-focal.iso
2) quay.io/airshipit/isogen:latest-debian_stable -> quay.io/airshipit/isogen:latest-ubuntu_focal
Updating the following packages and resources:
1) k8s 1.17.3 -> 1.18.6
2) docker 19.03.9 -> 19.03.12
3) Calico 3.9 -> 3.15
Change-Id: I7eaf382acb79016a511db6e0955fa932c02963c4
We should use interface naming independent on OS, type, speed, slot etc.
This CR takes an approach that is already used for the target node.
To define VMs, their script uses MAC addresses from manifests.
Relates-To: #285
Change-Id: Iafffd23bc584d2daf3fed5ee301491f447498193
This PS has a function which constructs a collection of Metal3 BareMetalHost
resources, along with associated configuration Secrets.
It solves for a couple of things:
1. pulling the nitty gritty details for generating BMH into one reusable place,
2. allowing the site-specific details to be filled in via catalogues of values
This function leverages a couple of different plugins in sequence:
The airshipctl Replacement plugin, which pulls the site-specific data from
the catalogue documents into a Templater plugin configuration; and then
the airshipctl Templater plugin, which generates a variable number of
BMHs in a data-driven fashion.
More details can be found in the README.md in this patchset.
Closes: #245
Change-Id: I3ddbd36dc53ea6afbd633098c985f4b28bcbb793
Removed orphaned local scripts because some roles were removed.
Fixed env vars for proper configuration.
Updated documentation accordingly.
Change-Id: I37f0c8d038fb51ddaa57664a65d347056df6f007
CI jobs have been rewritten in Bash scripts and seem to be working fine for the
past few weeks. Removing now redundant Ansiblle-based CI jobs.
This would reduce workload we impose in CI infrastructure.
Change-Id: I690405f5401da0beeb4b176ab22cffdfda24a09f
apt/yum use is not convenient, package module automatically uses
the underlying OS package manager. Also, some ansible roles currently
use only apt module without yum, therefore patch fixes this bug too.
Change-Id: I5dd49d513d1a791ab51ca6ce6eb1c079542c5624
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
* This commit adds python3-setuptools to required packages, so that
the job airship-airshipctl-update-github-issues will not fail
Change-Id: I7b5a93e83175bb19dd6145f1af6bf7f6fd7a4d61
There is need to ensure that appropriate directory does not exist
before clonining source code into it, otherwise git throws an error.
The destination folder name for cloning was fixed. Variable name which
uses for task fail verification was corrected.
Relates-To: #271
Closes: #271
Change-Id: I9c2bd03f68e6c34fc28b900f11dbaadd190087e8
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
* when remote_work_dir is set, document pull happens from the
remote_work_dir (/tmp/airship) with a folder created within
remote_work_dir with repo name (/tmp/airship/airshipctl).
However the manifest yamls of kind "Clusterctl"
refers to a relative path from work_dir and it fails
finding expected objects.
example: manifests/function/capm3/v0.3.1
* So trying to avoid document pull, and use current dir for workspace.
similar to Zuul gate implementation
Change-Id: I63fd5476247f957745e15cbdfceb5fb483758e83
K8s control plane is deployed by KubeadmControlPlane controller. This
controller creates CAPI machines and infrastructure objects
(Metal3Machine). Metal3Machine objects are created based on a template
which contins host selector label. Control plane label is assigned to a
particular BareMetalHots object defined inside of the shared
kustomization.
Relates-To: #149
Closes: #221
Change-Id: I3be1750aacf9736ece2944045c036f405e404561
This adds a gate which loops over all phases in all sites,
and performs an airshipctl apply --dry-run on them to ensure YAML
validity and schema adherence. Aside from installation tasks,
the gate is run via a makefile entrypoint so that it can be
easily consumed by developers or by non-zuul CICD platforms.
Change-Id: Ie4ab246848a580ab20c3153af1e3749a27e3f770
* Decrypt message which is base64 encoded in secrets
* read change_url from zuul dictionary instead of its
subelement items
Change-Id: I2137be52d4ad8c0a158b6192b6e0a08527c60328
Relates-To: #196
This change enables execute 'airshipctl cluster init' command
as a part of zuul pipeline
Co-Authored-By: Kostyantyn Kalynovskyi <kkalynovskyi@mirantis.com>
Change-Id: I9d499ae66f8d847759c2e61e5d4415f2c9f3c860
Command "cluster initinfra" should be removed since
"phase apply" was introduced instead.
Change-Id: I263f8988a4456fc03314093a55ee1c1da8048404
Relates-To: #162
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Changed systemwide-executable to run in local_src_dir because the script needs
to build airshipctl binary first, before doc pull command can be invoked and populate
the remote_work_dir. Changed the order of the roles to allow systemwide-executable
to run before test-config and pull-docs.
Change-Id: Ia47423d91cdfb2dbbf0259344daab1c7b8cd47f5
Signed-off-by: James Gu <james.gu@att.com>
OpenStack infra has created Zuul project templates that will enable us
to push our documentation to Read the Docs and the Airship website.
While adding a tox file to this project is not ideal, it appears to be
the only way to leverage these jobs at the moment.
This change adds a tox.ini file to airshipctl to build our documentation
and removes the venv solution. The Airship Working Committee will work
with the OpenStack infra team, if possible, to make the publish jobs
more flexible in the future and remove the tox.ini file.
Change-Id: I274cf69a7c79e0aad1d4c9b1decfaf5630f0b18f
Signed-off-by: Drew Walters <andrew.walters@att.com>
Role airshipctl-test-configs should be run after building airshipctl
because it's running binary that is not built yet
Change-Id: I7d352bfbd80f9db50913fae3620170bea9460325