This allows for container locations and versions for the CAPI functions
to be (optionally) driven by the `versions-airshipctl` versions
catalogue. In addition, this moves the clusterctl config from the site
level to become its own function, which can be further refined
(e.g. for public cloud providers) via inheriting functions, composites,
types, etc.
Change-Id: Ic2b02e256419ee8536f5237327cce2754fd0abff
Closes: https://github.com/airshipit/airshipctl/issues/316
* fix the order of set context/set manifest commands
to configure ~/airship/.config
* fix broken tables in the markdown
* add section to tear down the cluster
Change-Id: I24828160bb0da9ec385d3b9493699eda165f8e3a
* add documentation for docker provider (capd)
* add manifests for docker provider (capd)
* add cluster templates for control plane and workers
* add site definition to use docker provider (capd) with
control plane and workers
Change-Id: I36a643774ce2e468b70ab29568bface3da537d41
Script to remove all stuff that's created by deployment scripts
except files in TMP_DIR. No need to remove it if it's dynamically
created(default). Otherwise user should clean it manually.
Change-Id: I07e45d501521d7e81e8fe29d0b97c539ae493163
Relates-To: #345
This commit adds cluster map api object, cluster map
interface and it's implementation built on top of cluster map api
object.
Important note:
ClusterMap interface needs a method to identify namespace of the
cluster, it can't be a part of api object, because real source for
cluster namespace is cluster object from cluster-api upstream lib.
This will need further design discussion on how we will find
cluster-api kind: Cluster object in our manifests. For now, there
is dummy "default" namespace being used
Change-Id: I8175f54abbe77331f0c87c0bde50857ee5c0eb1d
This module is no longer needed since all config preloading actions
were moved to config module and global flags are stored within root
level cmd.
Change-Id: I411f6717e5b3d2998706c35a82f1e7f1b2aef3a8
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
AirshipCTLSettings will no longer be used by any command, so this
patch removes it from root level.
Change-Id: I2aa1d80ab0785b498af1ac2c86334f9b0d9ff047
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
Config init command will no longer use AirshipCTLSettings for
defining a config object which needs to be saved.
Change-Id: I303f05a8df1e7439d1b3dcfd41cf2679d729a9f8
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
All the phase commands was refactored for usage with new config
factory. Config object now is being initialized in pkg module on demand,
which provides more flexibility and cleaner code.
Change-Id: I742c39788098c3185ce89936ea81cd461bf97af3
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
All the config commands was refactored for usage with new config
factory. Config object now is being initialized in pkg module on demand,
which provides more flexibility and cleaner code.
Change-Id: Ibad0985e30c16efa96109a49edf2840c60305df8
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
These commands are no longer required since we going to remove
clusters and users from config. Appropriate fields will be removed
from Config struct in different PS.
Change-Id: I121280e91e394a38384202d9f5ffaaf4e458f82f
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
All the cluster commands was refactored for usage with new config
factory. Config object now is being initialized in pkg module on demand,
which provides more flexibility and cleaner code.
Change-Id: I1088ecbce0c34a146a646270404ff206b152d310
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
All the image commands was refactored for usage with new config
factory. Config object now is being initialized in pkg module on demand,
which provides more flexibility and cleaner code.
Change-Id: I3c51f201ec70b194ce1f127ff43a28292cf691f3
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
All the baremetal commands was refactored for usage with new config
factory. Config object now is being initialized in pkg module on demand,
which provides more flexibility and cleaner code.
Change-Id: If75cd3f1a8bc22fc47ea132188bd9fec989ee434
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
This extracts the container, disk image, and Kubernetes versions that
are defined in airshipctl functions, into an `versions-airshipctl`
catalogue in the `airshipctl-catalogues` function. The default version
values have been left in-place in their resources as well, and will
be used if the user decides not to apply the catalogue via a
transformer at the site level (it's not currently required to actually
use the catalogue or associate replacment rules).
Please see the READMEs in this change for more information.
Note: replacement of CAPI component container versions must be done
through a slightly different mechanism and will be in a
follow-on changeset.
Note that this also incorporates a fix to pin the Ironic images, which
are currently not compatible at the :latest tag.
Co-Authored-By: Alexander Noskov <anoskov@mirantis.com>
Change-Id: Iafe1d185a7e7d3932576055eda819d2270b02482
Relates-To: https://github.com/airshipit/airshipctl/issues/316
This command was refactored for usage with new config factory.
Config object now is being initialized in pkg module on demand,
which provides more flexibility and cleaner code.
Change-Id: Iff75eb66db2fee922e6db1bf2930892c02c3b601
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
The new approach of config loading allows us to combine and move all
the config loading and verifications actions from cmd to pkg module;
it will be executed on demand only and save us from non expected
runtime errors. The examples of usage will be introduced in further
changes.
Change-Id: I1b4c29f9c5b1de3e46a1faf5c28fea5c7b3eb4e1
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
As part of config refactoring process, we should remove debug field
from AirshipCTLSettings structure since debug variable is stored in
log module.
Change-Id: I02f3c7160ed0301605de32e0d0267be8524ccc12
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
Kubeconfig builder will be a single source of kubeconfig, allowing
to make a decision how to build kubeconfig based on different
parameters, such as path to kubeconfig, dynamic kubeconfig
options, or kubeconfig based on document bundle.
Change-Id: Ia63e11a6f0b327e283d3e7fce169a35d54684dfb
This removes an assumption in the ephemeral cloud-init that
vda should be used to hold ironic images and container bindmounts.
Cloud-init will now use the ram-backed FS if there's enough
memory, and otherwise will default to vda or sda as appropriate.
Change-Id: If2a05348df7fae99598ff76e171b0e88fc2e6f88
AirshipCTLSettings are not used here, so it was removed.
Change-Id: If4bf64b9991b4ac05898632c79bacbacd7872635
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #327
* Use just the major part for the calico version for folder naming.
* For any minor uprades, it will be just reference updates within manifests.
* When moving to major version, then we will add a new folder with
that version naming (v4)
Change-Id: I1ee30af26c3030531ef719a3cb649fb999d0244c
The size of the metal3.io image has increased, and timeouts sometimes
occur within the 1000s range. This change enables overriding the wait
timeout for the initinfra phase on the ephemeral node and increases the
timeout to 2000s by default.
Change-Id: I11d7cdcfa0f7982c68cc7223f52ab20007bca69d
Signed-off-by: Drew Walters <andrew.walters@att.com>