118 Commits

Author SHA1 Message Date
Sirajudeen
4dfe4afa34 Switching to 32GB worker node
* now that we are not using treasuremap, using the 32GB
  nodes for airshipctl gate runner jobs.

Change-Id: Idf79e28b8fd31a4fbb91e18c0eb21e6c046fa52c
2022-03-01 14:47:32 +00:00
siraj.yasin
0fd3f957d5 Switching to 32GB worker node for mulitnode aiap
* Moving to 32GB node to run mulitnode setup of aiap

Change-Id: I1687651aa8054256d6797daf059d1b2896736e1f
2022-01-26 01:07:36 +00:00
Zuul
7948a127d7 Merge "Add check manifests zuul job" 2021-12-21 12:12:12 +00:00
Manoj Alva(ma257n)
e1562899d9 Support for IPV6 infra in AIAP Zuul Gate
- Replaced minikube with kind cluster to
  setup a dualstack IPv6 cluster

Closes: #662
Change-Id: Ibc40e574e37c8cf9ab5348e6413a1b1520f5d1c1
2021-12-06 15:07:20 +00:00
Michael Beaver
56972b4317 AIAP - Extract logs from runner container
This adds a new script to the runner container that is run in the
entrypoint which runs the log gathering ansible playbook from
inside the runner container. The gate then extracts these logs
with a new role.

This also updates the image_build script to fix how it changes
the container imagePullPolicy

Closes: #658
Relates-To: #659
Change-Id: I24d11c66e7b71852256e164343f7bb2f331d1fef
2021-12-03 15:23:12 +00:00
Danny Massa
3acead37a9 Adding dead-link-linter gate
https://github.com/DannyMassa/dead-link-linter

Change-Id: I9ba999e7587fbc0e1d8a9f9383b5150fecd4ac45
2021-11-09 21:03:53 +00:00
Ruslan Aliev
1d0561045e Add check manifests zuul job
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #665
Change-Id: I53283e0c3b2e5807abdb84433c5563d2e391dcfe
2021-11-08 22:20:51 +00:00
Ruslan Aliev
1faeb29f43 Disable capd job from voting
* slightly increase timeout for gate script runner job
* disable capd job from voting due to instability
* fix validate_docs script:
  we should either filter site to validate from command line or
  from sites_to_skip variable
* enable document validation for docker test site

Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Change-Id: If38e6e24f7187d59072bc7435c700b829e2dafba
Closes: #649
2021-10-01 13:37:44 -05:00
Zuul
75044b33b1 Merge "Adjust conformance scripts (capd)" 2021-09-23 16:48:11 +00:00
Andrii Ostapenko
419300b277
Fix layout
Current inheritance model we use site -> type -> global is currently
violated inheriting in global phases from type/gating.

Also makes capd job voting.

Change-Id: I9dd6e8b9050fa37b7f38690aebf4fcae71771b80
Signed-off-by: Andrii Ostapenko <andrii.ostapenko@att.com>
2021-09-20 15:54:06 -06:00
Rishabh Kumar Jain
6ff6f8120b Adjust conformance scripts (capd)
* adjust kubebench conformance scripts
      to use ~/.airship/kubeconfig
    * adjust sonobuoy conformance scripts
      to use ~/.airship/kubeconfig
    * update sonobuoy version to 0.51

Relates-To: #557
Change-Id: I5c300e6740f0d050c0619473934af6f4d3b48816
2021-09-20 20:35:26 +00:00
Ratnopam Chakrabarti
441ef0e3da Fix CAPD deployment using phase plan
This PS introduces phase plan for CAPD provider
 * Adds phase to merge kubeconfig
 * Patches type/gating plan to use capd phase plan
 * Patches cluster_map and executor to work with "default" namespace
 * Fixes CAPD zuul failures

Relates-To: #564
Relates-To: #580
Relates-To: #587
Change-Id: I5007970c907bc87dccf6dd9fcb052afc1b5c13f7
2021-09-07 15:00:25 +00:00
Michael Beaver
151eccbfba Add airship-in-a-pod to gate jobs
This change aims to add the airship-in-a-pod test to the gates.
This is accomplished by creating new scripts to run which
install a minimal k8s environment, and then apply the
airship-in-a-pod.yaml.

Brief description of scripts

01_dns_settings: Running k8s pods in zuul has a lot of issues with
DNS resolution which this resolves.

10_install_minikube: grabs latest minikube and other dependencies.

11_build_images: builds the images under tools/airship-in-a-pod
and then adds patches to the kustomize configuration to use and
configure them.

12_start_minikube: starts minikube and makes sure kubectl will work

13_apply_dns.sh: This takes some of the effort from 01_dns_settings
and incorporates it into the minikube cluster by modifying coredns

20_apply_aiap: Applies the airship-in-a-pod.yaml to the cluster.
Has a few loops to check that the cluster is fully running
before applying, and to check on the pod to see if it is ready
before finishing.

Closes: #478
Change-Id: I4c02d04b0eda9395642032bf56b56a0f823c1969
2021-07-23 10:14:14 -05:00
Ian Howell
f9411f40f7 Add publish jobs for AIAP
Change-Id: I23ea662d4354cdb8ee11d82aeeedf4a5282963db
2021-07-19 09:58:20 -05:00
Vladislav Kuzmin
16da661959 Switch gating deployment to phase plan
Add all needed phases for deployment to deploy-gating
phase plan.

Relates-To: #517
Change-Id: I9d5af24b0877d90ab1ba24b31cca6ec7127e0f1d
2021-06-03 19:41:05 +04:00
Sreejith Punnapuzha
92e70c734e Enhance Gates
* adds kubectl-get-pods once workload deployment is completed.
  * fix docker gate jobs failing because of missing script.

Signed-off-by: Sreejith Punnapuzha <Sreejith.Punnapuzha@outlook.com>
Change-Id: I7f0bb0139b3fa3e5af524541b3e8f1978d640113
2021-05-28 10:01:08 -05:00
Alexander Hughes
01753f64f8 Functionalize workers/provision
- moves metal3 worker definition to its own function
- removes workers-classification phase
- removes 37_verify_hwcc_profiles.sh script

Signed-off-by: Alexander Hughes <Alexander.Hughes@pm.me>
Co-authored-by: Matthew Fuller <mf4192@att.com>
Closes: #537

Change-Id: I844e88a1bf7a80954aca5afc8fa49a534c9ff2b0
2021-05-18 16:09:49 +00:00
Ruslan Aliev
b4dd5cf42c Remove Kind-based validation with dry-run of phases
This validation approach is no longer needed and less
effective than static one, so it should be deleted to not
consume additional time and resources during the validation
process.

Change-Id: I88603723d9a423955bd88d23e7b8e2a8275d9dde
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Closes: #543
2021-05-13 16:45:26 -05:00
Ruslan Aliev
31995eaf9d Add validation phases
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
2021-04-22 11:37:12 -05:00
Zuul
4e4d0f6568 Merge "Disable the redundant github issue update job" 2021-04-21 01:31:37 +00:00
Shturm, Svetlana
220f0673cb Remove publish job dependency from build job
With latest changes build images jobs uses zuul.change variable
which is not defined for merge event.
Also using build job as a parent for publish creates an unnessesarly
execution of make command which we repeat later under publish playbook.

That change removes that dependency.

Change-Id: I7e02c2f3ef2ccd8b9db9872b123222020f80664a
2021-04-19 14:39:06 -05:00
siraj.yasin
d4bae30fb3 Disable the redundant github issue update job
* airship-airshipctl-update-github-issues job adds comments
  to related github issue on PS merge based on the tag(Realtes-To/Closes)
  in commit message.
* airshipbot is already doing the job of adding comments to issues on new PSs
  and updating the status (closed, reopen) as applicable.
* So the job airship-airshipctl-update-github-issues is redundant when airshipbot
  is running.

Change-Id: I2c6fa748d3334384bf5b31c87d9501a006a153c1
Relates-To: #502
2021-04-19 13:26:40 +00:00
Zuul
3d26a7fec3 Merge "Added script for the missing controlplane_target phase" 2021-04-14 03:31:59 +00:00
James Gu
06609c3180 Added script for the missing controlplane_target phase
controlplane_target phase is needed for target cluster more than a
single node

Signed-off-by: James Gu <james.gu@att.com>
Change-Id: I6e77d4268cdee0ebcc65e1f9172ef645ced53337
2021-04-13 10:47:47 -07:00
Alexey Odinokov
d69553f904 Kubeconfig: switching from kustomize to airshipctl command
Since [1] has been merged it's possible to use
that command to generate kubeconfig in proper
way.

This patchset introduces that changes as well as
cleans up for non-needed anymore due to that changes
steps in gating.

[1]:
https://review.opendev.org/c/airship/airshipctl/+/774709

Change-Id: Ifc07c56c126c782d940a8ca4d111c59c5d3c9c78
2021-04-13 14:47:38 +00:00
Ruslan Aliev
fa6b217297 Bump timeout for airshipctl-gate-script-runner job
Currently, about 15% of the last jobs were failed [1]
due to exceeding timeout error, however in most cases the job
was running just fine, but it was interrupted due to global
timeout. This patch increases timeout for this job by 20 minutes.

[1] https://zuul.opendev.org/t/openstack/builds?job_name=airship-airshipctl-gate-script-runner
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>

Change-Id: I5d8058aa5edd56052d51b67fbf23c0665ee1e6a9
2021-03-25 19:46:34 -05:00
Kostiantyn Kalynovskyi
3fbf865048 Fix CAPD deployment
Commit fixes CAPD deployment and removes redundant scripts
that check expiration for CAPD site.

They must be tested separately outside CAPD pipeline

Related-To: #482
Closes: #482
Change-Id: I60ffd76a4f3f08bd7bd198a0c2b15483dfbdd6a6
2021-03-19 11:31:21 +00:00
Zuul
4c1d1f87c0 Merge "Increase site doc validation job timeout" 2021-02-22 21:27:38 +00:00
Alexey Odinokov
b51e7559b6 Adding encryption of k8s secrets and iso users passwords
This patchset introduces a generated with template [1] and encrypted
VariableCatalogue generated-secrets that contains steps to
generate: ephemeral and target CA+admin key/cert and passwords for
users in ephemeral bootstrap iso.

It also introduces the way how these secrets are used in manifests:
They're decrypted by kustomize and incorporated into the folders
`catalogues` in the site, so they can be used by replacement plugin.

This patchset contains modifications in replacement plugin
configurations to put the decrypted values from VariableCatalogue
in place.

Since k8s secrets were substituted with generated values
this patchset removes pre-generated k8s secrets.

[1]
manifests/type/gating/target/generator/secret-template.yaml

Change-Id: I0898c74012833f0e171d36bb8145acf358510b69
2021-02-12 04:07:36 +00:00
Kostiantyn Kalynovskyi
1055f5c82a Increase site doc validation job timeout
the job takes around 45-60 minutes to complete on most of the nodes
however some nodes are slower and it make take a little bit more.

As future enhancement we should pararelize validation and refactor
scripts to run two cluster validation at the same time.

Change-Id: I01ac2ed15727931126058c343dbbb826790e940d
2021-02-11 03:50:15 +00:00
Ruslan Aliev
54256dbc70 Repair validate-site job
This job doesn't work properly since a lot of changes in the
airshipctl logic were applied. All the issues were addressed.

Change-Id: Iec6fa7e6a3aa1ab46d496a8fd63822df1f8124cc
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
Relates-To: #19
2021-02-08 23:54:57 -06:00
Sirajudeen
00130a9b53 Cleanup CAPI deployment script
* Removed the duplicate script for CAPI ephemeral node deployment
* Updated the generic script to support all providers

Change-Id: Icc1bed5c1b62662109b43ec94ee2fdb5de6de09b
2021-01-28 19:24:20 +00:00
Ruslan Aliev
d632a5de5f Enable voting for golint job
Since golint job was fixed and it's essential to maintain
code standards this job should have voting status.

Change-Id: I623171ce89b3906eac30e11fa3d7ebeb2725372b
Signed-off-by: Ruslan Aliev <raliev@mirantis.com>
2021-01-20 21:47:35 -06:00
Sirajudeen
d9a7200698 Removing the non-voting jobs from dependency
* Removing the non-voting job from dependency. So that
  for any reason if the dependent non-voting job fails,
  the gate runner job will not be skipped.

Change-Id: If2f208d41a6df1ce7286654fe6e203d309042874
2021-01-18 21:04:24 +00:00
Zuul
6397810826 Merge "Integrate Sonobuoy Conformance Test Scripts" 2021-01-07 17:08:07 +00:00
Rishabh Kumar Jain
b0217a8ba1 Integrate Sonobuoy Conformance Test Scripts
Add jobs in experimental pipeline to do the following:

  - install Sonobuoy
  - run CNCF Conformace Tests
  - run CIS Benchmarks Tests

Conformance tests include:

  - CNCF Compliance: uses sonobuoy end-to-end (e2e) and systemd-logs
                     plugins

  - CIS Benchmarks: utilizes the kube-bench implementation
                    of the CIS security benchmarks plugin

Pipeline can be triggered by comment
   - "check experimental"
Change-Id: I7d08ae42512dc4c83e2f550c4809ce1f8ddccc7b

Change-Id: I2e6469f5b8e229828532ce5499498da639d23fe6
2021-01-06 16:28:06 -05:00
Sirisha Gopigiri
52151ef9fd Zuul gate to check rotate-sa-token and certificate expiry commands
This Patch Set uses docker zuul gate and
checks the certificate expiration
and certiticate rotate-sa-token commands

Change-Id: I76f902d4fcacdbfe168abd58ec707282e46a3f91
2021-01-06 18:16:45 +05:30
Anderson, Craig (ca846m)
2daacf5f2a image-builder integration for ISO builds
This introduces airshipctl integration with image-builder [0], which
replaces the existing isogen tool for ephemeral ISO generation.

The airshipctl isogen executor has been updated for building ephemeral
ISOs using the image-builder container. The ability for user-declared
filenames for cloud-init user data and network data was removed, since
the user's only interest is in supplying the relevant overrides, not in
transparent naming coordination with the image-builder container. A new
object is added to the document package to identify the document kind,
label, and key to retrieve data from since this is pattern we will
reuse elsewhere.

Progress flag removed as requsted. Progress is reported directly by the
image-builder container.

Isogen debug flag removed in favor of using log.DebugEnabled()

[0] https://review.opendev.org/#/c/730777/

Depends-On: https://review.opendev.org/c/airship/images/+/730777/
Change-Id: I545004feaf2116f8ffb29faf6f7f7f5fcfe24fff
2020-12-17 14:47:53 -08:00
Rishabh Kumar Jain
ae6ce6931b Integrate common infra provider zuul scripts
* add common scripts for providers capd/capg/capz/capo
    to do the following:
    - install kind (reuses  tools/document/get_kind.sh)
    - improve tools/document/start_kind.sh to use
      custom kind config file
    - created a script similar to 26_deploy_metal3_capi_ephemeral_node.sh,
      called tools/deployment/26_deploy_capi_ephemeral_node.sh and
      made it flexible for all providers (metal3/capd/capz/capg/capo)
    - deploy ephemeral control plane
    - initialize target node
    - move crds from ephemeral to target
    - deploy target workers

Closes: #413
Change-Id: If3520d000a03e5ed26d54e1ceedb2febfceccb3d
2020-12-11 16:45:07 -05:00
Zuul
a5c96cb430 Merge "Removing Azure Zuul Gate" 2020-12-03 23:18:39 +00:00
Dinesh Garg
396a160271 Allow proxy and container repository customization
Modify following roles to accept the proxy and env
variables from zuul jobs and project manifest so they
can be overwritten to run them on downstream zuul

- airshipctl-build-images
- airshipctl-publish-images

Change-Id: Ied06e60507f125c60ca7b9d47331e967fd69bf14
2020-11-18 15:29:41 +00:00
Sidney Shiba
2de2016f9a Removing Azure Zuul Gate
This patchset removes the Zuul gate for the Azure integration, which is
not relevant anymore.

Change-Id: I4e2751965f6b3fbc8c2b062f2acfa03c1575521a
2020-11-16 14:59:49 -06: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
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
a4d7410830 Merge "Separate lint job from the test" 2020-11-06 18:16:39 +00: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
Alexander Hughes
2e92614239 Skip azure gate runner on irrelevant files
Change-Id: I693d78a2f400b45c6095c039c3a91e7c3d9fb4c8
Signed-off-by: Alexander Hughes <Alexander.Hughes@pm.me>
2020-11-05 14:26:23 +00:00
Zuul
340bed7ac5 Merge "Use token for github Authentication" 2020-10-26 18:32:56 +00:00
Sirajudeen
c33f5f5104 Use token for github Authentication
* Move from user/passwd to token based auth for
  github api access
* Github password based authentication will be deprecated soon
  https://developer.github.com/changes/2020-02-14-deprecating-password-auth/

Change-Id: Ic5af5bcf6ceb9828f2df7cca97e73c713dc79c1e
Closes: #373
2020-10-26 13:44:27 +00:00