This trues up treasuremap to the airshipctl change below, which changes
configuration (and naming conventions) to match the new image-builder
that can be used for both iso and qcow generation.
https://review.opendev.org/c/airship/airshipctl/+/758782
Change-Id: I821fda77da899af667a22033281f44dd2dd82a31
Closes: 72
The controlplane-ephemeral phases in both Treasuremap sites use the
ephemeral networking catalog; however, they should use the target
cluster networking catalog since the phases are responsible for
deploying the target cluster. When using the ephemeral networking
catalog, the target cluster tries to reach the ephemeral cluster,
resulting in unsigned certificate errors.
This change updates the references to point to the target cluster
networking catalog.
Change-Id: Ie5dfdee393098d257cbc57542681a8ce3733d316
DocumentEntryPoints in Treasuremap are coupled to site names since the
documents have not been updated to leverage the docEntryPointPrefix
feature. This change enables the feature in order to de-couple phase
documentEntryPoints from site paths, improving downstream consumption of
these documents.
Closes #49
Change-Id: I38b844a22772f9119118d903375c839cd8c84aca
Signed-off-by: Drew Walters <andrew.walters@att.com>
To facilitate catalogue-driven generation of BareMetalHost resources,
airship splits the work into two pieces:
1. <phasename>/hostgenerator/ is responsible for substituting
catalogue variables into a host generation template
2. <phasename>/ invokes its hostgenerator/ as a Kustomize generator:,
leveraging the results of 1. to generate BMH.
However, a weird side-effect of this setup is that the catalogues used
in step 1. above are still hanging around in step 2., and Kustomize
tries to interpret them as generator: plugin configs,
resulting in a rendering error.
Previously, we'd worked around this by having a pass-through plugin
implementation, which performs a no-op generation for the spent catalogues.
However, with the change below, airshipctl migrated to container-based KRM
functions for its kustomize plugins, and also adopted a
strategic-patch-delete mechanism to clean up the spent catalogues,
so that they aren't still hanging around by the time the generation occurs.
https://review.opendev.org/#/c/759279/
Change-Id: I50a9bd2fcc37b70f50b8ded88f152775aff928bc
Closes: #48
This change introduces airshipctl's document pull functionality to the
Treasuremap gate runner job. This enables Treasuremap maintainers to pin
to a version of airshipctl deployment scripts and manifests that are
known to be compatible with Treasuremap's v2 branch.
In order to ensure that the deployment scripts and manifests come from
the same version of airshipctl, this change introduces a playbook that
checks out the referenced version of airhsipctl after it is cloned by
Zuul. It also checks out the known version a second time in the
deployment scripts for operators invoking the scripts in a non-Zuul
environment.
To update the pinned version of Treasuremap using Zuul, change the Zuul
variable airshipctl_ref. To update the pinned version in a non-Zuul
environment, use the environment variable AIRSHIPCTL_REF.
Change-Id: I300f545efcdd024b689a96ee99e502de7fdd1b83
Signed-off-by: Drew Walters <andrew.walters@att.com>
This patchset depends on
https://review.opendev.org/#/c/745176/
where the changes for hostconfig-operator is done.
Change-Id: Ife617020ee3c8833935d0afe03261db9868055be
Phase documents live at the type level in Treasuremap; however, many
test-site phases are defined at the site level. This change adds phase
overrides to the test-site in order to demonstrate patching a phase
path. The same process can be followed to add additional site-specific
phases.
Depends-On: https://review.opendev.org/754729
Change-Id: Ia4ede59c29752a71a17e3aad9118b496ba0d0233
This change adds phase documents to Treasuremap, similar to those in
airshipctl [0]. Phase documents enable airshipctl users to define phases
with document entrypoints in a declarative fashion rather than relying
on hard-coded paths to Kustomize entrypoints.
[0] https://review.opendev.org/749419
Depends-On: https://review.opendev.org/754729
Change-Id: I21dc86972c56e78b501c24dbaae6b5fb3cc2ca28
The clusterctl document name recently changed in airshipctl [0], so the
clusterctl patch in Treasuremap no longer references the document,
causing deployments to fail. This change fixes the name to reference the
clusterctl document by its new name.
[0] https://review.opendev.org/#/c/752595/27/manifests/function/clusterctl/clusterctl.yaml
Change-Id: I5f34f2c5bdf75cc1de1015a11fc4371edeabcab9
New deployment scripts have been added to airshipctl but are missing
from Treasuremap. This change updates the series of deployment scripts
to include those recently added to airshipctl.
Change-Id: Ieb827d079709a3962b35b43b1d5534ba9de20ad5
This takes advantage of version catalogue replacement, which was added to
airshipctl in the changes below. It also refactors the kustomize structure
a bit to support that well.
This adds a treasuremap clusterctl function, which kustomizes the same function
from airshipctl to correct for paths. This replaces the previous
site-level clusterctl entrypoints.
This gives each type and site a catalogues entrypoint, which are wired together
(site inheriting from type, and network-cloud from airship-core) for
inheritance. Each phase that needs catalogue-based replacement now
pulls in its' site's catalogues definition, and then applies any
phase specific overrides only when necessary.
https://review.opendev.org/#/c/746608https://review.opendev.org/#/c/746764/
Change-Id: I18364083f72628f9519af3d2fab0d6a4879d2d14
Relates-To: https://github.com/airshipit/airshipctl/issues/316
This change adds the recently merged helm-operator [0] from airshipctl
to the airship-core and network-cloud (by inheritance) types. This will
enable the deployment of Helm charts in this repository.
[0] https://review.opendev.org/720298
Change-Id: Ia4c02041de3f7d2103438ac0da065188b6949d1a
Signed-off-by: Drew Walters <andrew.walters@att.com>
The test-site target/initinfra phase links to the ephemeral/initinfra
phase of the airship-core type. This change corrects it by linking to
the airship-core target/initinfra phase.
Change-Id: I3476e86d7f6f1224ce8f7a7ab79e6a23009f70fc
Signed-off-by: Drew Walters <andrew.walters@att.com>
This change introduces a virtual site, virtual-network-cloud, that
validates the network-cloud type.
Change-Id: I5e667081dd112a954c91ee2589b9d0e6039fd6d8
This change introduces an outline of the network-cloud type, which will
aim to provide Airship configuration suitable for performance-intensive
telecommunication and networking workloads according to the CNTT
specification.
Most documents include in this type inherit from the airship-core type;
however, this type will evolve to include type-specific documents in the
future.
Change-Id: I98344649ca55dc00151734963265b26d28deec68
Hardware profiles were recently introduced into airshipctl [0], but the
fields are missing from treasuremap node documents. Gotpl does not
handle the nil field gracefully, causing the gates to fail. This change
modifies the treasuremap hosts to point to the default hardware profile
to restore the gate jobs.
[0] https://review.opendev.org/740132
Change-Id: I8600eea5171f8f736b839d02eee9b7fa61a882a6
Signed-off-by: Drew Walters <andrew.walters@att.com>
This adds airshipctl as a testing, and calls its deployment
scripts to launch a VM-based test. This will be used to validate
treasuremap deployment manifests.
Change-Id: If4fa60f896211d2f6b63271b58b96541c399694c
This adds a basic airship-core type and test-site definition, which initially
will point back to airshipctl for everything but site-specific configuration.
Gating is added under a dependent changeset:
https://review.opendev.org/#/c/741648
This removes the yaml-lint job / make target, since that chokes on CRs whose
definitions are not present. YAML validation will be re-enabled by borrowing
the YAML validation from the airshipctl project, which leverages kustomize
and a live kubernetes API server.
Change-Id: I51c469f74be1270325f523343c02d36c2512e739