Commit Graph

25 Commits (faa13c51adae311e187380972837d81ca60d3e54)

Author SHA1 Message Date
Ruslan Aliev 583fda5dfe Add possibility to specify 0 timeout via CLI options
Currently zero timeout won't be applied if specified via CLI
options of commands plan run and plan run. This patch fixes it.

Change-Id: Icad06ae8c71d78dc81821e2c5b0adb486d547fda
Signed-off-by: Ruslan Aliev <>
Relates-To: #566
Closes: #566
2021-06-29 01:26:34 -05:00
Ruslan Aliev bc9f97ff2e Embed validation cfg into phase and plan definition
* 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 <>
Closes: #563
2021-06-11 15:37:38 +00:00
Zuul 575023cfcf Merge "Update metadata.yaml to kubernetes style" 2021-06-09 18:06:36 +00:00
siraj.yasin f45ece8294 Update metadata.yaml to kubernetes style
* 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
2021-06-04 03:34:31 +00:00
Kostiantyn Kalynovskyi bbd9b018dd Use site-wide kubeconfig only on demand
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
2021-05-17 23:30:21 +00:00
Niharika Bhavaraju 5085f22c56 [#394] plan list -o yaml changes
Added yaml output flag to show plan list in yaml format

Relates-To: #394
Co-authored By: Niharika Bhavaraju<>
Change-Id: I8bed077573eb79783cfc77e4ebf82c819f41d125
2021-04-29 18:10:57 +05:30
Ruslan Aliev 31995eaf9d Add validation phases
This patch introduces ability to validate phases using kubeval.
Appropriate functionality was embedded into phase/plan validate

Change-Id: I1e1ccae2b7e4948bdc97a199c96c07a3eb7292b2
Signed-off-by: Ruslan Aliev <>
Relates-To: #503
Closes: #2
Closes: #19
2021-04-22 11:37:12 -05:00
Pallav Gupta 10e75b5580 Fix plan list command
The aim of this PS to fix current issue we have when we have
new plan created with description width more than 40 char.
Added condition if width is more than specified in command
so the command execution will not break and just crop
exceeding description length.
Eg: e351b2bc43/pkg/print/table/columndefs.go (L71)

Change-Id: Icc353ec688b2fbb563add39f8d38004008093895
2021-04-15 12:18:23 -07:00
Zuul 6a62e11fea Merge "[#323] Cluster list command to output in table/clusternames." 2021-03-31 03:00:29 +00:00
Zuul ba5e56d3c9 Merge "Introduce plan validate command" 2021-03-31 02:02:55 +00:00
Niharika Bhavaraju 1f90036413 [#323] Cluster list command to output in table/clusternames.
* airshipctl cluster list
* airshipctl cluster list -o table
* airshipctl cluster list -o name(lists cluster names)

Relates-To: #323
Change-Id: Ic4609b8e05984c14acf8f20053123423d5e0088a
2021-03-30 17:03:13 +05:30
Zuul adacadda4d Merge "[#358] Introduce Phase List command to output phase list(pkg module)." 2021-03-30 00:37:04 +00:00
Ruslan Aliev 6076891f31 Introduce plan validate command
This patch implements CLI command to invoke plan validation.
Appropriate functionality was already added to pkg previously.

Change-Id: I038b49c8de0af65f38b62950b27b31d95a6301a9
Signed-off-by: Ruslan Aliev <>
Relates-To: #19
Relates-To: #497
Closes: #497
2021-03-27 12:59:30 -05:00
Niharika Bhavaraju 9bf40366a5 [#358] Introduce Phase List command to output phase list(pkg module).
* Phase list command lists phases of current documentset/plan in
  table or yaml format.
 airshipctl phase list
 airshipctl phase list --plan planName
 airshipctl phase list --plan planName -o yaml
 airshipctl phase list --plan planName -o table(default format)

Relates-To: #358

Co-Authored-By: Niharika Bhavaraju <>

Change-Id: I37add2fc9dca2433de525bac8c2cc9e56fe39621
2021-03-25 20:16:27 +05:30
bijayasharma 60488d4d7a Add phase status command
Signed-off-by: bijayasharma <>
Change-Id: I09fc1e84f195982a43c97f80feb82fb2e489771d
Relates-To: #411
2021-03-25 12:36:01 +00:00
Kostiantyn Kalynovskyi 6207e2c24d Add multiple kubeconifg sources to ClusterMap
Change ClusterMap API object to support multiple kubeconfig sources
for a cluster. If one kubeconfig source fails, kubeconfig builder
will not fail and move on to the next one. This behaviour will allow
to support cases when ephemeral cluster is not accesible anymore or
when target cluster is not yet accessible.

For more information please read issue #460 in airshipctl github

Relates-To: #460
Related-To: #460

Change-Id: I7cd32f78cd7c4ad8814eac357424c24216f40d76
2021-03-10 18:22:30 +00:00
Scott Williams fb997d49e1 Error messages checked expected value
Modified the test framework so that error messages are actualy checked
for an expected value (instead of previously only checking if there was
an error returned)

Closes-Bug: #451
Change-Id: I9c4b172a705a7648467afe41346c389c503e764b
2021-03-03 12:00:36 -06:00
Niharika Bhavaraju e41a63ac8d Phase Validation: pkg/phase change to add Phase validation sub command
Related To #330

Change-Id: I649f0ed487d3469e5a51dac0a9fd234f686c4373
2021-02-24 13:37:10 +00:00
Ruslan Aliev 7bf93ba699 Implement cluster list command
Required for document validation script.

Change-Id: I555173a445278b31ef51ebf831a79e63446a19bc
Signed-off-by: Ruslan Aliev <>
2021-02-08 23:54:57 -06:00
Dmitry Ukov 178b0eff3e Implement plan run command
Change-Id: Ie627ce670cd2b19d6999dc7c7a7a6dc12b25cace
Closes: #395
2021-01-28 10:13:05 +04:00
Dmitry Ukov 069e4069ce Implement plan list subcommand
Change-Id: Ibcd7dbf6dc8cd9d0b018c148017244526651d8ba
Closes: #385
2021-01-27 10:19:54 +00:00
Dmitry Ukov c36a8ea022 Introduce generic table printer
* Table printer is based on cli-utils approach
* Rename 'phase plan' command to 'phase list' and print all Phase
documents from model instead of just printing PhasePlan object

Relates-To: #358
Change-Id: If3c5e2463e32f6794af4c82c12955a45583fce80
2021-01-27 14:10:31 +04:00
bijayasharma f9378e74b0 Add phase tree command in package module
* This commit is the smaller patchset from earlier work:

* This is the first series of patchset

Change-Id: Ib1ff74eba65de7c7c59cf8f4fd26b15e388ba368
Signed-off-by: bijayasharma <>
Relates-To: #296
2021-01-06 19:38:54 +00:00
Vladimir Kozhukalov dc68640389 Phase docs are targetPath + phaseRepo + phase.DocumentEntrypoint
Change-Id: I1d5ea75d1c19eb4ebaf37b28918ccde771bcef85
Relates-To: #356
2020-10-15 13:55:59 +03:00
Kostiantyn Kalynovskyi c46cdebe48 Add phase command objects
Commit adds phase command object that allow easy calls from cmd

Change-Id: I23a9ab3755dbe366ad9b7ce163f75f64f48148cd
2020-09-12 15:21:12 +00:00