16 Commits

Author SHA1 Message Date
Ruslan Aliev
fc33287204 Remove kubeconfig from config struct
Change-Id: I5ab8722dd151d9e652e0b20e1d82988cd98505af
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2020-10-07 14:35:07 -05:00
Sirajudeen
3e4c228638 Add timeout flag for phase run in cli
Syntax:
	airshipctl phase run <PHASE_NAME> --timeout <time_unit>

Exmaple:
	airshipctl phase run initinfra-ephemeral --debug --wait-timeout 1000s

Change-Id: Ic8c699f5302eb482f32aee0e7d7c593df2ed7d3b
2020-09-28 16:58:18 +00:00
Ruslan Aliev
2f5402ae80 Remove phase apply command
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>
2020-09-23 01:42:16 -05:00
Ruslan Aliev
0c736af2e8 Implement render methods
Change-Id: I03b7aad33576eaa9ef7dfaabfb579ac90cc26a12
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2020-09-23 03:06:51 +00:00
Ruslan Aliev
2e85043c20 Fix typos
Change-Id: I0ce87ec00d2b5974cf861d9c9685f23d7d0f5fc1
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2020-09-21 02:49:33 -05:00
Kostiantyn Kalynovskyi
5c6709478b Switch phase commands to use refactored command objects
Change-Id: I1f9f1620d6e0d3ac836e0189f403b7f794818d53
Relates-To: #342
2020-09-12 15:21:30 +00:00
Ruslan Aliev
fba618225a Remove AirshipCTLSettings from root level cmd
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
2020-09-03 23:52:49 -05:00
Ruslan Aliev
88ec55d34b Refactor phase* commands
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
2020-09-03 23:52:49 -05:00
Ruslan Aliev
4c0d2c0b57 Remove debug field from AirshipCTLSettings
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
2020-09-02 23:41:05 -05:00
Kostiantyn Kalynovskyi
2f1b520ab2 Change executor interface to accept channels
Now Run method will accept channels that they will write
events to, this will allow us to pass channels we want to them,
instead of execting them to return us a channel.

Wait method is removed from interface for now, as it needs more
design.

Change-Id: Ibd47dfe49172f537b79bcc8f83f7c76aece8e862
2020-08-18 09:05:56 -05:00
Kostiantyn Kalynovskyi
5ff6d38e03 Add airshipctl phase run
Commands execution logic will be added when executors are implemented

Change-Id: I78ef95a858117d0c6d407289955228b6ba1a3d5e
2020-08-10 16:07:45 -05:00
Kostiantyn Kalynovskyi
e4adce2bcf Integrate cli-utils applier with phases.
This will also enable us to wait for kubernetes resources to reach
required state

Relates-To: #238

Change-Id: Ia2c9cebd94ca2ef5bfd9ed5830ae469e6aa6b167
2020-07-15 11:10:37 -05:00
Dmitry Ukov
325d824503 Introduce phases and phase plan
Airship API is extended with Phase and PhasePlan objects which
implemet k8s runtime.Object interface. Phase plan command is
added to airshipctl.

Closes: #262
Closes: #261
Closes: #260
Change-Id: I4c299ec9078af4ace29ab46bd6440f47ae18a094
2020-06-23 13:12:36 +04:00
Dmitry Ukov
6d05ae69ee Implement document rendering sub-command
Kustomize filtering and rendering mechanisms are used.

Related: #14
Related: #15
Related: #16
Relates-To: #247
Closes: #247
Co-authored-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: Ied06b95577772cc51f51f3ebb3acd441388d5cda
2020-05-22 12:05:44 +04:00
Ruslan Aliev
bc90c4f39e Move config init and load from root cmd level
There are several commands which do not require to load config:
completion, help, secret, version. Hovewer, PersistentPreRun call
at root level forces airshipctl to load config anyway. Therefore,
we can observe unnecessary config load errors instead of actual result.
This patch moves config load to subcommand level where it is necessary.

Change-Id: I774a7d038c408e71688f7bf04f1cb87a2132a342
2020-05-09 01:51:09 -05:00
Ruslan Aliev
0bbc88b4a9 Add phase commandline option for interacting with phases
Instead of having a lot different arbitrary named commands
such as "cluster initinfra", "cluster control-plane", add
a generic phase command that would provide capabilities
for interacting with phases (e.g. getting list or applying
specific one).

Change-Id: I1ab797121aecbfd2348933dfd993c1a5974edaf9
Relates-To: #162
2020-04-30 12:34:07 -05:00