1344 Commits

Author SHA1 Message Date
Sirisha Gopigiri
07b66906ad Cmd changes to add regex support
Added support to accept regex parameter as part of `airshipctl secret
generate encryptionkey` command. This allows user to pass regex parameter
so that the passphrase generated matches the regex.

Relates-To: #398

Change-Id: I3914e6a896bb669e3974fe67c466336e15989a8d
2020-11-18 11:32:28 +05:30
Zuul
1918421ae8 Merge "Adding Utility to generate CA" 2020-11-17 07:26:09 +00:00
Zuul
4b6a28e6fd Merge "Github action to create release notes" 2020-11-16 23:39:39 +00:00
Ruslan Aliev
f7217245a7 Add --overwrite option to config init cmd
Currently airshipctl will overwrite an existing config file
by default during config init execution. This patch adds an
appropriate flag to explicitly control whether the user wants
to overwrite an existing file or not.

Change-Id: I9f4756b98e9d1245145809aed203974e99feb662
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2020-11-14 00:52:37 +00:00
Zuul
3561c28862 Merge "Add inventory interface definition" 2020-11-13 23:06:44 +00:00
Sean Eagan
40a711ab88 Github action to create release notes
When a new tag is pushed (and mirrored to github), this github action
generates release notes, and creates a draft release which can be
published via the github UI after any manual verification or edits.

An example draft release, generated using act [0] is available for review
for those with sufficient access:

https://github.com/airshipit/airshipctl/releases

This could be extended in the future to accomplish other release tasks:

- add version-tagged image to quay
- integrate with goreleaser[1] (publish go binaries)
- publish documentation

[0]: https://github.com/nektos/act
[1]: https://goreleaser.com

Change-Id: Iedb70b0c330df0356fa74d94c1d4a45c3343cc2e
Relates-To: #354
Closes: #390
2020-11-13 15:11:06 -06:00
Zuul
411bbf899a Merge "Align CAPO to use catalogue-driven versions" 2020-11-13 02:59:09 +00:00
Zuul
ab63c191b0 Merge "Move remote client interface to separate package" 2020-11-13 02:03:30 +00:00
Zuul
e14314b624 Merge "Refactoring masterpassphrase cmd to encryptionkey" 2020-11-12 23:43:32 +00:00
Sirajudeen
b266e18fd4 Image override for cert-manager components
* Images added to clusterctl object like Providers
  So that repository and tag for one or all of the cert-manager
  components can be overriden using patch/replacement

clusterctl Documentation for Image Override:
  https://cluster-api.sigs.k8s.io/clusterctl/configuration.html#image-overrides

Change-Id: Id9de8d1967e49aeb3293f6802e51d66d598333ae
Closes: #350
2020-11-12 17:12:23 +00:00
Zuul
f61d983673 Merge "Add local containers cache support to CI" 2020-11-12 15:21:22 +00:00
Zuul
1d88ef7022 Merge "Update Go base images" 2020-11-12 04:19:34 +00:00
guhaneswaran20
c514384626 Adding Utility to generate CA
This patchset provides utility to generate CA crt and keys. This
is needed for `airshipctl secret generate certificate`

Design Document : https://hackmd.io/@sirishagopigiri/HkXlX-mLv

Relates-To: #402

Change-Id: I5a7c3aba636a8a03523e243f6487b766125f4222
2020-11-12 03:51:52 +00:00
Zuul
df3764b7ac Merge "Remove document plugin subcommand" 2020-11-12 03:03:33 +00:00
Roman Gorshunov
5fcc994f51 Add local containers cache support to CI
OpenDev Zuul CI hosts cache of docker containers on
{{ zuul_site_mirror_fqdn }} host. Set up docker on main VM to use it.

This change reduces time needed to run majority of our jobs by 1-3 min.

Change-Id: I6f7c88ff0e45fb48a0fa1369c6dc593f85cb7c3e
2020-11-11 17:18:51 +00:00
Drew Walters
7697d7561d Update Go base images
Recently, Docker.io imposed container registry pull limits, and we have
exceeded them. This has impacted continuous-integration testing in this
repository.

This change updates our base Go images from those hosted on docker.io to
gcr.io in order to circumnavigate pull restrictions.

Change-Id: I2a990846b1a49010ff2a403d99413d8162322804
Signed-off-by: Drew Walters <andrew.walters@att.com>
2020-11-11 16:49:51 +00:00
Kostiantyn Kalynovskyi
d05579b4a4 Add inventory interface definition
This interface will be used by executors and other
commands to interact with remote hosts.

It is split into generic inventory and BaremetalInventory to
keep open door for cloud providers. In the future, if we
decide to that we need, for example list VMs in google, azure,
openstack or any other clouds, we would extend inventory interface
with approprate more sepcific inventory such as OpenstackInventory
etc...

Relates-To: #297

Change-Id: Ie19ed6047390e09a658c1e943b5e83d88e9668bf
2020-11-11 16:24:38 +00:00
Kostiantyn Kalynovskyi
d442e20dcb Move remote client interface to separate package
This will allow to add constructors that return interface
instead of struct.

Relates-To: #397
Relates-To: #362
Relates-To: #359

Change-Id: Ia750d5c9472041b34ab74a2935ef77ae955a016e
2020-11-11 16:24:29 +00:00
Ratnopam Chakrabarti
379c42a7b2 Align CAPO to use catalogue-driven versions
Update CAPO provider manifest to inherit clusterctl from
  functions and patch the infrastructure provider details
  Add capo versions in base-catalog

Change-Id: I8f1f59857dcbf163af01a5a766451e6579ded148
2020-11-11 15:18:40 +00:00
Kostiantyn Kalynovskyi
f2e305a56d Fix missing authentication for redfish dell client
Change-Id: Iffd26171b75ce10dd15d66583b6bda249156c34d
Closes: #396
2020-11-11 15:08:45 +00:00
Zuul
7a404c6fa6 Merge "Incorporate HWCC in deployment gate." 2020-11-11 12:08:22 +00:00
Dmitry Ukov
9c69138990 Remove document plugin subcommand
This change finalises shift to new version of kustomize plugins

Change-Id: Ie47f42a9e2c4dc03fc4dca437020ad71a564d894
2020-11-11 14:59:14 +04:00
Zuul
084ed45ef3 Merge "Adds command objects for cluster check-certificate-expiration" 2020-11-11 10:09:30 +00:00
Sirisha Gopigiri
62ae2133ba Refactoring masterpassphrase cmd to encryptionkey
The below code changes the `airshipctl secret generate masterpassphrase`
command to `airshipctl secret generate encryptionkey`. This command will
be further enhanced to support regex fields while generating encryption key.

Relates-To: #398
Change-Id: I87626cb410fd19beeb8cd23a5b86d61c48b63e63
2020-11-11 08:59:13 +00:00
Zuul
9c9369088c Merge "Change image tags" 2020-11-11 05:57:40 +00:00
Zuul
f6ed45adfd Merge "docker-test-site for docker provider (capd)" 2020-11-11 02:47:30 +00:00
Zuul
3e17bbf439 Merge "CI: run gate runner only on request and on merge" 2020-11-10 22:30:58 +00:00
Rishabh Kumar Jain
a3aeb6cd00 docker-test-site for docker provider (capd)
*  adjust docker-test-site to execute the
below phases with docker provider

         clusterctl-init-ephemeral
         controlplane-ephemeral
         clusterctl-init-target
         clusterctl-move
         workers-target

Change-Id: I781189d9e1689237f8736e6d64a73014aed5b3c3
2020-11-10 21:43:37 +00:00
Sreejith Punnapuzha
c2e5cb13f2 Change image tags
* Change templater image tag from dev to latest
  * Change replacement-transformer image tag from dev to latest
  * Change Makefile to build images with tag latest

Change-Id: Iff074d6fe771cce48dae7190fbc69cc437138817
Signed-off-by: Sreejith Punnapuzha <sreejith.punnapuzha@outlook.com>
2020-11-10 12:23:25 -06:00
Zuul
553423aad4 Merge "Update proxy guide" 2020-11-10 16:19:07 +00:00
Roman Gorshunov
5b862d81c3 CI: run gate runner only on request and on merge
The airshipctl gate runner consumes 16GB RAM VM node. Currently we have
insufficient compute capacity to run it on every patch set change.

This patch set makes gate runner run only on request and on Zuul gate
(pre-merge) to reduce workload imposed onto community CI.

Request to run airshipctl gate runner is a comment
"check experimental"
left to a patch set in Gerrit.

Change-Id: I5cb2a80b5cdc9dd025249e313d29eab62cbb3446
2020-11-10 14:07:00 +01:00
Rajat Sharma
854e25355b Incorporate HWCC in deployment gate.
Added sample HCC profiles and deployment script to apply profiles.

Change-Id: If8152a0afda142c40a53ddf9a4bd6866b435b0e5
Co-Authored-By: Rajat Sharma <rajatcu143@gmail.com>
Relates-To-Issue: #326
Depends-On: #738410
2020-11-10 16:12:28 +05:30
Zuul
d90453a46b Merge "[#376] Add clusterapi name and namespaces to clustermap" 2020-11-10 01:41:15 +00:00
Drew Walters
a0f10f05d4 Update proxy guide
This change updates the proxy guide to work with the latest airshipctl
proxy implementation [0]. Whereas users previously needed to modify YAML
documents to use Airship behind a proxy server, users now only need
environment variables.

Additionally, this change includes instructions for using custom DNS
nameservers.

[0] ed1619d336

Change-Id: Ib03293c4f4fa58df60fb48ab8a76227a48ea6fbe
Signed-off-by: Drew Walters <andrew.walters@att.com>
2020-11-09 22:04:22 +00:00
Zuul
788d846b01 Merge "Introducing subcommand cluster check-certificate-expiration" 2020-11-09 21:52:39 +00:00
bijayasharma
dfd82242d7 [#376] Add clusterapi name and namespaces to clustermap
This commit will add clusterapi name and namespaces with a given cluster
to a clustermap.

Refer code from this PS: https://review.opendev.org/#/c/759805/

Change-Id: I1937efa0bbf0b5b175d18777fdf4ba837d1d7344
Relates-To: #376
Closes: #376
2020-11-09 21:11:04 +00:00
Zuul
c99ccb6f7b Merge "Fix Version Catalogue replacement for Clusterctl" 2020-11-09 18:50:49 +00:00
Sidney Shiba
f4e532e91a Extending Container interface and package
Adding the following method to the interface and implementation for
docker container:
- InspectContainer() - used to determine container status

Change-Id: I4a8096f4f5addad31daa5038a30b1ffcf1d424e9
2020-11-08 13:55:35 +00:00
Sirajudeen
a360ebf9da Check if commit is linked to github issue
* Non-Voting gate to check if commit is linked to github issue

Change-Id: I8a4ea350382f8f2ed58ce49d52f1386d9c0d9c92
Closes: #387
2020-11-06 18:45:34 +00:00
Sirajudeen
f259bc8a62 Fix the lint job name in azure gate runner
* Recently the lint and test jobs are separated
* update the reference to lint and test job names
  marked as dependency for azure gate runner

Change-Id: I9bf495143b14d248c54c20e4814ac236b167eba1
2020-11-06 18:44:25 +00:00
Zuul
d3360a9451 Merge "Add helm-controller and source-controller" 2020-11-06 18:16:40 +00:00
Zuul
a4d7410830 Merge "Separate lint job from the test" 2020-11-06 18:16:39 +00:00
guhaneswaran20
dd03db0916 Adds command objects for cluster check-certificate-expiration
Reference:- https://hackmd.io/aGaz7YXSSHybGcyol8vYEw
Previous work:- https://review.opendev.org/#/c/755291/

Below is the complete ordered flow of PS for the feature:
https://review.opendev.org/#/c/760498/ - Cobra command
https://review.opendev.org/#/c/760501/ - Command Objects
https://review.opendev.org/#/c/760504/ - TLS check
https://review.opendev.org/#/c/760517/ - Kubeconf check
https://review.opendev.org/#/c/760532/ - Node check
https://review.opendev.org/#/c/760537/ - Combined Unit tests

Change-Id: Ie0fac7799724b7fb2255e387b7e90b26159bda5c
Relates-To: #391
2020-11-06 13:14:21 +00:00
Sean Eagan
2ba6561854 Add helm-controller and source-controller
This adds functions for the helm-controller and source-controller from
Flux v2 [0]. The helm-controller depends on the source-controller and
so this includes a composite to wrap both. These components replace the
Helm Operator, which is now removed from the gating setup. The Helm Operator
function itself will be removed after a suitable migration period.

This also adds a format for Helm chart and Helm repository sourcing
to the versions catalog.

[0]: https://fluxcd.github.io/flux2

Closes: #372

Change-Id: I7287f1bb5b1ebd1dba9920cc0bed8c867720b4c1
Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
2020-11-06 09:52:16 +00:00
Zuul
9bf8802efd Merge "Skip azure gate runner on irrelevant files" 2020-11-06 06:54:53 +00:00
guhaneswaran20
260d6905a4 Introducing subcommand cluster check-certificate-expiration
This command runs through the cluster and reports expirable
entities

Reference:- https://hackmd.io/aGaz7YXSSHybGcyol8vYEw
Previous work:- https://review.opendev.org/#/c/755291/

Below is the complete ordered flow of PS for the feature:
https://review.opendev.org/#/c/760498/ - Cobra command
https://review.opendev.org/#/c/760501/ - Command Objects
https://review.opendev.org/#/c/760504/ - TLS check
https://review.opendev.org/#/c/760517/ - Kubeconf check
https://review.opendev.org/#/c/760532/ - Node check
https://review.opendev.org/#/c/760537/ - Combined Unit tests

Change-Id: I7e20a6d3821877e16a5bc2cb8de3dd3c8b7850e2
Relates-To: #391
2020-11-06 05:28:47 +00:00
Zuul
eebd884b66 Merge "Kubeconfig should be site specific" 2020-11-06 02:40:27 +00:00
Zuul
ee120fde74 Merge "Adding Bootstrap Event" 2020-11-06 00:01:01 +00:00
Matt McEuen
4810509fa3 Fix Version Catalogue replacement for Clusterctl
A previous patchset was intended to accomplish a two-part substitution of
container versions into CAPI components, to work around assumptions held
by clusterctl:
(versions catalogue) --[ReplacementTransformer]--> (Clusterctl YAML)
... then
(Clusterctl YAML) --[clusterctl library]--> (CAPI manifests)

However, only the second leg (the hard part) worked right; the first part
had gaps which are fixed by this change.

This also adds the CAPD container definitions to the Clusterctl variables.

Change-Id: Ifaca46f6dd3b87c28753cd49b52e62556ead52bd
Closes: https://github.com/airshipit/airshipctl/issues/389
2020-11-05 16:41:12 -06:00
Sirajudeen
c0f116a68c Separate lint job from the test
* Split lint and test jobs
* Add lint job to be run against all files

Change-Id: I74da7999324283984d61f38ae9fb394ee5b37ce6
Closes: #386
2020-11-05 22:35:32 +00:00