This introduces airshipctl integration with image-builder [0], which
replaces the existing isogen tool for ephemeral ISO generation.
The airshipctl isogen executor has been updated for building ephemeral
ISOs using the image-builder container. The ability for user-declared
filenames for cloud-init user data and network data was removed, since
the user's only interest is in supplying the relevant overrides, not in
transparent naming coordination with the image-builder container. A new
object is added to the document package to identify the document kind,
label, and key to retrieve data from since this is pattern we will
reuse elsewhere.
Progress flag removed as requsted. Progress is reported directly by the
image-builder container.
Isogen debug flag removed in favor of using log.DebugEnabled()
[0] https://review.opendev.org/#/c/730777/
Depends-On: https://review.opendev.org/c/airship/images/+/730777/
Change-Id: I545004feaf2116f8ffb29faf6f7f7f5fcfe24fff
This commit adds toleration for taint master NoSchedule to different
components. This will help us in managing components that gets deployed
in kubernetes master nodes
Relates-To: #406
Change-Id: I9f3a30be9c4eed65dcdd1c41514abbfd9c384541
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
* add common scripts for providers capd/capg/capz/capo
to do the following:
- install kind (reuses tools/document/get_kind.sh)
- improve tools/document/start_kind.sh to use
custom kind config file
- created a script similar to 26_deploy_metal3_capi_ephemeral_node.sh,
called tools/deployment/26_deploy_capi_ephemeral_node.sh and
made it flexible for all providers (metal3/capd/capz/capg/capo)
- deploy ephemeral control plane
- initialize target node
- move crds from ephemeral to target
- deploy target workers
Closes: #413
Change-Id: If3520d000a03e5ed26d54e1ceedb2febfceccb3d
Some of sites defined in document model have no metadata.yaml,
which is essential to work properly with that sites.
* az-test-site and gcp-test-site metadata.yaml added
* metadata.yaml for test-site moved to appropriate directory
for consistency
Change-Id: Ibec109e41a5e3fd36794dc6a879888cfc610c9cc
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #19
This adds functions for the helm-controller and source-controller from
Flux v2 [0]. The helm-controller depends on the source-controller and
so this includes a composite to wrap both. These components replace the
Helm Operator, which is now removed from the gating setup. The Helm Operator
function itself will be removed after a suitable migration period.
This also adds a format for Helm chart and Helm repository sourcing
to the versions catalog.
[0]: https://fluxcd.github.io/flux2
Closes: #372
Change-Id: I7287f1bb5b1ebd1dba9920cc0bed8c867720b4c1
Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
This change removes the SubPath entry portion of the config manifests, and
refactors several areas that used it. This also updates unit tests to
reflect the new changes.
Closes: #255
Change-Id: Ibbb519a3f1fb28a1594e971274c5de54b99c867e
In 10_buid_scrip.sh script sudo call needs user's environment
variables for proxy configuration, in case it is run behind a
proxy.
Change-Id: Ia084cba548e19340d25ef941e96336d9e420bec0
We don't use clustertype anymore, so all the related functions must
be deleted or adjusted as well as appropriate config fields.
Change-Id: I3931fdc71d4318e916f8bbc2d94e062c9df5f641
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #349
* clusterctl commands are driven through phase run.
So removing install clusterctl CLI utility from gate
script
Change-Id: I1c57aa07a9e19495c94c3080d0ce40dfc0e5dd47
Fix shell syntax causing gates to silently fail with error
./tools/deployment/35_deploy_workload.sh:
line 33: 404: command not found
Change-Id: Id49dde7e7c50f6596359e5ec7b6643401797ac9a
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
There is need to remove airshipctl artifacts in /tmp/airship,
docker containers/images and left processes which use port 8000 or 8099.
Change-Id: I682cf5a6f41875d5be77aa552e4743c9b8cf17df
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
This change adds an environment variable override to change the metadata
path in the Airship config file when using the CI-driven deployment
scripts. This will enable the Treasuremap repository to store
metadata.yaml at the site level while using the same deployment scripts
from airshipctl.
Change-Id: I0862a87417ad7a4d8666df7b34e25327bb40e251
Signed-off-by: Drew Walters <andrew.walters@att.com>
* Whenever the CLI usage is updated, it is required to run
make cli-docs. So added that check in git-diff to capture in gates
if missed by user
Change-Id: I47be48e921505593e745c11ce139f8079abc686a
Currently we don't test document pull step by rewriting
manifest_directory variable as current source path, which
makes a mess in target_path, manifest_path and related paths
(concatenation of target_path+manifest_path won't return
an existing and proper location). This patch organizes
mentioned variables and enables document pull step which
starts working properly. The latest repo state used as
git source for this command.
Change-Id: I5abce73877441c7529f2f77add79cf410e2226d8
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
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
Command phase run will be used instead, so phase apply became no
longer needed.
Change-Id: I8bdbd6bcad7efbb03632978d8952700fc39d55ba
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
All of these entities are no longer required and should be deleted.
Change-Id: Id4776efe668265df6961a38ce984b8ac37b27097
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
This commit allows to stop using phases with hardcoded paths to
kustomize entrypoints. Instead we use phase documents defined
in bundles. Phase document has a reference to executor such as
kubernetes apply and clusterctl init. More executors are being
developed
Relates-To: #342
Change-Id: I8babd9d0379763773c443e263373e9816f9dbd39
* Inject target-cluster-ca as sceret
* Create kubeconfig using gate scripts with both ephemeral and
target clusters.
* With both contexts predefined in kubeconfig,
just switch/use context in gate scripts as required.
* Removed the use of airshipctl import from gate script
Change-Id: I5a9a56db71f0a80d9b35144eacbdd980c13c9ffb
Relates-To: #329
Closes: #329
* add steps to clean iso and network for gates
Change-Id: I7ffc62cac9690e524c559af554ff6d1a70683368
Signed-off-by: Sreejith Punnapuzha <Sreejith.Punnapuzha@outlook.com>
* uplift capi, cabpk, cacpk and capm3 in test site defination
* uplift images in version catalogue
* add api timeout in controlplane
* add timeout for phases
Change-Id: I9de15c4e1979c12eeedb55fbe721b5e7adfe496b
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>