This commit allows to tolerate up to three timeout errors that
came from poll requests before interruption of apply process.
Change-Id: I6cb95eba908e62ee44be3338c263b20c7dffc34b
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #579
Closes: #579
This PS replaces cluster-api implementation with our own since
it allows to configure timeout.
Change-Id: I5cbba24dd7c6a279fcd2325e904ac7d18348eabf
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #548
Closes: #548
* validation config is now part of airshipctl api
* additional CRD locations can be only kustomize entrypoints
* changed mechanism to call document-validation executor to allow
to pass validation config from phase or plan
* kubeval version pinned to the latest 0.16.1
* default k8s version to validate against uplifted to 1.18.6
* default URL with k8s schemas changed to more updated and reliable
Change-Id: Ifb24be224d5f0860d323a671b94e28a86debc65b
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #563
Transform stringData into base64-enc data manually so the
annotation won't remain from the stringData.
Closes: #424
Change-Id: I4bcfd57601d9199307c749e8e6deb5ee5445d821
* Define GVK for metadata.yaml
* Added supoorting type and registered the kind 'AirshipMetadata' to
runtime scheme
* Used document object to read metadata instead of reading it as config
Relates-To: #530
Change-Id: I748cd0921ba7bb04ca6fb2999294776e6803ed3e
Moves CAPI resources in ephemeral cluster from the 'default'
namespace to a new 'target-infra' namespace.
Closes: #551
Change-Id: I419a71baa8e05e7b57b38234d15b955b36951b40
It would be helpful to have a possibility to configure Timeout
field, as well as others allowed.
Change-Id: I1e0e895b7ca6a17e86a6ad36f405e2538775cbbb
Closes: #553
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
MatchVersionFalgs object should be used instead as cli-utils
library suggests, particularly it will allow us to avoid the
issue when airshipctl apply process stuck after Unknown state.
Change-Id: Id6d6ca69a67cb4a500b150a00df538ffffa11eb3
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #552
Adds an ntp object to the NetworkCatalogue schema
and populates default ntp servers into the networking
base catalogue. Also adds replacement rules in:
* function/k8scontrol/replacements
* function/workers-capm3/replacements
Change-Id: I5dedda563c8825c283e7ba846bedb0b282459d41
Removed the namespace condition check from the validation of 'Move'.
This is to allow validation of docker and cloud provider test site
manifests that do not use namespace.
Relates-To: #503
Change-Id: I39544ba9c9c13ff5a6519b7afd8844629e60087e
The command "airshipctl config get-context" will display the name of the contexts as well as the current context name.
Relates-To: #475
Change-Id: I8234d74f6b98869e27e4974a54b68230d8be8565
This patchset introduces new field to Phase.Config API object
SiteWideKubeconfig - if set to true, the phase will have access
to all kubeconfigs for each cluster defined in ClusterMap.
By default only kubeconfig of the cluster specified in
Phase.Metadata.ClusterName will be available to the phase executor.
This approach will speed up the deployment process because arishipctl
will not have to look for multiple kubeconfigs when running each phase
Closes: #547
Change-Id: Ic92027ba88d3ce8cb769c254968530037540b8fd
This patch will allow us to bypass unnecassary logic in generic
container executor (e.g. mounting kubeconfig).
Change-Id: I526940e8f01c66f7609355a4ef750b38f1d9a323
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
* Generate VersionsCatalogue and NetworkCatalogue schemas using kubebuilder
* Schema for CRDs can be generated with this command
=> make manifests
Change-Id: I61695d523ee0c08739f15a47b2cf8653d925b108
Closes: #532
This will fix a bug, when go routine wasn't finished when program has
exited. Results of the bug was that not all defered statemnets were
executed, which lead to temp kubeconfig not being cleaned up
Relates-To: #541
Closes: #541
Change-Id: If314886d9bed04b2c0f8a5006bc058395f4fdf7a
Now the target path for the default manifest is
$HOME/.airship/default. This is reasonable default
location.
The target path is a mandatory field in the
definition of a manifest. If a user wants
to use her current working directory as a location
the manifests, then it must be properly configured
in the $HOME/.airship/config.
Relates-To: #416
Relates-To: #417
Change-Id: I96601803939df5c7369d1580842dfabeb19aa017
- Use opendev.org/airship/airshipctl/pkg/document.Selector
instead of sigs.k8s.io/kustomize/api/types.Selector
which makes selectors conversion code unnecessary
- Use document.GetSecretDataKey instead of
document.DecodeSecretData which removes code duplicates
Change-Id: Ie2c6b8d8222b7acb1b657f8d786a8c3a06b0c6fd
Added yaml output flag to show plan list in yaml format
Relates-To: #394
Co-authored By: Niharika Bhavaraju<niha.twinkle@gmail.com>
Change-Id: I8bed077573eb79783cfc77e4ebf82c819f41d125
This is needed to be able to select documents inside toolbox
and maybe other KRM functions in the future
Relates-To: #517
Change-Id: I0c0c3552d98bcbe1ea02fb7b582d844a3d8f1c16
This patch introduces ability to validate phases using kubeval.
Appropriate functionality was embedded into phase/plan validate
command.
Change-Id: I1e1ccae2b7e4948bdc97a199c96c07a3eb7292b2
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #503
Closes: #2
Closes: #19
Proposed util functions can set variable amount of env vars at once,
covered with unit tests and handles possible errors in more convenient
way.
Change-Id: Ibd31f528fba1b10be49d1e8cc5e5f29c6b3d902a
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Phase helper provides plenty of useful methods for
a phase client. But these methods are not used by
phase executor initializers except for getting some
configuration values. So, it is better to provide
initializers with necessary values instead of passing
them the phase helper.
Change-Id: I8c596455e30444570a86efad73d792af0ca83a33
Relates-To: #464
Relates-To: #465