ae6ce6931b
* 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
202 lines
7.5 KiB
YAML
202 lines
7.5 KiB
YAML
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- job:
|
|
name: airship-airshipctl-roles-test
|
|
run: tests/ansible/role-test-runner.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
files:
|
|
- ^roles/.*$
|
|
|
|
- job:
|
|
name: airship-airshipctl-golint
|
|
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
|
|
run: playbooks/airship-airshipctl-golint.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
voting: false
|
|
files: &gofiles
|
|
- ^Makefile$
|
|
- ^\.golangci\.yaml$
|
|
- ^(go\.(mod|sum)|.*\.go)$
|
|
- ^playbooks/airship-airshipctl-(golint|lint|unit)\.yaml$
|
|
- ^tools/(coverage_check|golint|gomod_check|install_linter)$
|
|
|
|
- job:
|
|
name: airship-airshipctl-lint
|
|
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
|
|
run: playbooks/airship-airshipctl-lint.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
|
|
- job:
|
|
name: airship-airshipctl-unit
|
|
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
|
|
run: playbooks/airship-airshipctl-unit.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
files: *gofiles
|
|
|
|
- job:
|
|
name: airship-airshipctl-check-github-issues
|
|
description: Checks if a Github issue is referenced in the commit message
|
|
run: playbooks/airship-airshipctl-check-github-issues.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
voting: false
|
|
|
|
- job:
|
|
name: airship-airshipctl-update-github-issues
|
|
description: Updates and/or closes related issues on Github on merge
|
|
run: playbooks/airship-airshipctl-update-github-issues.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
secrets:
|
|
- name: github_credentials
|
|
secret: airship_airshipctl_airshipit_github_token
|
|
|
|
- job:
|
|
name: airship-airshipctl-build-image
|
|
nodeset: airship-airshipctl-single-node
|
|
run: playbooks/airship-airshipctl-build-images.yaml
|
|
irrelevant-files: &noncodefiles
|
|
- ^certs/.*$
|
|
- ^docs/.*$
|
|
- ^.*\.md$
|
|
- ^\.github/.*$
|
|
|
|
- job:
|
|
name: airship-airshipctl-validate-site-docs
|
|
timeout: 3600
|
|
pre-run:
|
|
- playbooks/airship-airshipctl-deploy-docker.yaml
|
|
run: playbooks/airshipctl-gate-runner.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
irrelevant-files: *noncodefiles
|
|
vars:
|
|
gate_scripts:
|
|
- ./tools/deployment/01_install_kubectl.sh
|
|
- ./tools/deployment/21_systemwide_executable.sh
|
|
- ./tools/validate_docs
|
|
voting: false
|
|
|
|
- job:
|
|
name: airship-airshipctl-functional-existing-k8s
|
|
pre-run: playbooks/airship-airshipctl-deploy-existing-k8s.yaml
|
|
run: playbooks/airship-airshipctl-functional-existing-k8s.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
|
|
- job:
|
|
name: airship-airshipctl-upload-git-mirror
|
|
parent: upload-git-mirror
|
|
description: Mirrors airship/airshipctl to airshipit/airshipctl
|
|
vars:
|
|
git_mirror_repository: airshipit/airshipctl
|
|
secrets:
|
|
- name: git_mirror_credentials
|
|
secret: airship_airshipctl_airshipit_github_secret
|
|
pass-to-parent: true
|
|
|
|
- job:
|
|
name: airship-airshipctl-gate-script-runner
|
|
attempts: 1
|
|
timeout: 7200
|
|
pre-run:
|
|
- playbooks/airship-airshipctl-deploy-docker.yaml
|
|
- playbooks/airship-airshipctl-build-gate.yaml
|
|
post-run: playbooks/airship-collect-logs.yaml
|
|
run: playbooks/airshipctl-gate-runner.yaml
|
|
nodeset: airship-airshipctl-single-16GB-bionic-node
|
|
irrelevant-files: *noncodefiles
|
|
dependencies:
|
|
- name: openstack-tox-docs
|
|
soft: true
|
|
- name: airship-airshipctl-lint
|
|
soft: true
|
|
- name: airship-airshipctl-golint
|
|
soft: true
|
|
- name: airship-airshipctl-unit
|
|
soft: true
|
|
- name: airship-airshipctl-build-image
|
|
soft: true
|
|
- name: airship-airshipctl-validate-site-docs
|
|
soft: true
|
|
vars:
|
|
site_name: test-site
|
|
gate_scripts:
|
|
- ./tools/deployment/01_install_kubectl.sh
|
|
# 21_systemwide_executable.sh is run in the build-gate pre-run above
|
|
- ./tools/deployment/22_test_configs.sh
|
|
- ./tools/deployment/23_pull_documents.sh
|
|
- ./tools/deployment/24_build_ephemeral_iso.sh
|
|
- ./tools/deployment/25_deploy_ephemeral_node.sh
|
|
- ./tools/deployment/26_deploy_metal3_capi_ephemeral_node.sh
|
|
- ./tools/deployment/30_deploy_controlplane.sh
|
|
- ./tools/deployment/31_deploy_initinfra_target_node.sh
|
|
- ./tools/deployment/32_cluster_init_target_node.sh
|
|
- ./tools/deployment/33_cluster_move_target_node.sh
|
|
- ./tools/deployment/34_deploy_worker_node.sh
|
|
- ./tools/deployment/35_deploy_workload.sh
|
|
- ./tools/deployment/36_verify_hwcc_profiles.sh
|
|
serve_dir: /srv/iso
|
|
serve_port: 8099
|
|
log_roles:
|
|
- gather-system-logs
|
|
- airship-gather-apache-logs
|
|
- airship-gather-libvirt-logs
|
|
- airship-gather-runtime-logs
|
|
- airship-airshipctl-gather-configs
|
|
- describe-kubernetes-objects
|
|
- airship-gather-pod-logs
|
|
- job:
|
|
name: airship-airshipctl-gate-script-runner-docker
|
|
attempts: 1
|
|
timeout: 3600
|
|
pre-run: playbooks/airship-airshipctl-deploy-docker.yaml
|
|
run: playbooks/airshipctl-gate-runner.yaml
|
|
nodeset: airship-airshipctl-single-node
|
|
irrelevant-files: *noncodefiles
|
|
dependencies:
|
|
- name: openstack-tox-docs
|
|
soft: true
|
|
- name: airship-airshipctl-lint
|
|
soft: true
|
|
- name: airship-airshipctl-unit
|
|
soft: true
|
|
- name: airship-airshipctl-golint
|
|
soft: true
|
|
- name: airship-airshipctl-build-image
|
|
soft: true
|
|
- name: airship-airshipctl-validate-site-docs
|
|
soft: true
|
|
vars:
|
|
site_name: docker-test-site
|
|
gate_scripts:
|
|
- ./tools/deployment/21_systemwide_executable.sh
|
|
- ./tools/deployment/01_install_kubectl.sh
|
|
- ./tools/deployment/provider_common/01_install_kind.sh
|
|
- ./tools/deployment/provider_common/02_install_jq.sh
|
|
- CLUSTER=ephemeral-cluster KIND_CONFIG=./tools/deployment/templates/kind-cluster-with-extramounts ./tools/document/start_kind.sh
|
|
- AIRSHIP_CONFIG_METADATA_PATH=manifests/site/docker-test-site/metadata.yaml SITE=docker-test-site EXTERNAL_KUBECONFIG="true" ./tools/deployment/22_test_configs.sh
|
|
- PROVIDER=default SITE=docker-test-site ./tools/deployment/26_deploy_capi_ephemeral_node.sh
|
|
- CONTROLPLANE_COUNT=1 SITE=docker-test-site ./tools/deployment/provider_common/30_deploy_controlplane.sh
|
|
- KUBECONFIG=/tmp/target-cluster.kubeconfig ./tools/deployment/provider_common/32_cluster_init_target_node.sh
|
|
- ./tools/deployment/provider_common/33_cluster_move_target_node.sh
|
|
- WORKERS_COUNT=2 KUBECONFIG=/tmp/target-cluster.kubeconfig SITE=docker-test-site ./tools/deployment/provider_common/34_deploy_worker_node.sh
|
|
voting: false
|
|
- job:
|
|
name: airship-airshipctl-publish-image
|
|
parent: airship-airshipctl-build-image
|
|
post-run: playbooks/airship-airshipctl-publish-images.yaml
|
|
irrelevant-files: *noncodefiles
|
|
secrets:
|
|
- name: airshipctl_image_repo_credentials
|
|
secret: airshipctl_image_repo_credentials
|
|
pass-to-parent: true
|
|
vars:
|
|
image: quay.io/airshipit/airshipctl
|