1613 Commits

Author SHA1 Message Date
Ruslan Aliev
b85f8fa8f9 Move kubernetes-apply phase executor to a separate package
Having an executor within applier package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.

Change-Id: I68d909489b691e4fb7129446ef9a3fb085f8683c
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
2020-12-11 14:09:41 -06:00
Ruslan Aliev
36303006af Move isogen phase executor to a separate package
Having an executor within isogen package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.

Change-Id: I2154c0af6c28f47abb2448863332766260106759
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
2020-12-11 14:09:41 -06:00
Ruslan Aliev
71dc1d4703 Move clusterctl phase executor to a separate package
Having an executor within clusterctl.client package creates
potential import cycling. This patch moves it to a separate
package which can be used to conveniently store all the executors
at one place.

Change-Id: Ib0a6072a393e68885d9ef911aa2894a0de055668
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #374
2020-12-11 14:09:41 -06:00
Ruslan Aliev
b799edc0a7 Split isogen package into isogen and isogen_test
We should follow black-box pattern in unit test, so they should be
performed in a separate package. This patch fixes it for isogen
package.

Change-Id: I60a22213e943eaa85ce75979071897c42308e1ae
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
2020-12-11 14:09:41 -06:00
Ruslan Aliev
94a17694ea Move MockDocument implementation to testutils
Currently MockDocument implementation located under pkg/bootstrap/isogen
package, which is not relevant for it and makes it impossible to import
in other test packages. Also _test.go filename is not proper one for
this source file since it doesn't contain any unit tests inside.

Change-Id: I9b3f28df653637701f5d6fca4376da5a22f39658
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #432
2020-12-11 14:09:41 -06:00
Ruslan Aliev
d7ca864295 Move mockContainer implementation to testutil
Currently mockContainer implementation is located under
pkg/bootstrap/isogen and it's not possible to import it from
other packages. This patch moves it to appropriate new package
under testutil.

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To : #432

Change-Id: I36510e8e065434de597e7316dfbe51da0825d343
2020-12-11 14:09:41 -06:00
bijayasharma
6cacf4756f Minor fix on comment message (ClusterKubeconfigContext)
This commit fixes the minor comment message on pkg/cluster/clustermap/map.go
file and not related to any issue.

Change-Id: Ie92a7c09ada8b0983631cbcd0cd82622c068fc5b
2020-12-11 15:15:19 +00:00
Zuul
9774bb9728 Merge "Update IPA packages in ironic" 2020-12-10 22:15:58 +00:00
Zuul
1f666fc64b Merge "Revert "Use global certmanager for clusterctl"" 2020-12-10 21:34:30 +00:00
Vladimir Kozhukalov
be3ce0917a Add progress bool flag for phase run command
* Phase executors accept run options which
   have progress boolean field.
   `airshipctl phase run` must be able to set
   this options from the command line flag.

Change-Id: I0645680ae68bf8690800aac5f3837ca78909ade0
2020-12-10 20:46:38 +03:00
Zuul
5dbacb0a20 Merge "Bootstrap Ephemeral - Command methods" 2020-12-10 17:03:56 +00:00
Sirajudeen
27dee33bfd Revert "Use global certmanager for clusterctl"
This reverts commit 813bdd3614d13cc6bacbf0846c139d8f6da027af.

Reason for revert: This commit was done to avoid duplication of certmanager across all clusterctl components. However with the current notion of maintaining the upstream version as is, this change should be reverted. Also there is WIP to implement cert-manager as a standalone component even before clusterctl tries to deploy its embedded certmanager. So this commit will avoid manipulating the override in the standalone certmanager component

Change-Id: I16b0b002da990eb3f070f69d025cb904f7ef9e27
2020-12-10 15:40:03 +00:00
Battina, Sai (sb464f)
f49b509534 Update IPA packages in ironic
This PS updates ironic deployment with IPA init container
which contains python agent agent packages which are ubuntu based
packages. The docker image for this can found here [0]

[0]
https://opendev.org/airship/images/src/branch/master/ipa-downloader-image

Change-Id: Idaaafb2ddb562cf22a62df36100dd1e6c76211fc
2020-12-10 15:07:04 +00:00
Sean Eagan
3e694a7349 Fix container image publishing
The existing `image_repo` value was leading to invalid image tag name
errors e.g. "https://quay.io/api/v1//airshipit/airshipctl:latest". This
updates the value to match the default DOCKER_REGISTRY value in the Makefile.

Change-Id: Ifa9112c8b91475593300ff04fd069dff703762af
Closes: #437
2020-12-09 11:15:56 -06:00
Sidney Shiba
fb49020d00 Bootstrap Ephemeral - Command methods
This patch set includes the methods supporting the bootstrap
container feature, which will be used by the BootConfiguration
executor, as part of "phase run" implementation.

The methods under command.go file are responsible for creating the
bootstrap container, monitor its state, etc.

Change-Id: I3f6b1a0bb7c7be7ac29487d09ae2ccd5e9f4bd87
2020-12-08 15:41:46 -06:00
bijayasharma
7a0c311356 Add ClusterAPIRef related documentation
This commit adds documentation related to clusterAPIRef.
The PS (https://review.opendev.org/c/airship/airshipctl/+/759514)
related to this already got merged.

Change-Id: Icd372908f371b9578933d7751189af485c81070f
Signed-off-by: bijayasharma <vetbijaya@gmail.com>
Relates-To: #376
2020-12-08 18:18:04 +00:00
Zuul
4aa3abd8b0 Merge "Unit tests for cluster check-certificate-expiration command" 2020-12-08 16:42:58 +00:00
Zuul
9346bd88e8 Merge "Add printers for events" 2020-12-08 16:22:41 +00:00
Zuul
431d9fcf13 Merge "Uplift kustomize api and kyaml versions" 2020-12-08 16:16:30 +00:00
Ratnopam Chakrabarti
630464bb8d Change target cluster name for CAPG provider
Change target cluster name from gtc to target-cluster for
CAPG provider

Relates-To: #426

Change-Id: I0e694cfae1957a84b668cd36f344dd7c2d00db3d
2020-12-07 18:06:00 +00:00
Zuul
45b75b6802 Merge "Add plan subcommand group frame" 2020-12-07 17:43:17 +00:00
Ratnopam Chakrabarti
e9f9d27732 Update CAPG test site to support phase run
Added support for following phases in CAPG provider
 clusterctl-init-ephemeral
 controlplane-ephemeral
 initinfra-target
 clusterctl-init-target
 clusterctl-move
 workers-target

Added support for deploying calico CNI for CAPG
through initinfra-target phase

Relates-To: #425
Change-Id: I91b29e561444d82d33802157eba5a1d94b25ba04
2020-12-07 11:45:47 -05:00
guhaneswaran20
fd768e36a2 Unit tests for cluster check-certificate-expiration command
Reference:- https://hackmd.io/aGaz7YXSSHybGcyol8vYEw

Closes: #391

Change-Id: I2e16eb99eca17f809196f9691cc8d0671b6ac15c
2020-12-07 04:57:51 +00:00
Zuul
bf4b794502 Merge "check node certificate expiration" 2020-12-04 23:40:32 +00:00
Vladislav Kuzmin
feadd70f34 Add printers for events
It will allow users to see what's happening during phase execution.

Change-Id: I31c4f98ccbd811ac88c7eabdf5efbe6ffaae6a41
Relates-To: #339
2020-12-05 00:26:02 +04:00
Zuul
d649d9d450 Merge "Update CAPO documentation" 2020-12-04 18:54:41 +00:00
Zuul
fbcfac6660 Merge "Add baremetal inventory implementation." 2020-12-04 18:54:33 +00:00
Dmitry Ukov
653a553d1c Add plan subcommand group frame
Change-Id: Ie90b88ed47fb0050b874eecadafeef3d3fc5f3b1
Relates-To: #395
Relates-To: #385
2020-12-04 17:29:09 +04:00
Dmitry Ukov
aa46185975 Uplift kustomize api and kyaml versions
Change-Id: Id8334a74efb7f1004a36f2bfc0c6eca81380ef4d
Relates-to: #369
2020-12-04 13:43:26 +04:00
Ruslan Aliev
4258d1904e Add missing metadata.yaml definitions
Some of sites defined in document model have no metadata.yaml,
which is essential to work properly with that sites.
 * az-test-site and gcp-test-site metadata.yaml added
 * metadata.yaml for test-site moved to appropriate directory
   for consistency

Change-Id: Ibec109e41a5e3fd36794dc6a879888cfc610c9cc
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #19
2020-12-03 19:34:09 -06:00
Zuul
a5c96cb430 Merge "Removing Azure Zuul Gate" 2020-12-03 23:18:39 +00:00
Kostiantyn Kalynovskyi
4698abad49 Add baremetal inventory implementation.
The implementation is inspired by pkg/remote module, and evolves
it to be built on top of document bundles as well as makes it
more command line oriented by adding RunOperation method.

Change-Id: If95a007986eb61c977c1ddbe5a94cfbeefeac225
Relates-To: #397
Relates-To: #362
Relates-To: #359
2020-12-03 12:41:56 -06:00
guhaneswaran20
426340e31c check node certificate expiration
Reference:- https://hackmd.io/aGaz7YXSSHybGcyol8vYEw

Relates-To: #391

Change-Id: I8c9c83dfb2eb11af48857fb96404dcf2eb3eaa55
2020-12-03 08:14:55 +00:00
Zuul
b5b03bb1de Merge "Fix plugins documentation" 2020-12-02 23:44:05 +00:00
Zuul
aa01f31995 Merge "Add deepcopy generate gate enforcement" 2020-12-02 23:43:59 +00:00
Zuul
c3fb0fce35 Merge "Extend document filesystem with chmod and dir methods" 2020-12-02 23:38:33 +00:00
Zuul
4be3ae03eb Merge "Azure provider integration - CAPZ Calico" 2020-12-02 18:56:37 +00:00
Zuul
92ceea5581 Merge "Add generic container executor" 2020-12-02 17:15:55 +00:00
Zuul
c5342bd833 Merge "check kubeconf certificate expiration" 2020-12-02 16:43:47 +00:00
Sirajudeen
5ad2a3fd06 Make resources configurable for log collection
* Updated the clustered objects and namespaced objects to
  use a custom list when defined, otherwise fallback to
  the existing default list.
* This will allow other providers to trim down or change the
   resource names for log collection

Change-Id: I4e19e558470186943f66b6e1f69221b85bab739d
2020-12-02 15:47:06 +00:00
Ruslan Aliev
05b5ca599b Extend document filesystem with chmod and dir methods
These methods will be used instead of calling their direct
analogs in the code in order to have more consistency.

Change-Id: Ie2eaf03b1fbd049ed5788f1a769a332ef863494b
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #415
2020-12-02 09:03:17 -06:00
Zuul
e187740af8 Merge "Move document filesystem to a separate package" 2020-12-01 23:15:21 +00:00
Sudeep Batra
511ee4ea3a Added a quickstart section to build All-in-one VM setup
Change-Id: Ic1c35126dd3be2d9f0c033d1a267fd88441fa0fd
2020-12-01 14:29:15 +00:00
Ruslan Aliev
ca71de3951 Move document filesystem to a separate package
In order to widely use filesystem interface in airshipctl
there is need to move it to separate package to avoid
importing unnecessary dependencies from document
package and, as a consequence, possible cyclic dependencies.
 * filesystem moved from document/fs to pkg/fs

Change-Id: I3b6298462f03db43594a9fa26bf23ab7687c5589
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #415
2020-11-30 19:51:30 -06:00
Sidney Shiba
3e3dadb8b7 Azure provider integration - CAPZ Calico
Azure does not currently suport Calico networking.
As a workaround, this patch set includes CAPZ Calico manifests that uses
VXLAN, instead.

The CAPZ Calico manifest are located under
manifest/function/cni/calico-capz.

Change-Id: Iadb2d5e10131e6a2df8cef49e2ec189ab948eeb9
2020-11-30 17:29:26 -06:00
Anderson, Craig (ca846m)
2cf38f248d Add deepcopy generate gate enforcement
Reject commits to the airshipctl repo that contain a
manually edited zz_generated.deepcopy.go file (i.e. one that does not
match the auto-generated version).

This will also prevent code from merging which fails to generate a
deepcopy file.

Change-Id: I4f06cd852237f7b3d8643d859775c16c3cd47530
2020-11-30 06:39:17 -08:00
Vladimir Kozhukalov
3bdde483fe Fix plugins documentation
Change-Id: Ieb5cb66ee63b06c2e97e107b4c5def936b81ede3
Relates-To: #405
2020-11-26 17:18:35 +03:00
Vladislav Kuzmin
258b81122e Add generic container executor
This executor based on kyaml.RunFns[1].
It allows to execute arbitrary container as RunFns function
and handle any input data as ExecutorBundle.
Be aware that runtimeutils.FunctionSpec used for version 0.4.1[2]
and it can be changed in the future. It means that yaml scheme
of executor can be changed during kyaml uplift.
This executor transforms executor yaml to RunFns function acceptable format.

[1] https://github.com/kubernetes-sigs/kustomize/blob/master/kyaml/runfn/runfn.go
[2] https://github.com/kubernetes-sigs/kustomize/blob/kyaml/v0.4.1/kyaml/fn/runtime/runtimeutil/functiontypes.go#L22

Change-Id: I9eb648783f1ed462d2b8359d9dc86320c4db2a83
Closes: #202
Closes: #369
2020-11-26 17:11:56 +04:00
Ratnopam Chakrabarti
98930c137a Update CAPO documentation
Updated openstack-test-site and phase names

Change-Id: I4526bcfda57687ae84e677cf88c7217dd1394927
2020-11-24 15:00:45 -05:00
Zuul
c18db07043 Merge "Azure provider integration - K8S-Control & Workers" 2020-11-23 18:41:40 +00:00