From c49552281f57037426aef2d22e21b6b30996d96e Mon Sep 17 00:00:00 2001 From: Ghanshyam Mann Date: Sat, 24 Feb 2024 11:33:40 -0800 Subject: [PATCH] Retire Tripleo: remove repo content TripleO project is retiring - https://review.opendev.org/c/openstack/governance/+/905145 this commit remove the content of this project repo Change-Id: I235b08d63bab01a94a41b29b40724f05c88a534f --- .ansible-lint | 27 - .gitignore | 75 -- .pre-commit-config.yaml | 54 -- .yamllint | 12 - Dockerfile | 11 - LICENSE | 201 ----- README.rst | 89 +-- ansible-collection-requirements.yml | 46 -- ansible-role-requirements.yml | 7 - ansible.cfg | 26 - ansible_ssh_env.sh | 7 - bindep.txt | 50 -- ci-scripts/basic.sh | 43 -- ci-scripts/ci-base-requirements.txt | 6 - ci-scripts/cleanup-stack-image-ovb.sh | 28 - ci-scripts/collect-logs.sh | 53 -- ci-scripts/devmode_tempest.sh | 30 - ci-scripts/feature-scale-deploy.sh | 57 -- ci-scripts/full-deploy-baremetal.sh | 38 - ci-scripts/full-deploy-internal.sh | 175 ----- ci-scripts/full-deploy-ovb.sh | 106 --- ci-scripts/full-deploy.sh | 158 ---- ci-scripts/get-node.sh | 83 --- ci-scripts/images.sh | 51 -- ci-scripts/include-gate-changes.sh | 34 - ci-scripts/ooo-usbkey.sh | 75 -- ci-scripts/ovb-image-upload.sh | 30 - ci-scripts/pre-commit-hook | 39 - .../pre-commit.d/validate-yaml-in-commit | 18 - ci-scripts/releasenotes_tox.sh | 27 - ci-scripts/return-node.sh | 8 - ci-scripts/upgrade-baremetal.sh | 44 -- ci-scripts/upgrade.sh | 47 -- ci-scripts/validate-yaml | 94 --- config/environments/baseos_centos_libvirt.yml | 33 - .../baseos_rhel_libvirt.yml.example | 39 - config/environments/ci_centos_libvirt.yml | 33 - config/environments/default_libvirt.yml | 27 - .../environments/dev_privileged_libvirt.yml | 38 - .../standalone_centos_libvirt.yml | 74 -- .../standalone_fedora_libvirt.yml | 31 - config/general_config/build_images.yml | 37 - .../deprecated/composable_upgrade.yml | 75 -- .../deprecated/composable_upgrade_ovb.yml | 72 -- .../deprecated/featureset004.yml | 25 - .../deprecated/featureset011.yml | 85 --- .../deprecated/featureset053.yml | 150 ---- config/general_config/deprecated/ipv6.yml | 101 --- .../deprecated/minimal_pacemaker.yml | 58 -- .../general_config/deprecated/no_netiso.yml | 9 - .../featureset-multinode-common.yml | 24 - config/general_config/featureset001.yml | 184 ----- config/general_config/featureset002.yml | 165 ---- config/general_config/featureset003.yml | 46 -- config/general_config/featureset005.yml | 60 -- config/general_config/featureset006.yml | 88 --- config/general_config/featureset007.yml | 49 -- config/general_config/featureset008.yml | 68 -- config/general_config/featureset009.yml | 22 - config/general_config/featureset010.yml | 103 --- config/general_config/featureset012.yml | 75 -- config/general_config/featureset013.yml | 73 -- config/general_config/featureset014.yml | 73 -- config/general_config/featureset015.yml | 73 -- config/general_config/featureset016.yml | 138 ---- config/general_config/featureset017.yml | 149 ---- config/general_config/featureset018.yml | 125 ---- config/general_config/featureset019.yml | 140 ---- config/general_config/featureset020.yml | 263 ------- config/general_config/featureset021.yml | 220 ------ config/general_config/featureset022.yml | 56 -- config/general_config/featureset023.yml | 8 - config/general_config/featureset024.yml | 63 -- config/general_config/featureset025.yml | 56 -- config/general_config/featureset026.yml | 63 -- config/general_config/featureset027.yml | 108 --- config/general_config/featureset028.yml | 49 -- config/general_config/featureset030.yml | 136 ---- config/general_config/featureset031.yml | 65 -- config/general_config/featureset032.yml | 62 -- config/general_config/featureset033.yml | 101 --- config/general_config/featureset035.yml | 216 ------ config/general_config/featureset036.yml | 85 --- config/general_config/featureset037.yml | 102 --- config/general_config/featureset038.yml | 132 ---- config/general_config/featureset039.yml | 297 -------- config/general_config/featureset040.yml | 110 --- config/general_config/featureset041.yml | 134 ---- config/general_config/featureset042.yml | 73 -- config/general_config/featureset043.yml | 161 ---- config/general_config/featureset045.yml | 73 -- config/general_config/featureset047.yml | 25 - config/general_config/featureset048.yml | 68 -- config/general_config/featureset049.yml | 44 -- config/general_config/featureset050.yml | 39 - config/general_config/featureset051.yml | 137 ---- config/general_config/featureset052.yml | 52 -- config/general_config/featureset053.yml | 29 - config/general_config/featureset054.yml | 85 --- config/general_config/featureset055.yml | 102 --- config/general_config/featureset056.yml | 45 -- config/general_config/featureset058.yml | 38 - config/general_config/featureset060.yml | 45 -- config/general_config/featureset061.yml | 71 -- config/general_config/featureset062.yml | 67 -- config/general_config/featureset063.yml | 133 ---- config/general_config/featureset064.yml | 266 ------- config/general_config/featureset065.yml | 39 - config/general_config/featureset066.yml | 70 -- config/general_config/featureset067.yml | 47 -- config/general_config/featureset068.yml | 74 -- config/general_config/featureset099.yml | 43 -- config/general_config/ipa.yml | 96 --- config/general_config/minimal.yml | 186 ----- config/general_config/pacemaker.yml | 92 --- config/nodes/1ctlr.yml | 33 - config/nodes/1ctlr_1cellctrl_1comp.yml | 78 -- config/nodes/1ctlr_1comp.yml | 59 -- config/nodes/1ctlr_1comp_1ceph.yml | 75 -- config/nodes/1ctlr_1comp_1supp.yml | 61 -- config/nodes/1ctlr_1comp_64gb.yml | 68 -- config/nodes/1ctlr_1comp_mixed_os.yml | 30 - config/nodes/1ctlr_2comp.yml | 64 -- config/nodes/1ctlr_2comp_1supp.yml | 67 -- config/nodes/1minion.yml | 12 - config/nodes/2ctlr.yml | 47 -- config/nodes/3ctlr_1comp.yml | 81 -- config/nodes/3ctlr_1comp_192gb.yml | 81 -- config/nodes/3ctlr_1comp_1supp.yml | 70 -- config/nodes/3ctlr_1comp_64gb.yml | 82 -- config/nodes/3ctlr_2comp_3ceph.yml | 109 --- config/nodes/3ctlr_3comp.yml | 91 --- config/nodes/baremetal.yml | 16 - config/nodes/baremetal_1ctlr_1comp.yml | 46 -- config/nodes/baremetal_3ctlr_1comp.yml | 49 -- config/nodes/baremetal_3ctlr_2comp.yml | 51 -- .../CentOS-8/train-current-tripleo.yml | 79 -- .../CentOS-8/ussuri-current-tripleo.yml | 88 --- .../CentOS-8/victoria-current-tripleo.yml | 83 --- .../CentOS-8/wallaby-current-tripleo.yml | 87 --- .../CentOS-9/master-current-tripleo.yml | 86 --- .../CentOS-9/wallaby-current-tripleo.yml | 86 --- config/release/centosci/master.yml | 1 - .../centos-compose/repo_config.yaml | 57 -- .../centos8stream/repo_config.yaml | 61 -- .../container-tools/repo_config.yaml | 21 - .../openstacksdk/repo_config.yaml | 11 - .../openvswitch/repo_config.yaml | 18 - config/release/master-tripleo-ci.yml | 1 - config/release/master.yml | 1 - .../rhos-11-rhn-baseos-undercloud.yml.example | 39 - config/release/train.yml | 1 - .../tripleo-ci/CentOS-8/cloudsig/ussuri.yml | 132 ---- .../tripleo-ci/CentOS-8/cloudsig/victoria.yml | 136 ---- .../tripleo-ci/CentOS-8/cloudsig/wallaby.yml | 146 ---- .../tripleo-ci/CentOS-8/cloudsig/xena.yml | 136 ---- .../tripleo-ci/CentOS-8/cloudsig/yoga.yml | 143 ---- .../promotion-testing-hash-master.yml | 221 ------ .../CentOS-8/promotion-testing-hash-train.yml | 220 ------ .../promotion-testing-hash-ussuri.yml | 216 ------ .../promotion-testing-hash-victoria.yml | 191 ----- .../promotion-testing-hash-wallaby.yml | 223 ------ config/release/tripleo-ci/CentOS-8/train.yml | 236 ------ config/release/tripleo-ci/CentOS-8/ussuri.yml | 244 ------ .../release/tripleo-ci/CentOS-8/victoria.yml | 214 ------ .../release/tripleo-ci/CentOS-8/wallaby.yml | 262 ------- .../tripleo-ci/CentOS-9/cloudsig/yoga.yml | 142 ---- .../tripleo-ci/CentOS-9/cloudsig/zed.yml | 142 ---- config/release/tripleo-ci/CentOS-9/master.yml | 233 ------ .../promotion-testing-hash-master.yml | 196 ----- .../promotion-testing-hash-wallaby.yml | 191 ----- .../CentOS-9/promotion-testing-hash-zed.yml | 195 ----- .../release/tripleo-ci/CentOS-9/wallaby.yml | 263 ------- config/release/tripleo-ci/CentOS-9/zed.yml | 226 ------ config/release/tripleo-ci/RedHat-8/master.yml | 125 ---- .../promotion-testing-hash-master.yml | 93 --- .../RedHat-8/promotion-testing-hash-train.yml | 82 -- config/release/tripleo-ci/RedHat-8/train.yml | 113 --- config/release/trunk/master.yml | 96 --- config/release/trunk/train.yml | 80 -- config/release/trunk/ussuri.yml | 87 --- config/release/trunk/victoria.yml | 87 --- config/release/trunk/wallaby.yml | 104 --- config/release/ussuri.yml | 1 - config/release/victoria.yml | 1 - config/release/wallaby.yml | 1 - devmode.sh | 206 ----- doc/requirements.txt | 4 - doc/source/accessing-libvirt.rst | 102 --- doc/source/accessing-overcloud.rst | 212 ------ doc/source/accessing-undercloud.rst | 51 -- doc/source/basic-usage.rst | 140 ---- doc/source/conf.py | 79 -- doc/source/configuration.rst | 151 ---- doc/source/contributing.rst | 88 --- doc/source/design.rst | 179 ----- doc/source/devmode-ovb.rst | 10 - doc/source/devmode.rst | 8 - doc/source/environment-configuration.rst | 33 - .../feature-configuration-generated.rst | 247 ------ doc/source/feature-configuration.rst | 54 -- doc/source/getting-started.rst | 308 -------- doc/source/index.rst | 25 - doc/source/node-configuration.rst | 174 ----- doc/source/rhosp.rst | 44 -- doc/source/troubleshoot.rst | 21 - doc/source/unprivileged.rst | 204 ----- doc/source/working-with-extras.rst | 97 --- fs-matrix.py | 181 ----- install-deps.sh | 324 -------- library/generate_macs.py | 93 --- molecule-requirements.txt | 104 --- molecule/install-deps/converge.yml | 18 - molecule/install-deps/molecule.yml | 35 - playbooks/build-images-and-quickstart.yml | 3 - playbooks/build-images.yml | 25 - playbooks/libvirt-nodepool.yml | 33 - playbooks/libvirt-setup.yml | 12 - playbooks/libvirt-teardown.yml | 6 - playbooks/noop.yml | 9 - playbooks/provision.yml | 54 -- playbooks/quickstart.yml | 82 -- playbooks/repo-setup-virthost.yml | 8 - playbooks/teardown-environment.yml | 8 - playbooks/teardown-nodes.yml | 10 - playbooks/teardown-provision.yml | 9 - playbooks/teardown.yml | 29 - quickstart-extras-requirements.txt | 18 - quickstart-role-requirements.txt | 15 - quickstart.sh | 704 ------------------ .../notes/2.0.0-1579472457180d77.yaml | 41 - ...pplemental-node-role-0b6ad8afe82e327d.yaml | 6 - ...or-virtualport-types-431c390fcf390107.yaml | 7 - ...everywhere-supp-node-9f61fc635dd09070.yaml | 8 - ...dd-fs038-for-octavia-c3fef2c3e65c0a55.yaml | 4 - .../add-ovb-devmode-f2126fd97caa00c1.yaml | 12 - ...k-out-general-config-8a02f40113e58dbc.yaml | 25 - ...neral-configurations-4748e1b2fbd6d5c9.yaml | 9 - ..._tripleo-validations-5d8064acb2460cf0.yaml | 7 - ...console_default_true-3b4431043e231df0.yaml | 5 - ...eneric-convert-image-5605efaea6828aad.yaml | 9 - ...che-directory-clenup-1eb6c00f50a5809a.yaml | 6 - .../notes/ipmi-hw-type-dd4397735dbc2152.yaml | 5 - .../notes/mitaka-eol-b3e3ea7f649011c2.yaml | 5 - ...ova_cellv2_multicell-faef8f0157dcecf0.yaml | 16 - ...ade-static-inventory-88e9985286162ccb.yaml | 11 - .../notes/scenario006-d88221af1bcd26f0.yaml | 4 - .../notes/scenario009-883d1575a561bb1a.yaml | 3 - .../tags_for_all_tasks-7797e4ba6492794e.yaml | 13 - .../use-repo-setup-f3a3ce9d9d3bbf63.yaml | 6 - releasenotes/source/_static/.gitkeep | 0 releasenotes/source/conf.py | 271 ------- releasenotes/source/index.rst | 18 - releasenotes/source/unreleased.rst | 5 - requirements.txt | 18 - roles/common/defaults/main.yml | 274 ------- roles/convert-image/README.md | 25 - roles/convert-image/defaults/main.yml | 24 - roles/convert-image/meta/main.yml | 4 - roles/convert-image/tasks/main.yml | 57 -- .../templates/convert_image.sh.j2 | 68 -- roles/environment/README.md | 20 - roles/environment/meta/main.yml | 3 - roles/environment/setup/meta/main.yml | 6 - roles/environment/setup/tasks/main.yml | 107 --- .../setup/templates/network.xml.j2 | 33 - roles/environment/tasks/main.yml | 22 - roles/environment/teardown/meta/main.yml | 3 - roles/environment/teardown/tasks/main.yml | 71 -- roles/environment/vars/centos-7.yml | 10 - roles/environment/vars/centos-8.yml | 17 - roles/environment/vars/fedora.yml | 21 - roles/environment/vars/main.yml | 2 - roles/environment/vars/redhat-7.yml | 13 - roles/environment/vars/redhat-8.yml | 20 - roles/environment/vars/redhat-9.yml | 20 - roles/environment/vars/redhat.yml | 2 - roles/fetch-images/defaults/main.yml | 5 - roles/fetch-images/meta/main.yml | 3 - roles/fetch-images/tasks/fetch.yml | 210 ------ roles/fetch-images/tasks/main.yml | 38 - roles/libvirt/defaults/main.yml | 73 -- roles/libvirt/meta/main.yml | 6 - roles/libvirt/setup/common/tasks/main.yml | 56 -- .../setup/common/templates/volume_pool.xml.j2 | 11 - roles/libvirt/setup/meta/main.yml | 19 - .../setup/overcloud/files/get-domain-ip.sh | 29 - roles/libvirt/setup/overcloud/meta/main.yml | 14 - .../overcloud/tasks/libvirt_nodepool.yml | 206 ----- roles/libvirt/setup/overcloud/tasks/main.yml | 98 --- .../setup/overcloud/tasks/register_vm.yml | 60 -- .../overcloud/templates/baremetalvm.xml.j2 | 62 -- .../overcloud/templates/instackenv.json.j2 | 52 -- .../overcloud/templates/libguestfs-env.sh.j2 | 10 - .../templates/libvirtnodepoolvm.xml.j2 | 54 -- .../overcloud/templates/zuul-hosts.yaml.j2 | 43 -- .../overcloud/vars/libvirt_nodepool_vars.yml | 26 - roles/libvirt/setup/supplemental/README.md | 62 -- .../setup/supplemental/defaults/main.yml | 7 - .../libvirt/setup/supplemental/meta/main.yml | 12 - .../libvirt/setup/supplemental/tasks/main.yml | 3 - .../setup/supplemental/tasks/provision.yml | 105 --- .../tls_everywhere_provisioner.sh.j2 | 98 --- .../setup/undercloud/defaults/main.yml | 9 - .../undercloud/files/get-undercloud-ip.sh | 25 - roles/libvirt/setup/undercloud/meta/main.yml | 13 - .../setup/undercloud/tasks/convert_image.yml | 6 - .../undercloud/tasks/customize_overcloud.yml | 35 - .../undercloud/tasks/inject_gating_repo.yml | 44 -- .../setup/undercloud/tasks/inject_repos.yml | 15 - roles/libvirt/setup/undercloud/tasks/main.yml | 494 ------------ .../setup/undercloud/tasks/update_image.yml | 24 - .../templates/inject_gating_repo.sh.j2 | 24 - .../templates/ssh-tunnel.service.j2 | 33 - .../setup/undercloud/templates/ssh.config.j2 | 35 - .../undercloud/templates/undercloudvm.xml.j2 | 79 -- .../undercloud/templates/update_image.sh.j2 | 33 - roles/libvirt/setup/user/meta/main.yml | 12 - roles/libvirt/setup/user/tasks/main.yml | 46 -- roles/libvirt/teardown/meta/main.yml | 15 - roles/libvirt/teardown/nodes/tasks/main.yml | 163 ---- roles/libvirt/teardown/user/tasks/main.yml | 12 - roles/parts/README.md | 3 - roles/parts/kvm/defaults/main.yml | 2 - roles/parts/kvm/tasks/main.yml | 84 --- roles/parts/libvirt/defaults/main.yml | 11 - roles/parts/libvirt/meta/main.yml | 3 - roles/parts/libvirt/tasks/main.yml | 30 - roles/parts/ovs/defaults/main.yml | 6 - roles/parts/ovs/tasks/main.yml | 13 - roles/provision/defaults/main.yml | 7 - roles/provision/local/meta/main.yml | 3 - roles/provision/local/tasks/main.yml | 103 --- roles/provision/meta/main.yml | 3 - roles/provision/remote/meta/main.yml | 3 - roles/provision/remote/tasks/main.yml | 149 ---- .../remote/templates/libvirt.pkla.j2 | 6 - roles/provision/support_check/meta/main.yml | 3 - roles/provision/support_check/tasks/main.yml | 9 - roles/provision/teardown/meta/main.yml | 3 - roles/provision/teardown/tasks/main.yml | 66 -- roles/provision/user/meta/main.yml | 3 - roles/provision/user/tasks/main.yml | 19 - roles/repo-setup/README.md | 182 ----- roles/repo-setup/defaults/main.yml | 75 -- roles/repo-setup/meta/main.yml | 3 - roles/repo-setup/tasks/create-repo-script.yml | 26 - roles/repo-setup/tasks/get-dlrn-debug.yml | 13 - .../repo-setup/tasks/get-dlrn-hash-newest.yml | 53 -- roles/repo-setup/tasks/get-dlrn-hash.yml | 91 --- .../tasks/inject_repos_into_image.yml | 26 - roles/repo-setup/tasks/main.yml | 22 - .../tasks/set-dependency-repo-vars.yml | 13 - .../tasks/set_fact_nodepool_rdo_proxy.yml | 18 - roles/repo-setup/tasks/setup_repos.yml | 9 - roles/repo-setup/tasks/setup_repos_new.yml | 41 - ...ipleo-get-hash-set-fact-no-collections.yml | 33 - .../tasks/tripleo-get-hash-set-fact.yml | 32 - .../yum-config-compose-no-collections.yml | 23 - roles/repo-setup/tasks/yum-config-compose.yml | 14 - .../yum-config-generic-no-collections.yml | 39 - roles/repo-setup/tasks/yum-config-generic.yml | 21 - .../templates/repo_cmd_after_setup.sh.j2 | 19 - .../templates/repo_cmd_before_setup.sh.j2 | 21 - roles/repo-setup/templates/repo_setup.sh.j2 | 148 ---- .../repo-setup/templates/repo_setup_new.sh.j2 | 89 --- roles/tripleo-inventory/README.md | 33 - roles/tripleo-inventory/defaults/main.yml | 15 - .../tripleo-inventory/files/get_extra_node.py | 25 - .../files/remove_extra_node.py | 30 - roles/tripleo-inventory/meta/main.yml | 13 - roles/tripleo-inventory/tasks/inventory.yml | 213 ------ roles/tripleo-inventory/tasks/main.yml | 13 - roles/tripleo-inventory/tasks/openstack.yml | 103 --- .../templates/clouds.yaml.j2 | 12 - .../templates/get-overcloud-nodes.py.j2 | 73 -- .../tripleo-inventory/templates/inventory.j2 | 40 - .../templates/openstack_ssh_config.j2 | 43 -- .../tripleo-inventory/templates/ssh_config.j2 | 71 -- .../templates/ssh_config_localhost.j2 | 28 - .../templates/ssh_config_no_undercloud.j2 | 23 - roles/tripleo-inventory/tests/inventory | 1 - roles/tripleo-inventory/tests/test.yml | 5 - roles/tripleo/undercloud/tasks/main.yml | 17 - roles/virtbmc/defaults/main.yml | 4 - roles/virtbmc/meta/main.yml | 4 - roles/virtbmc/tasks/configure-vbmc.yml | 131 ---- roles/virtbmc/tasks/main.yml | 5 - setup.cfg | 37 - setup.py | 20 - test-requirements.txt | 8 - test_plugins/equalto.py | 26 - tests/test_release_files.py | 54 -- tests/validate-release-config.yml | 16 - tox.ini | 101 --- zuul.d/layout.yaml | 17 - 396 files changed, 8 insertions(+), 26830 deletions(-) delete mode 100644 .ansible-lint delete mode 100644 .gitignore delete mode 100644 .pre-commit-config.yaml delete mode 100644 .yamllint delete mode 100644 Dockerfile delete mode 100644 LICENSE delete mode 100644 ansible-collection-requirements.yml delete mode 100644 ansible-role-requirements.yml delete mode 100644 ansible.cfg delete mode 100644 ansible_ssh_env.sh delete mode 100644 bindep.txt delete mode 100644 ci-scripts/basic.sh delete mode 100644 ci-scripts/ci-base-requirements.txt delete mode 100755 ci-scripts/cleanup-stack-image-ovb.sh delete mode 100644 ci-scripts/collect-logs.sh delete mode 100644 ci-scripts/devmode_tempest.sh delete mode 100644 ci-scripts/feature-scale-deploy.sh delete mode 100644 ci-scripts/full-deploy-baremetal.sh delete mode 100644 ci-scripts/full-deploy-internal.sh delete mode 100644 ci-scripts/full-deploy-ovb.sh delete mode 100644 ci-scripts/full-deploy.sh delete mode 100644 ci-scripts/get-node.sh delete mode 100644 ci-scripts/images.sh delete mode 100644 ci-scripts/include-gate-changes.sh delete mode 100644 ci-scripts/ooo-usbkey.sh delete mode 100755 ci-scripts/ovb-image-upload.sh delete mode 100755 ci-scripts/pre-commit-hook delete mode 100755 ci-scripts/pre-commit.d/validate-yaml-in-commit delete mode 100755 ci-scripts/releasenotes_tox.sh delete mode 100644 ci-scripts/return-node.sh delete mode 100644 ci-scripts/upgrade-baremetal.sh delete mode 100644 ci-scripts/upgrade.sh delete mode 100755 ci-scripts/validate-yaml delete mode 100644 config/environments/baseos_centos_libvirt.yml delete mode 100644 config/environments/baseos_rhel_libvirt.yml.example delete mode 100644 config/environments/ci_centos_libvirt.yml delete mode 100644 config/environments/default_libvirt.yml delete mode 100644 config/environments/dev_privileged_libvirt.yml delete mode 100644 config/environments/standalone_centos_libvirt.yml delete mode 100644 config/environments/standalone_fedora_libvirt.yml delete mode 100644 config/general_config/build_images.yml delete mode 100644 config/general_config/deprecated/composable_upgrade.yml delete mode 100644 config/general_config/deprecated/composable_upgrade_ovb.yml delete mode 100644 config/general_config/deprecated/featureset004.yml delete mode 100644 config/general_config/deprecated/featureset011.yml delete mode 100644 config/general_config/deprecated/featureset053.yml delete mode 100644 config/general_config/deprecated/ipv6.yml delete mode 100644 config/general_config/deprecated/minimal_pacemaker.yml delete mode 100644 config/general_config/deprecated/no_netiso.yml delete mode 100644 config/general_config/featureset-multinode-common.yml delete mode 100644 config/general_config/featureset001.yml delete mode 100644 config/general_config/featureset002.yml delete mode 100644 config/general_config/featureset003.yml delete mode 100644 config/general_config/featureset005.yml delete mode 100644 config/general_config/featureset006.yml delete mode 100644 config/general_config/featureset007.yml delete mode 100644 config/general_config/featureset008.yml delete mode 100644 config/general_config/featureset009.yml delete mode 100644 config/general_config/featureset010.yml delete mode 100644 config/general_config/featureset012.yml delete mode 100644 config/general_config/featureset013.yml delete mode 100644 config/general_config/featureset014.yml delete mode 100644 config/general_config/featureset015.yml delete mode 100644 config/general_config/featureset016.yml delete mode 100644 config/general_config/featureset017.yml delete mode 100644 config/general_config/featureset018.yml delete mode 100644 config/general_config/featureset019.yml delete mode 100644 config/general_config/featureset020.yml delete mode 100644 config/general_config/featureset021.yml delete mode 100644 config/general_config/featureset022.yml delete mode 100644 config/general_config/featureset023.yml delete mode 100644 config/general_config/featureset024.yml delete mode 100644 config/general_config/featureset025.yml delete mode 100644 config/general_config/featureset026.yml delete mode 100644 config/general_config/featureset027.yml delete mode 100644 config/general_config/featureset028.yml delete mode 100644 config/general_config/featureset030.yml delete mode 100644 config/general_config/featureset031.yml delete mode 100644 config/general_config/featureset032.yml delete mode 100644 config/general_config/featureset033.yml delete mode 100644 config/general_config/featureset035.yml delete mode 100644 config/general_config/featureset036.yml delete mode 100644 config/general_config/featureset037.yml delete mode 100644 config/general_config/featureset038.yml delete mode 100644 config/general_config/featureset039.yml delete mode 100644 config/general_config/featureset040.yml delete mode 100644 config/general_config/featureset041.yml delete mode 100644 config/general_config/featureset042.yml delete mode 100644 config/general_config/featureset043.yml delete mode 100644 config/general_config/featureset045.yml delete mode 100644 config/general_config/featureset047.yml delete mode 100644 config/general_config/featureset048.yml delete mode 100644 config/general_config/featureset049.yml delete mode 100644 config/general_config/featureset050.yml delete mode 100644 config/general_config/featureset051.yml delete mode 100644 config/general_config/featureset052.yml delete mode 100644 config/general_config/featureset053.yml delete mode 100644 config/general_config/featureset054.yml delete mode 100644 config/general_config/featureset055.yml delete mode 100644 config/general_config/featureset056.yml delete mode 100644 config/general_config/featureset058.yml delete mode 100644 config/general_config/featureset060.yml delete mode 100644 config/general_config/featureset061.yml delete mode 100644 config/general_config/featureset062.yml delete mode 100644 config/general_config/featureset063.yml delete mode 100644 config/general_config/featureset064.yml delete mode 100644 config/general_config/featureset065.yml delete mode 100644 config/general_config/featureset066.yml delete mode 100644 config/general_config/featureset067.yml delete mode 100644 config/general_config/featureset068.yml delete mode 100644 config/general_config/featureset099.yml delete mode 100644 config/general_config/ipa.yml delete mode 100644 config/general_config/minimal.yml delete mode 100644 config/general_config/pacemaker.yml delete mode 100644 config/nodes/1ctlr.yml delete mode 100644 config/nodes/1ctlr_1cellctrl_1comp.yml delete mode 100644 config/nodes/1ctlr_1comp.yml delete mode 100644 config/nodes/1ctlr_1comp_1ceph.yml delete mode 100644 config/nodes/1ctlr_1comp_1supp.yml delete mode 100644 config/nodes/1ctlr_1comp_64gb.yml delete mode 100644 config/nodes/1ctlr_1comp_mixed_os.yml delete mode 100644 config/nodes/1ctlr_2comp.yml delete mode 100644 config/nodes/1ctlr_2comp_1supp.yml delete mode 100644 config/nodes/1minion.yml delete mode 100644 config/nodes/2ctlr.yml delete mode 100644 config/nodes/3ctlr_1comp.yml delete mode 100644 config/nodes/3ctlr_1comp_192gb.yml delete mode 100644 config/nodes/3ctlr_1comp_1supp.yml delete mode 100644 config/nodes/3ctlr_1comp_64gb.yml delete mode 100644 config/nodes/3ctlr_2comp_3ceph.yml delete mode 100644 config/nodes/3ctlr_3comp.yml delete mode 100644 config/nodes/baremetal.yml delete mode 100644 config/nodes/baremetal_1ctlr_1comp.yml delete mode 100644 config/nodes/baremetal_3ctlr_1comp.yml delete mode 100644 config/nodes/baremetal_3ctlr_2comp.yml delete mode 100644 config/release/centosci/CentOS-8/train-current-tripleo.yml delete mode 100644 config/release/centosci/CentOS-8/ussuri-current-tripleo.yml delete mode 100644 config/release/centosci/CentOS-8/victoria-current-tripleo.yml delete mode 100644 config/release/centosci/CentOS-8/wallaby-current-tripleo.yml delete mode 100644 config/release/centosci/CentOS-9/master-current-tripleo.yml delete mode 100644 config/release/centosci/CentOS-9/wallaby-current-tripleo.yml delete mode 120000 config/release/centosci/master.yml delete mode 100644 config/release/dependency_ci/centos-compose/repo_config.yaml delete mode 100644 config/release/dependency_ci/centos8stream/repo_config.yaml delete mode 100644 config/release/dependency_ci/container-tools/repo_config.yaml delete mode 100644 config/release/dependency_ci/openstacksdk/repo_config.yaml delete mode 100644 config/release/dependency_ci/openvswitch/repo_config.yaml delete mode 120000 config/release/master-tripleo-ci.yml delete mode 120000 config/release/master.yml delete mode 100644 config/release/rhos-11-rhn-baseos-undercloud.yml.example delete mode 120000 config/release/train.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/cloudsig/ussuri.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/cloudsig/victoria.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/cloudsig/wallaby.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/cloudsig/xena.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/cloudsig/yoga.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/promotion-testing-hash-master.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/promotion-testing-hash-train.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/promotion-testing-hash-ussuri.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/promotion-testing-hash-victoria.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/promotion-testing-hash-wallaby.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/train.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/ussuri.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/victoria.yml delete mode 100644 config/release/tripleo-ci/CentOS-8/wallaby.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/cloudsig/yoga.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/cloudsig/zed.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/master.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/promotion-testing-hash-master.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/promotion-testing-hash-wallaby.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/promotion-testing-hash-zed.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/wallaby.yml delete mode 100644 config/release/tripleo-ci/CentOS-9/zed.yml delete mode 100644 config/release/tripleo-ci/RedHat-8/master.yml delete mode 100644 config/release/tripleo-ci/RedHat-8/promotion-testing-hash-master.yml delete mode 100644 config/release/tripleo-ci/RedHat-8/promotion-testing-hash-train.yml delete mode 100644 config/release/tripleo-ci/RedHat-8/train.yml delete mode 100644 config/release/trunk/master.yml delete mode 100644 config/release/trunk/train.yml delete mode 100644 config/release/trunk/ussuri.yml delete mode 100644 config/release/trunk/victoria.yml delete mode 100644 config/release/trunk/wallaby.yml delete mode 120000 config/release/ussuri.yml delete mode 120000 config/release/victoria.yml delete mode 120000 config/release/wallaby.yml delete mode 100755 devmode.sh delete mode 100644 doc/requirements.txt delete mode 100644 doc/source/accessing-libvirt.rst delete mode 100644 doc/source/accessing-overcloud.rst delete mode 100644 doc/source/accessing-undercloud.rst delete mode 100644 doc/source/basic-usage.rst delete mode 100755 doc/source/conf.py delete mode 100644 doc/source/configuration.rst delete mode 100644 doc/source/contributing.rst delete mode 100644 doc/source/design.rst delete mode 100644 doc/source/devmode-ovb.rst delete mode 100644 doc/source/devmode.rst delete mode 100644 doc/source/environment-configuration.rst delete mode 100644 doc/source/feature-configuration-generated.rst delete mode 100644 doc/source/feature-configuration.rst delete mode 100644 doc/source/getting-started.rst delete mode 100644 doc/source/index.rst delete mode 100644 doc/source/node-configuration.rst delete mode 100644 doc/source/rhosp.rst delete mode 100644 doc/source/troubleshoot.rst delete mode 100644 doc/source/unprivileged.rst delete mode 100644 doc/source/working-with-extras.rst delete mode 100644 fs-matrix.py delete mode 100755 install-deps.sh delete mode 100644 library/generate_macs.py delete mode 100644 molecule-requirements.txt delete mode 100644 molecule/install-deps/converge.yml delete mode 100644 molecule/install-deps/molecule.yml delete mode 100644 playbooks/build-images-and-quickstart.yml delete mode 100644 playbooks/build-images.yml delete mode 100644 playbooks/libvirt-nodepool.yml delete mode 100644 playbooks/libvirt-setup.yml delete mode 100644 playbooks/libvirt-teardown.yml delete mode 100644 playbooks/noop.yml delete mode 100644 playbooks/provision.yml delete mode 100644 playbooks/quickstart.yml delete mode 100644 playbooks/repo-setup-virthost.yml delete mode 100644 playbooks/teardown-environment.yml delete mode 100644 playbooks/teardown-nodes.yml delete mode 100644 playbooks/teardown-provision.yml delete mode 100644 playbooks/teardown.yml delete mode 100644 quickstart-extras-requirements.txt delete mode 100644 quickstart-role-requirements.txt delete mode 100755 quickstart.sh delete mode 100644 releasenotes/notes/2.0.0-1579472457180d77.yaml delete mode 100644 releasenotes/notes/Add-supplemental-node-role-0b6ad8afe82e327d.yaml delete mode 100644 releasenotes/notes/Support-for-virtualport-types-431c390fcf390107.yaml delete mode 100644 releasenotes/notes/add-ability-to-set-dns-on-tls-everywhere-supp-node-9f61fc635dd09070.yaml delete mode 100644 releasenotes/notes/add-fs038-for-octavia-c3fef2c3e65c0a55.yaml delete mode 100644 releasenotes/notes/add-ovb-devmode-f2126fd97caa00c1.yaml delete mode 100644 releasenotes/notes/break-out-general-config-8a02f40113e58dbc.yaml delete mode 100644 releasenotes/notes/consolidate-general-configurations-4748e1b2fbd6d5c9.yaml delete mode 100644 releasenotes/notes/enable_tripleo-validations-5d8064acb2460cf0.yaml delete mode 100644 releasenotes/notes/enable_vnc_console_default_true-3b4431043e231df0.yaml delete mode 100644 releasenotes/notes/generic-convert-image-5605efaea6828aad.yaml delete mode 100644 releasenotes/notes/image-cache-directory-clenup-1eb6c00f50a5809a.yaml delete mode 100644 releasenotes/notes/ipmi-hw-type-dd4397735dbc2152.yaml delete mode 100644 releasenotes/notes/mitaka-eol-b3e3ea7f649011c2.yaml delete mode 100644 releasenotes/notes/nova_cellv2_multicell-faef8f0157dcecf0.yaml delete mode 100644 releasenotes/notes/openstack-shade-static-inventory-88e9985286162ccb.yaml delete mode 100644 releasenotes/notes/scenario006-d88221af1bcd26f0.yaml delete mode 100644 releasenotes/notes/scenario009-883d1575a561bb1a.yaml delete mode 100644 releasenotes/notes/tags_for_all_tasks-7797e4ba6492794e.yaml delete mode 100644 releasenotes/notes/use-repo-setup-f3a3ce9d9d3bbf63.yaml delete mode 100644 releasenotes/source/_static/.gitkeep delete mode 100644 releasenotes/source/conf.py delete mode 100644 releasenotes/source/index.rst delete mode 100644 releasenotes/source/unreleased.rst delete mode 100644 requirements.txt delete mode 100644 roles/common/defaults/main.yml delete mode 100644 roles/convert-image/README.md delete mode 100644 roles/convert-image/defaults/main.yml delete mode 100644 roles/convert-image/meta/main.yml delete mode 100644 roles/convert-image/tasks/main.yml delete mode 100644 roles/convert-image/templates/convert_image.sh.j2 delete mode 100644 roles/environment/README.md delete mode 100644 roles/environment/meta/main.yml delete mode 100644 roles/environment/setup/meta/main.yml delete mode 100644 roles/environment/setup/tasks/main.yml delete mode 100644 roles/environment/setup/templates/network.xml.j2 delete mode 100644 roles/environment/tasks/main.yml delete mode 100644 roles/environment/teardown/meta/main.yml delete mode 100644 roles/environment/teardown/tasks/main.yml delete mode 100644 roles/environment/vars/centos-7.yml delete mode 100644 roles/environment/vars/centos-8.yml delete mode 100644 roles/environment/vars/fedora.yml delete mode 100644 roles/environment/vars/main.yml delete mode 100644 roles/environment/vars/redhat-7.yml delete mode 100644 roles/environment/vars/redhat-8.yml delete mode 100644 roles/environment/vars/redhat-9.yml delete mode 100644 roles/environment/vars/redhat.yml delete mode 100644 roles/fetch-images/defaults/main.yml delete mode 100644 roles/fetch-images/meta/main.yml delete mode 100644 roles/fetch-images/tasks/fetch.yml delete mode 100644 roles/fetch-images/tasks/main.yml delete mode 100644 roles/libvirt/defaults/main.yml delete mode 100644 roles/libvirt/meta/main.yml delete mode 100644 roles/libvirt/setup/common/tasks/main.yml delete mode 100644 roles/libvirt/setup/common/templates/volume_pool.xml.j2 delete mode 100644 roles/libvirt/setup/meta/main.yml delete mode 100644 roles/libvirt/setup/overcloud/files/get-domain-ip.sh delete mode 100644 roles/libvirt/setup/overcloud/meta/main.yml delete mode 100644 roles/libvirt/setup/overcloud/tasks/libvirt_nodepool.yml delete mode 100644 roles/libvirt/setup/overcloud/tasks/main.yml delete mode 100644 roles/libvirt/setup/overcloud/tasks/register_vm.yml delete mode 100644 roles/libvirt/setup/overcloud/templates/baremetalvm.xml.j2 delete mode 100644 roles/libvirt/setup/overcloud/templates/instackenv.json.j2 delete mode 100644 roles/libvirt/setup/overcloud/templates/libguestfs-env.sh.j2 delete mode 100644 roles/libvirt/setup/overcloud/templates/libvirtnodepoolvm.xml.j2 delete mode 100644 roles/libvirt/setup/overcloud/templates/zuul-hosts.yaml.j2 delete mode 100644 roles/libvirt/setup/overcloud/vars/libvirt_nodepool_vars.yml delete mode 100644 roles/libvirt/setup/supplemental/README.md delete mode 100644 roles/libvirt/setup/supplemental/defaults/main.yml delete mode 100644 roles/libvirt/setup/supplemental/meta/main.yml delete mode 100644 roles/libvirt/setup/supplemental/tasks/main.yml delete mode 100644 roles/libvirt/setup/supplemental/tasks/provision.yml delete mode 100644 roles/libvirt/setup/supplemental/templates/tls_everywhere_provisioner.sh.j2 delete mode 100644 roles/libvirt/setup/undercloud/defaults/main.yml delete mode 100644 roles/libvirt/setup/undercloud/files/get-undercloud-ip.sh delete mode 100644 roles/libvirt/setup/undercloud/meta/main.yml delete mode 100644 roles/libvirt/setup/undercloud/tasks/convert_image.yml delete mode 100644 roles/libvirt/setup/undercloud/tasks/customize_overcloud.yml delete mode 100644 roles/libvirt/setup/undercloud/tasks/inject_gating_repo.yml delete mode 100644 roles/libvirt/setup/undercloud/tasks/inject_repos.yml delete mode 100644 roles/libvirt/setup/undercloud/tasks/main.yml delete mode 100644 roles/libvirt/setup/undercloud/tasks/update_image.yml delete mode 100644 roles/libvirt/setup/undercloud/templates/inject_gating_repo.sh.j2 delete mode 100644 roles/libvirt/setup/undercloud/templates/ssh-tunnel.service.j2 delete mode 100644 roles/libvirt/setup/undercloud/templates/ssh.config.j2 delete mode 100644 roles/libvirt/setup/undercloud/templates/undercloudvm.xml.j2 delete mode 100644 roles/libvirt/setup/undercloud/templates/update_image.sh.j2 delete mode 100644 roles/libvirt/setup/user/meta/main.yml delete mode 100644 roles/libvirt/setup/user/tasks/main.yml delete mode 100644 roles/libvirt/teardown/meta/main.yml delete mode 100644 roles/libvirt/teardown/nodes/tasks/main.yml delete mode 100644 roles/libvirt/teardown/user/tasks/main.yml delete mode 100644 roles/parts/README.md delete mode 100644 roles/parts/kvm/defaults/main.yml delete mode 100644 roles/parts/kvm/tasks/main.yml delete mode 100644 roles/parts/libvirt/defaults/main.yml delete mode 100644 roles/parts/libvirt/meta/main.yml delete mode 100644 roles/parts/libvirt/tasks/main.yml delete mode 100644 roles/parts/ovs/defaults/main.yml delete mode 100644 roles/parts/ovs/tasks/main.yml delete mode 100644 roles/provision/defaults/main.yml delete mode 100644 roles/provision/local/meta/main.yml delete mode 100644 roles/provision/local/tasks/main.yml delete mode 100644 roles/provision/meta/main.yml delete mode 100644 roles/provision/remote/meta/main.yml delete mode 100644 roles/provision/remote/tasks/main.yml delete mode 100644 roles/provision/remote/templates/libvirt.pkla.j2 delete mode 100644 roles/provision/support_check/meta/main.yml delete mode 100644 roles/provision/support_check/tasks/main.yml delete mode 100644 roles/provision/teardown/meta/main.yml delete mode 100644 roles/provision/teardown/tasks/main.yml delete mode 100644 roles/provision/user/meta/main.yml delete mode 100644 roles/provision/user/tasks/main.yml delete mode 100644 roles/repo-setup/README.md delete mode 100644 roles/repo-setup/defaults/main.yml delete mode 100644 roles/repo-setup/meta/main.yml delete mode 100644 roles/repo-setup/tasks/create-repo-script.yml delete mode 100644 roles/repo-setup/tasks/get-dlrn-debug.yml delete mode 100644 roles/repo-setup/tasks/get-dlrn-hash-newest.yml delete mode 100644 roles/repo-setup/tasks/get-dlrn-hash.yml delete mode 100644 roles/repo-setup/tasks/inject_repos_into_image.yml delete mode 100644 roles/repo-setup/tasks/main.yml delete mode 100644 roles/repo-setup/tasks/set-dependency-repo-vars.yml delete mode 100644 roles/repo-setup/tasks/set_fact_nodepool_rdo_proxy.yml delete mode 100644 roles/repo-setup/tasks/setup_repos.yml delete mode 100644 roles/repo-setup/tasks/setup_repos_new.yml delete mode 100644 roles/repo-setup/tasks/tripleo-get-hash-set-fact-no-collections.yml delete mode 100644 roles/repo-setup/tasks/tripleo-get-hash-set-fact.yml delete mode 100644 roles/repo-setup/tasks/yum-config-compose-no-collections.yml delete mode 100644 roles/repo-setup/tasks/yum-config-compose.yml delete mode 100644 roles/repo-setup/tasks/yum-config-generic-no-collections.yml delete mode 100644 roles/repo-setup/tasks/yum-config-generic.yml delete mode 100644 roles/repo-setup/templates/repo_cmd_after_setup.sh.j2 delete mode 100644 roles/repo-setup/templates/repo_cmd_before_setup.sh.j2 delete mode 100644 roles/repo-setup/templates/repo_setup.sh.j2 delete mode 100644 roles/repo-setup/templates/repo_setup_new.sh.j2 delete mode 100644 roles/tripleo-inventory/README.md delete mode 100644 roles/tripleo-inventory/defaults/main.yml delete mode 100644 roles/tripleo-inventory/files/get_extra_node.py delete mode 100644 roles/tripleo-inventory/files/remove_extra_node.py delete mode 100644 roles/tripleo-inventory/meta/main.yml delete mode 100644 roles/tripleo-inventory/tasks/inventory.yml delete mode 100644 roles/tripleo-inventory/tasks/main.yml delete mode 100644 roles/tripleo-inventory/tasks/openstack.yml delete mode 100644 roles/tripleo-inventory/templates/clouds.yaml.j2 delete mode 100644 roles/tripleo-inventory/templates/get-overcloud-nodes.py.j2 delete mode 100644 roles/tripleo-inventory/templates/inventory.j2 delete mode 100644 roles/tripleo-inventory/templates/openstack_ssh_config.j2 delete mode 100644 roles/tripleo-inventory/templates/ssh_config.j2 delete mode 100644 roles/tripleo-inventory/templates/ssh_config_localhost.j2 delete mode 100644 roles/tripleo-inventory/templates/ssh_config_no_undercloud.j2 delete mode 100644 roles/tripleo-inventory/tests/inventory delete mode 100644 roles/tripleo-inventory/tests/test.yml delete mode 100644 roles/tripleo/undercloud/tasks/main.yml delete mode 100644 roles/virtbmc/defaults/main.yml delete mode 100644 roles/virtbmc/meta/main.yml delete mode 100644 roles/virtbmc/tasks/configure-vbmc.yml delete mode 100644 roles/virtbmc/tasks/main.yml delete mode 100644 setup.cfg delete mode 100644 setup.py delete mode 100644 test-requirements.txt delete mode 100644 test_plugins/equalto.py delete mode 100644 tests/test_release_files.py delete mode 100644 tests/validate-release-config.yml delete mode 100644 tox.ini delete mode 100644 zuul.d/layout.yaml diff --git a/.ansible-lint b/.ansible-lint deleted file mode 100644 index aa33026b1..000000000 --- a/.ansible-lint +++ /dev/null @@ -1,27 +0,0 @@ ---- -parseable: true -exclude_paths: - - config/ - - releasenotes/ - # this file tries to execute a file that is part of tripleo-quickstart-extras - # so it will never pass. - - playbooks/build-images-and-quickstart.yml -skip_list: - # One two excuses for adding skips: bugs in linter and recent linter bumping - - '204' # [E204] Lines should be no longer than 120 chars - # E602 https://github.com/ansible/ansible-lint/issues/450 - - '602' # [E602] Don't compare to empty string - - '701' # [E701] No 'galaxy_info' found - - '208' # [E208] File permissions unset or incorrect - - '106' # [E106] Role name {} does not match ^[a-z][a-z0-9_]+$ pattern - - '303' # [E303] Using command rather than module -mock_roles: - - extras-common - - image-build -mock_modules: - - authorized_key - - modprobe - - openvswitch_bridge - - virt - - virt_net - - virt_pool diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c8c7f80a9..000000000 --- a/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -# Add patterns in here to exclude files created by tools integrated with this -# repository, such as test frameworks from the project's recommended workflow, -# rendered documentation and package builds. -# -# Don't add patterns to exclude files created by preferred personal tools -# (editors, IDEs, your operating system itself even). These should instead be -# maintained outside the repository, for example in a ~/.gitignore file added -# with: -# -# git config --global core.excludesfile '~/.gitignore' - -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -sdist/ -var/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover - -# Translations -*.mo -*.pot - -# Django stuff: -*.log - -# Sphinx documentation -doc/build/ - -# PyBuilder -target/ - -# virtualenv -.venv* - -# Files created by releasenotes build -releasenotes/build - -# Ansible facts cache -ansible_facts_cache/ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml deleted file mode 100644 index ebc9c26b6..000000000 --- a/.pre-commit-config.yaml +++ /dev/null @@ -1,54 +0,0 @@ ---- -repos: - - repo: local - hooks: - - id: build-fs-matrix - name: build-fs-matrix - entry: python fs-matrix.py > doc/source/feature-configuration-generated.rst - files: config/general_config - language: python - language_version: python3 - always_run: true - additional_dependencies: - - texttable - - pyyaml - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.4.0 - hooks: - - id: end-of-file-fixer - - id: trailing-whitespace - - id: mixed-line-ending - - id: check-byte-order-marker - - id: check-executables-have-shebangs - - id: check-merge-conflict - - id: check-symlinks - - id: debug-statements - - id: flake8 - - id: check-yaml - files: .*\.(yaml|yml)$ - - repo: https://github.com/ansible-community/ansible-lint.git - rev: v5.3.2 - hooks: - - id: ansible-lint - always_run: true - pass_filenames: false - # do not add file filters here as ansible-lint does not give reliable - # results when called with individual files. - # https://github.com/ansible/ansible-lint/issues/611 - verbose: true - entry: env ANSIBLE_LIBRARY=library ansible-lint --force-color -p -v - additional_dependencies: - - 'ansible-core>=2.11,<2.12' - - yamllint - - repo: https://github.com/openstack-dev/bashate.git - rev: 2.0.0 - hooks: - - id: bashate - entry: bashate --error . --ignore=E006,E040 - # Run bashate check for all bash scripts - # Ignores the following rules: - # E006: Line longer than 79 columns (as many scripts use jinja - # templating, this is very difficult) - # E040: Syntax error determined using `bash -n` (as many scripts - # use jinja templating, this will often fail and the syntax - # error will be discovered in execution anyway) diff --git a/.yamllint b/.yamllint deleted file mode 100644 index d13360a51..000000000 --- a/.yamllint +++ /dev/null @@ -1,12 +0,0 @@ ---- -extends: default - -rules: - document-start: disable - line-length: - max: 999 - allow-non-breakable-words: true - allow-non-breakable-inline-mappings: true - key-duplicates: enable -ignore: | - .tox diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 8b538e889..000000000 --- a/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM centos -LABEL maintainer=rdoci -LABEL name=quickstart - - -COPY . /quickstart -WORKDIR /quickstart - -RUN yum install -y sudo && ./quickstart.sh --install-deps - -CMD ["/quickstart/quickstart.sh", "--no-clone", "--bootstrap", "${VIRTHOST}"] diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 8dada3eda..000000000 --- a/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - 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. diff --git a/README.rst b/README.rst index 54531c5ec..4ee2c5f13 100644 --- a/README.rst +++ b/README.rst @@ -1,83 +1,10 @@ -======================== -Team and repository tags -======================== +This project is no longer maintained. -.. image:: https://governance.openstack.org/tc/badges/tripleo-quickstart.svg - :target: https://governance.openstack.org/tc/reference/tags/index.html +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". -.. Change things from this point on - -tripleo-quickstart -================== - -An up-to-date HTML version is available on docs.openstack.org_. - -.. _docs.openstack.org: https://docs.openstack.org/tripleo-quickstart/latest/ - -Release notes for the project can be found at: -https://docs.openstack.org/releasenotes/tripleo-quickstart/ - -One of the barriers to entry for trying out TripleO and its derivatives has -been the relative difficulty in getting an environment up quickly. - -This set of ansible roles is meant to help. - -Quickstart's default deployment method uses a physical machine, which is -referred to as ``$VIRTHOST`` throughout this documentation. On this physical -machine Quickstart sets up multiple virtual machines (VMs) and virtual networks -using libvirt. - -One of the VMs is set up as **undercloud**, an all-in-one OpenStack cloud used -by system administrators to deploy the **overcloud**, the end-user facing -OpenStack installation, usually consisting of multiple VMs. - -You will need a ``$VIRTHOST`` with at least **16 GB** of RAM, preferably **32 -GB**, and you must be able to ``ssh`` to the virthost machine as root without a -password from the machine running ansible. Currently the virthost machine must -be running a recent Red Hat-based Linux distribution (CentOS 7.x, RHEL 7.x). -Other distributions could work but will not be supported with out CI validation. - -Quickstart tool runs commands with superuser privileges as installing packages -to the deployer system. The script should be run by a sudo user, e.g. -``deployer``, which should be added to the sudoers configuration, as shown -below:: - - deployer ALL=(ALL) NOPASSWD: ALL - -.. note:: - Running quickstart.sh commands as root is not suggested or supported. - -The SSH server on your ``$VIRTHOST`` must be accessible via public keys for -both the root and stack users. - -A quick way to test that root to your virthost machine is ready to rock is:: - - ssh root@$VIRTHOST uname -a - -The ``stack`` user is not added until the quickstart deploy runs, so this cannot -be tested in advance. However, if you lock down on a per-user basis, ensure -``AllowUsers`` includes ``stack``. - -Timeouts can be an issue if the SSH server is configured to disconnect users -after periods of inactivity. This can be addressed for example by:: - - ClientAliveInterval 120 - ClientAliveCountMax 720 - -The quickstart defaults are meant to "just work", so it is as easy as -downloading and running the ``quickstart.sh`` script. - -Copyright ---------- - -Copyright 2015-2016 Red Hat, Inc. - -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. +For any further questions, please email +openstack-discuss@lists.openstack.org or join #openstack-dev on +OFTC. diff --git a/ansible-collection-requirements.yml b/ansible-collection-requirements.yml deleted file mode 100644 index 36547bef6..000000000 --- a/ansible-collection-requirements.yml +++ /dev/null @@ -1,46 +0,0 @@ ---- -collections: - # FIXME(bogdando): LP#1954761: keep these in sync with: - # https://opendev.org/openstack/tripleo-ci/src/branch/master/zuul.d/base.yaml - # - # FIXME(jmeng): Keep these in sync with RDO RPMs which are installed by TripleO. - # - # The optional attribute 'version:' must be a valid semantic version [1] because - # ansible-galaxy will use 'version:' to compare with existing collection installs - # and otherwise will fail with "Non integer values in LooseVersion" [2]. - # [1] https://semver.org/ - # [2] https://bugzilla.redhat.com/show_bug.cgi?id=2109807 - # - # FIXME(jmeng): Collection openstack.cloud aka git+https://opendev.org/openstack/ - # ansible-collections-openstack is installed with quickstart.sh because the - # version to be installed depends on the RDO release. - - name: ansible.utils - source: https://galaxy.ansible.com - version: 2.4.2 - - name: ansible.posix - source: https://galaxy.ansible.com - version: 1.3.0 - - name: ansible.netcommon - source: https://old-galaxy.ansible.com/ - version: 2.4.0 - - name: community.general - source: https://old-galaxy.ansible.com/ - version: 4.7.0 - - name: community.libvirt - source: https://old-galaxy.ansible.com/ - version: 1.0.2 - - name: community.docker - source: https://old-galaxy.ansible.com/ - version: 2.7.0 - - name: openvswitch.openvswitch - source: https://galaxy.ansible.com - version: 2.0.2 - - name: openstack.config_template - source: git+https://opendev.org/openstack/ansible-config_template.git - type: git - - name: tripleo.operator - source: git+https://opendev.org/openstack/tripleo-operator-ansible/ - type: git - - name: tripleo.collect_logs - source: git+https://opendev.org/openstack/ansible-role-collect-logs/ - type: git diff --git a/ansible-role-requirements.yml b/ansible-role-requirements.yml deleted file mode 100644 index 909737f74..000000000 --- a/ansible-role-requirements.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- src: git+https://opendev.org/openstack/openstack-ansible-os_tempest.git - version: 0a8459bec03b433b1487b89368e69fad8d92cfd7 - name: os_tempest -- src: git+https://opendev.org/openstack/ansible-role-python_venv_build.git - version: master - name: python_venv_build diff --git a/ansible.cfg b/ansible.cfg deleted file mode 100644 index c38048a06..000000000 --- a/ansible.cfg +++ /dev/null @@ -1,26 +0,0 @@ -[defaults] -retry_files_enabled = False -callbacks_enabled = profile_tasks -host_key_checking = False -gathering = smart -fact_caching = jsonfile -fact_caching_connection = $VIRTUAL_ENV/ansible_facts_cache -fact_caching_timeout = 0 -# https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html -# this may fix a few things in the future -interpreter_python = auto - -# Attempt to load custom modules whether it's installed system-wide or from a virtual environment -callback_plugins = /usr/lib/python2.7/site-packages/ara/plugins/callbacks:$VIRTUAL_ENV/lib/python2.7/site-packages/ara/plugins/callbacks:$VIRTUAL_ENV/lib/python3.6/site-packages/ara/plugins/callbacks:/usr/local/lib/python2.7/dist-packages/ara/plugins/callbacks -test_plugins = /usr/lib/python2.7/site-packages/tripleo-quickstart/test_plugins:$VIRTUAL_ENV/usr/local/share/tripleo-quickstart/test_plugins:test_plugins -library = /usr/lib/python2.7/site-packages/tripleo-quickstart/library:$VIRTUAL_ENV/usr/local/share/tripleo-quickstart/library:library:$VIRTUAL_ENV/share/ansible/plugins/modules:/usr/share/ansible/plugins/modules -module_utils = $VIRTUAL_ENV/share/ansible/plugins/module_utils:/usr/share/ansible/plugins/module_utils -roles_path = roles:$VIRTUAL_ENV/usr/local/share/tripleo-quickstart/roles:$VIRTUAL_ENV/usr/local/share/ansible/roles:$VIRTUAL_ENV/usr/local/share/opstools-ansible/roles:$VIRTUAL_ENV/share/ansible/roles:$VIRTUAL_ENV/usr/share/ansible/roles:/usr/share/ansible/roles -collections_paths = collections:$VIRTUAL_ENV/share/ansible/collections:/usr/share/ansible/collections:$HOME/.ansible/collections/ -action_plugins = /usr/share/ansible/plugins/action:$VIRTUAL_ENV/share/ansible/plugins/action:$VIRTUAL_ENV/lib/python2.7/site-packages/ara/plugins/actions:$VIRTUAL_ENV/lib/python3.6/site-packages/ara/plugins/actions - -[ssh_connection] -pipelining = True -control_path = %(directory)s/%%h-%%r -ssh_args = -o ControlMaster=auto -o ControlPersist=270s -o ServerAliveInterval=30 -o GSSAPIAuthentication=no -retries = 3 diff --git a/ansible_ssh_env.sh b/ansible_ssh_env.sh deleted file mode 100644 index 76c4b081a..000000000 --- a/ansible_ssh_env.sh +++ /dev/null @@ -1,7 +0,0 @@ -export OPT_WORKDIR=${OPT_WORKDIR:=$HOME/.quickstart} - -#ssh config -export SSH_CONFIG=${SSH_CONFIG=$OPT_WORKDIR/ssh.config.ansible} -#make sure ssh config exists -touch $SSH_CONFIG -export ANSIBLE_SSH_ARGS=${ANSIBLE_SSH_ARGS="-F ${SSH_CONFIG}"} diff --git a/bindep.txt b/bindep.txt deleted file mode 100644 index 58742cbf0..000000000 --- a/bindep.txt +++ /dev/null @@ -1,50 +0,0 @@ -# possible bug in ansible, f29 python 3 env fails -# w/o both python-libselinux packages installed -# https://bugs.launchpad.net/tripleo/+bug/1812324 -dnf-utils [platform:fedora] -yum-utils [platform:centos] -gcc [platform:rpm] -git [platform:rpm] -iproute [platform:rpm] -libyaml [platform:rpm] -libffi-devel [platform:rpm] -openssl-devel [platform:rpm] -# rhel 8 -python3-libselinux [platform:rhel-8] -python3-netaddr [platform:rhel-8] -python3-setuptools [platform:rhel-8] -python3-virtualenv [platform:rhel-8] -python3-pip [platform:rhel-8] - -# fedora 29 -python3-libselinux [platform:fedora-29] -python3-netaddr [platform:fedora-29] -python3-setuptools [platform:fedora-29] -python3-virtualenv [platform:fedora-29] -python3-pip [platform:fedora-29] -# fedora 28 -python2-libselinux [platform:fedora-28] -python3-libselinux [platform:fedora-28] -python3-netaddr [platform:fedora-28] -python3-setuptools [platform:fedora-28] -python3-virtualenv [platform:fedora-28] -python3-pip [platform:fedora-28] -# fedora 27 -python2-libselinux [platform:fedora-27] -python3-libselinux [platform:fedora-27] -python2-netaddr [platform:fedora-27] -python2-setuptools [platform:fedora-27] -python2-virtualenv [platform:fedora-27] -python2-pip [platform:fedora-27] -# centos-7 -libselinux-python [platform:centos-7] -python-netaddr [platform:centos-7] -python-setuptools [platform:centos-7] -# build-test-packages failing in queens -python-virtualenv [platform:centos-7] -# -redhat-rpm-config [platform:rpm] - -# other-requirements -libffi-dev [platform:dpkg] -libffi-devel [platform:rpm] diff --git a/ci-scripts/basic.sh b/ci-scripts/basic.sh deleted file mode 100644 index 73e40443e..000000000 --- a/ci-scripts/basic.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -# Basic CI test that runs quickstart.sh with only the -# release argument -# Usage: basic.sh -set -eux - -: ${OPT_ADDITIONAL_PARAMETERS:=""} -: ${DISTRO_PATH:=""} - -# CONFIG and JOB_TYPE are not used here, but kept for -# consistency with other jobs to make JJB cleaner. -RELEASE=$1 -# unused variable in script, kept for consistency -BUILD_SYS=$2 -CONFIG=$3 -JOB_TYPE=$4 - -# Default to using a user other than "stack" as the virthost user. -# This will flush out code that makes assumptions about -# usernames or working directories. -: ${VIRTHOST_USER:=cistack} - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -# preparation steps to run with the gated roles -CI_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )" -source $CI_SCRIPT_DIR/include-gate-changes.sh - -# CI_ENV is set on the slave running the jobs -# REL_TYPE can be specific release type like 'testing' - -bash quickstart.sh \ - --playbook quickstart-extras.yml \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - -e virthost_user=$VIRTHOST_USER \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $VIRTHOST diff --git a/ci-scripts/ci-base-requirements.txt b/ci-scripts/ci-base-requirements.txt deleted file mode 100644 index b75855198..000000000 --- a/ci-scripts/ci-base-requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -python-cicoclient -# As there is no sudo access on ci.centos slave node -# So tripleo-operator-ansible needs to be installed on -# ci.centos slave node so that quickstart will discover -# the tripleo operator collections. -git+https://opendev.org/openstack/tripleo-operator-ansible/#egg=tripleo-operator-ansible diff --git a/ci-scripts/cleanup-stack-image-ovb.sh b/ci-scripts/cleanup-stack-image-ovb.sh deleted file mode 100755 index 82d52ce5f..000000000 --- a/ci-scripts/cleanup-stack-image-ovb.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -# CI test that cleans up a deploy and image on Openstack Virtual Baremetal. -# Usage: cleanup-stack-image-ovb.sh \ -# \ -# - -set -eux - -OVB_CREDS_FILE=$1 -PLAYBOOK=$2 - -# env file is named env-{{ idnum }}.yaml -# idnum is built from: -# "{{ 100000 |random }}" - -export IDNUM=$(ls $WORKSPACE | grep -h 'env-.*\.yaml' | sed -e 's/env-\(.*\).yaml/\1/') -echo $IDNUM - -pushd $WORKSPACE/tripleo-quickstart - -bash quickstart.sh \ ---bootstrap \ ---working-dir $WORKSPACE/ \ ---extra-vars idnum=$IDNUM \ ---extra-vars @$OVB_CREDS_FILE \ ---playbook $PLAYBOOK \ -localhost -popd diff --git a/ci-scripts/collect-logs.sh b/ci-scripts/collect-logs.sh deleted file mode 100644 index 127fc5b2a..000000000 --- a/ci-scripts/collect-logs.sh +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/bash -# Collect the logs from a CI job - -set -eux - -# Note(hrybacki): Config used by collect-logs should be the same used by -# TripleO Quickstart during deployment -CONFIG=$1 -LOG_ENV=${2:-centosci} -JOB_TYPE=${3:-default} - -export ANSIBLE_INVENTORY=$WORKSPACE/hosts -export ANSIBLE_CONFIG=$WORKSPACE/tripleo-quickstart/ansible.cfg -export SSH_CONFIG=$WORKSPACE/ssh.config.ansible -export ANSIBLE_SSH_ARGS="-F ${SSH_CONFIG}" - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -export ARA_DATABASE="sqlite:///${WORKSPACE}/ara.sqlite" -$WORKSPACE/bin/ara generate html $WORKSPACE/ara || true -gzip --recursive --best $WORKSPACE/ara || true - -# Check for existence of the config file in the default -# directory or as a full path -if [ -f $WORKSPACE/config/general_config/$CONFIG.yml ]; then - CONFIG_PATH=$WORKSPACE/config/general_config/$CONFIG.yml -elif [ -f $CONFIG ]; then - CONFIG_PATH=$CONFIG -else - echo "ERROR: Config file $CONFIG is not found." >&2 - exit 1 -fi - -if [ "$JOB_TYPE" = "gate" ]; then - VERIFY_SPHINX=true -else - VERIFY_SPHINX=false -fi - -bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --retain-inventory \ - --config $CONFIG_PATH \ - --playbook collect-logs.yml \ - --extra-vars @$WORKSPACE/config/general_config/${LOG_ENV}-logs.yml \ - --extra-vars artcl_verify_sphinx_build=$VERIFY_SPHINX \ - 127.0.0.2 diff --git a/ci-scripts/devmode_tempest.sh b/ci-scripts/devmode_tempest.sh deleted file mode 100644 index c3f22cc71..000000000 --- a/ci-scripts/devmode_tempest.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# CI test that updates upstream images to latest delorean and runs tempest. -# Usage: tempest.sh -set -eux - -RELEASE=$1 -BUILD_SYS=$2 -CONFIG=$3 -JOB_TYPE=$4 - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -pushd $WORKSPACE/tripleo-quickstart - -bash quickstart.sh \ - --bootstrap \ - --tags all \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --release master-tripleo-ci \ - --extra-vars test_ping=False \ - --extra-vars run_tempest=True \ - $VIRTHOST - -popd diff --git a/ci-scripts/feature-scale-deploy.sh b/ci-scripts/feature-scale-deploy.sh deleted file mode 100644 index 2644a85c2..000000000 --- a/ci-scripts/feature-scale-deploy.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash -# CI test that does a full deploy, scales a compute node, and validates -# the overcloud for both promote and gate jobs -# Usage: full-deploy-with-scale.sh -set -eux - -RELEASE=$1 -# unused variable in script, kept for consistency -BUILD_SYS=$2 -CONFIG=$3 -JOB_TYPE=$4 - -: ${DISTRO_PATH:=""} - -# CI_ENV is set on the slave running the jobs -# REL_TYPE can be specific release type like 'testing' - -if [ "$JOB_TYPE" = "gate" ] || [ "$JOB_TYPE" = "periodic" ]; then - unset REL_TYPE -elif [ "$JOB_TYPE" = "promote" ]; then - REL_TYPE=$LOCATION -else - echo "Job type must be one of gate, periodic, or promote" - exit 1 -fi - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -# run scale phase 1 against the gate job: Scale new compute node -> Delete original compute node -bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --bootstrap \ - --no-clone \ - -e deploy_timeout=75 \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --tags all \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - --playbook scale_nodes.yml \ - $VIRTHOST - -# run scale phase 2 against the gate job: Re-inventory overcloud -> Validate -# Note(hrybacki): The reason we need seperate playbook execution: During scale we create -# one /additional/ compute node and then delete the /original/ compute node. -# The deleted node is still in memory and subsequently will cause issues -# while re-inventorying and validating the overcloud -bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --retain-inventory \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --tags all \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - --playbook scale_nodes_verify.yml \ - $VIRTHOST diff --git a/ci-scripts/full-deploy-baremetal.sh b/ci-scripts/full-deploy-baremetal.sh deleted file mode 100644 index e422f4c0f..000000000 --- a/ci-scripts/full-deploy-baremetal.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -# CI test that does a full deploy on baremetal hardware. -# $HW_ENV_DIR is the directory where environment-specific files are kept. -# Usage: full-deploy-baremetal.sh \ -# \ -# \ -# \ -# \ -# - -set -eux - -: ${OPT_ADDITIONAL_PARAMETERS:=""} -: ${DISTRO_PATH:=""} - -RELEASE=$1 -HW_ENV_DIR=$2 -NETWORK_ISOLATION=$3 -CONFIG_FILE=$4 -PLAYBOOK=$5 -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -bash quickstart.sh \ - --bootstrap \ - --working-dir $WORKSPACE/ \ - --tags all \ - --no-clone \ - --teardown all \ - --config $WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/config_files/$CONFIG_FILE \ - --environment $WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/env_settings.yml \ - --playbook $PLAYBOOK \ - --extra-vars undercloud_instackenv_template=$WORKSPACE/$HW_ENV_DIR/instackenv.json \ - --extra-vars network_environment_file=$WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/${NETWORK_ISOLATION}.yml \ - --extra-vars nic_configs_dir=$WORKSPACE/$HW_ENV_DIR/network_configs/$NETWORK_ISOLATION/nic_configs/ \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST diff --git a/ci-scripts/full-deploy-internal.sh b/ci-scripts/full-deploy-internal.sh deleted file mode 100644 index 626e575bd..000000000 --- a/ci-scripts/full-deploy-internal.sh +++ /dev/null @@ -1,175 +0,0 @@ -#!/bin/bash -# Used to gate ansible-role-tripleo-* repositories -# Usage: gate-roles.sh - -# Note: this script assumes that $WORKSPACE is set prior to calling. - -set -eux - -source $WORKSPACE/tripleo-environments/ci-scripts/internal-functions.sh - -: ${OPT_ADDITIONAL_PARAMETERS:=""} -: ${OPT_SELINUX_PERMISSIVE_UC_INSTALL:="true"} -: ${OPT_INSTALL_UNDERCLOUD_ONLY:="false"} - -# JOB_TYPE is not used here, but kept for consistency with other jobs to make JJB cleaner. - -RELEASE=$1 # promote: {build-version} (rhos-8, rhos-9, rhos-10, master) -BUILD_SYS=$2 # promote: poodle, puddle (note: unused parameter) -CONFIG=$3 # promote: minimal, pacemaker, -TOPOLOGY=$4 # promote: 3ctlr_1comp_64gb, 3ctlr_1comp_192gb, etc -JOB_TYPE=$5 # promote: promote -PLATFORM=$6 # promote: rhel - -# promote: $5 is used to construct the URL we are testing -if [ "$#" -eq 7 ]; then - export OPT_BUILD_ID=$7 -else - export OPT_BUILD_ID="latest" # optional -fi - -cat << EOF > $WORKSPACE/internal-deploy-vars.txt -Workspace : $WORKSPACE -Release : $RELEASE -Build_sys : $BUILD_SYS -Config : $CONFIG -Topology : $TOPOLOGY -Job Type : $JOB_TYPE -Platform : $PLATFORM -Build ID : $OPT_BUILD_ID -EOF - -# note: presently LOCATION isn't used for anything here (yet) -if [ "$JOB_TYPE" = "gate" ] || [ "$JOB_TYPE" = "periodic" ]; then - LOCATION='stable' -elif [ "$JOB_TYPE" = "promote" ]; then - LOCATION='testing' -else - echo "Job type must be one of gate, periodic, or promote" - exit 1 -fi - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -# TODO / NOTE: this is not used at all internally and should be nuked. It is merely a place to drift -if [ "$JOB_TYPE" = "gate" ]; then - # set up the gated repos and modify the requirements file to use them - bash $WORKSPACE/tripleo-quickstart/quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --environment $WORKSPACE/config/environments/oooq-internal.yml \ - --playbook gate-roles.yml \ - --release $RELEASE \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - - # once more to let the gating role be gated as well - bash $WORKSPACE/tripleo-quickstart/quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --environment $WORKSPACE/config/environments/oooq-internal.yml \ - --playbook gate-roles.yml \ - --release $RELEASE \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST -fi - -# note: if job type is promote, we're specifying the image URL via an explicit link. If not, use --release instead -# note: undercloud_image_url takes precedence over the same thing defined in config/release/$RELEASE.yml -if [ "$JOB_TYPE" = "promote" ]; then - - # for RDO on RHEL jobs, BUILD_ID ends up being a full url to a delorean repo. For internal OSP (rhos-n), it's just a build tag - # this is because the OSP jobs use rhos-release (which wants a date tag), and for RDO on RHEL builds, we need the actual URL. - if [[ $RELEASE = "master" || $RELEASE = "queens" || $RELEASE = "pike" || $RELEASE = "ocata" || $RELEASE = "newton" ]]; then - # ex: http://trunk.rdoproject.org/centos7/5b/b1/5bb13005806597e38ee504bf5a3f42b437ec0890_af9bddfb - # ^----- $7 - OPT_DELOREAN_URI=$OPT_BUILD_ID - OPT_BUILD_ID=$(get_delorean_hash_from_url $OPT_DELOREAN_URI) - fi - - touch $WORKSPACE/build-id.$OPT_BUILD_ID - - # map $CONFIG (aka {functional_config} in JJB) to an actual yml - FEATURESET=$(get_featureset_from_functional_config $CONFIG) - - # this is a temporary fix to unstick RDO on RHEL: master for OSP 10 beta import - # we can't park this in --release loaded config file for reasons. using image config location instead - # https://trello.com/c/gdKD9x1K/197-rdo-on-rhel-master-make-undercloud-selinux-permissive-post-uc-install - # - # OPT_SELINUX_PERMISSIVE_UC_INSTALL --> not "true" will disable - - # TODO: Fix quickstart.sh - has a latent bug, init to =() is not enough) - OPT_VARS+=("") - - if [ "$OPT_SELINUX_PERMISSIVE_UC_INSTALL" = "true" ]; then - if [[ $RELEASE = "master" || $RELEASE = "queens" || $RELEASE = "pike" || $RELEASE = "ocata" || $RELEASE = "newton" ]]; then - OPT_VARS+=("-e") - OPT_VARS+=("undercloud_install_script=$WORKSPACE/image-build/$RELEASE/latest/undercloud-install-selinux-permissive.sh.j2") - fi - fi - - if [[ $RELEASE = "rhos-12" || $RELEASE = "rhos-13" ]]; then - export FEATURESET=featureset022 - - # TODO: remove when/if https://review.opendev.org/#/c/529408 lands - OPT_VARS+=("-e tempest_config=true") - OPT_VARS+=("-e run_tempest=true") - OPT_VARS+=("-e tempest_workers=4") - OPT_VARS+=("-e test_white_regex=smoke|test_minimum_basic|test_network_basic_ops|test_snapshot_pattern|test_volume_boot_pattern") - fi - - # This passes the correct tq release config file for rdo on rhel - if [[ $RELEASE = "master" || $RELEASE = "queens" || $RELEASE = "pike" || $RELEASE = "ocata" || $RELEASE = "newton" ]]; then - if [[ $PLATFORM = "rhel" ]]; then - RELEASE=$RELEASE-rhel - fi - fi - - if [ "$OPT_INSTALL_UNDERCLOUD_ONLY" = "true" ]; then - # if we don't provide --tags it picks up oooq default (UC only) - # https://github.com/openstack/tripleo-quickstart/blob/master/quickstart.sh#L8 - # DEFAULT_OPT_TAGS="untagged,provision,environment,undercloud-scripts,overcloud-scripts,undercloud-install,undercloud-post-install" - TAG_PARAMETER="" - else - TAG_PARAMETER="--tags all" - fi - - bash $WORKSPACE/tripleo-quickstart/quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --environment $WORKSPACE/config/environments/oooq-internal.yml \ - --teardown all \ - --config $WORKSPACE/config/general_config/$FEATURESET.yml \ - --nodes $WORKSPACE/config/nodes/$TOPOLOGY.yml \ - --playbook quickstart-extras.yml \ - $TAG_PARAMETER \ - --release $RELEASE \ - -e current_build=$OPT_BUILD_ID \ - ${OPT_VARS[@]} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - -else - - # TODO / NOTE: this is not used at all internally and should be nuked. It is merely a place to drift - bash $WORKSPACE/tripleo-quickstart/quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --environment $WORKSPACE/config/environments/oooq-internal.yml \ - --teardown all \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --playbook quickstart-extras.yml \ - --tags all \ - --release $RELEASE \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - -fi diff --git a/ci-scripts/full-deploy-ovb.sh b/ci-scripts/full-deploy-ovb.sh deleted file mode 100644 index 7613105b8..000000000 --- a/ci-scripts/full-deploy-ovb.sh +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/bash -# CI test that does a full deploy on Openstack Virtual Baremetal. -# $HW_ENV_DIR is the directory where environment-specific files are kept. -# $JOB_TYPE used are 'periodic' and 'gate' -# Usage: full-deploy-ovb.sh \ -# \ -# \ -# \ -# \ -# \ -# \ -# - -set -eux - -: ${OPT_ADDITIONAL_PARAMETERS:=""} - -DEFAULT_PLAYBOOK='baremetal-full-deploy.yml' - -RELEASE=$1 -CONFIG=$2 -JOB_TYPE=$3 -ENVIRONMENT=$4 -CUSTOM_REQUIREMENTS_INSTALL=$5 -DELETE_ALL_STACKS=$6 -PLAYBOOK=${7:-$DEFAULT_PLAYBOOK} -VIRTHOST=localhost - -if [ "$JOB_TYPE" = "gate" ] || \ - [ "$JOB_TYPE" = "periodic" ] || \ - [ "$JOB_TYPE" = "dlrn-gate" ]; then - unset REL_TYPE - if [ "$RELEASE" = "master-tripleo-ci" ]; then - # we don't have a local mirror for the tripleo-ci images - unset CI_ENV - fi -elif [ "$JOB_TYPE" = "dlrn-gate-check" ]; then - # setup a test patch to be built - export ZUUL_HOST=review.opendev.org - export ZUUL_CHANGES=openstack/tripleo-heat-templates:master:refs/changes/70/528770/1 - unset REL_TYPE - if [ "$RELEASE" = "master-tripleo-ci" ]; then - # we don't have a local mirror for the tripleo-ci images - unset CI_ENV - fi -elif [ "$JOB_TYPE" = "promote" ]; then - export REL_TYPE=$LOCATION -else - echo "Job type must be one of the following:" - echo " * gate - for gating changes on tripleo-quickstart or -extras" - echo " * promote - for running promotion jobs" - echo " * periodic - for running periodic jobs" - echo " * dlrn-gate - for gating upstream changes" - echo " * dlrn-gate-check - for gating upstream changes" - exit 1 -fi - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -# Preparation steps to run with the gated roles -CI_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source $CI_SCRIPT_DIR/include-gate-changes.sh - -# Add custom repository -if [[ $CUSTOM_REQUIREMENTS_INSTALL != "none" ]] && [[ ! $(grep "$CUSTOM_REQUIREMENTS_INSTALL" quickstart-extras-requirements.txt) ]]; then - echo "$CUSTOM_REQUIREMENTS_INSTALL" >> $CI_SCRIPT_DIR/../quickstart-extras-requirements.txt -fi - -# Define nodes -export OPT_NODES=${OPT_NODES:="$WORKSPACE/config/nodes/1ctlr_1comp.yml"} - -# We need to run differently when gating upstream changes -if [ "$JOB_TYPE" = "dlrn-gate" ] || [ "$JOB_TYPE" = "dlrn-gate-check" ]; then - bash quickstart.sh \ - --bootstrap \ - --working-dir $WORKSPACE/ \ - --tags all \ - --no-clone \ - --extra-vars build_test_packages="true" \ - --extra-vars @$WORKSPACE/config/environments/ovb-common.yml \ - --config $WORKSPACE/config/general_config/${CONFIG}.yml \ - --environment $WORKSPACE/config/environments/${ENVIRONMENT}.yml \ - --extra-vars cleanup_stacks_keypairs=$DELETE_ALL_STACKS \ - --playbook $PLAYBOOK \ - --release $RELEASE \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST -else - bash quickstart.sh \ - --bootstrap \ - --working-dir $WORKSPACE/ \ - --tags all \ - --no-clone \ - --extra-vars @$WORKSPACE/config/environments/ovb-common.yml \ - --config $WORKSPACE/config/general_config/${CONFIG}.yml \ - --environment $WORKSPACE/config/environments/${ENVIRONMENT}.yml \ - --extra-vars cleanup_stacks_keypairs=$DELETE_ALL_STACKS \ - --playbook baremetal-full-deploy.yml \ - --release $RELEASE \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST -fi diff --git a/ci-scripts/full-deploy.sh b/ci-scripts/full-deploy.sh deleted file mode 100644 index e7f66dea2..000000000 --- a/ci-scripts/full-deploy.sh +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/bash -# CI test that does a full deploy for both promote and gate jobs. -# For the promote jobs it runs against the image in the testing location. -# For the gate jobs it runs against the image in the stable location. -# Usage: full-deploy.sh -set -eux - -: ${OPT_ADDITIONAL_PARAMETERS:=""} -: ${WORKSPACE:=$HOME/.quickstart} -: ${VIRTHOST:=127.0.0.1} -: ${DISTRO_PATH:=""} -: ${OPT_ENVIRONMENT:=/$WORKSPACE/config/environments/default_libvirt.yml} - -RELEASE=${1:-master-tripleo-ci} -# unused variable in script, kept for consistency -BUILD_SYS=${2:-delorean} -CONFIG=${3:-minimal} -JOB_TYPE=${4:-standalone} - -if [ "$JOB_TYPE" = "gate" ] || \ - [ "$JOB_TYPE" = "periodic" ] || \ - [ "$JOB_TYPE" = "dlrn-gate" ]; then - unset REL_TYPE - if [ "$RELEASE" = "master-tripleo-ci" ]; then - # we don't have a local mirror for the tripleo-ci images - unset CI_ENV - fi -elif [ "$JOB_TYPE" = "dlrn-gate-check" ]; then - # setup a test patch to be built - export ZUUL_HOST=review.opendev.org - export ZUUL_CHANGES=openstack/tripleo-heat-templates:master:refs/changes/70/528770/1 - unset REL_TYPE - if [ "$RELEASE" = "master-tripleo-ci" ]; then - # we don't have a local mirror for the tripleo-ci images - unset CI_ENV - fi -elif [ "$JOB_TYPE" = "promote" ]; then - REL_TYPE=$LOCATION -elif [ "$JOB_TYPE" = "standalone" ] || [ "$JOB_TYPE" = "standalone3" ]; then - echo "using standalone, single node deployment" -else - echo "Job type must be one of the following:" - echo " * gate - for gating changes on tripleo-quickstart or -extras" - echo " * promote - for running promotion jobs" - echo " * periodic - for running periodic jobs" - echo " * dlrn-gate - for gating upstream changes" - echo " * dlrn-gate-check - for gating upstream changes" - echo " * standalone - for standalone deployments" - echo " * standalone3 - for standalone deployments" - exit 1 -fi - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -# preparation steps to run with the gated roles -CI_SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -source $CI_SCRIPT_DIR/include-gate-changes.sh - -# we need to run differently (and twice) when gating upstream changes -case "$JOB_TYPE" in - dlrn-gate*) - # provison the virthost and build the gated DLRN packages - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --extra-vars artg_compressed_gating_repo="/home/stack/gating_repo.tar.gz" \ - --playbook build-test-packages.yml \ - --tags all \ - --teardown all \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - # skip provisioning and run the gate using the previously built RPMs - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --retain-inventory \ - --extra-vars compressed_gating_repo="/home/stack/gating_repo.tar.gz" \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --skip-tags provision \ - --tags all \ - --teardown none \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - ;; - standalone) - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --extra-vars artg_compressed_gating_repo="/home/stack/gating_repo.tar.gz" \ - --extra-vars virthost_repo_setup=true \ - --playbook build-test-packages.yml \ - --tags all \ - --teardown all \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --retain-inventory \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --environment $WORKSPACE/config/environments/standalone_centos_libvirt.yml \ - --skip-tags provision \ - --tags all \ - --teardown none \ - --playbook quickstart-extras-standalone.yml \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - ;; - standalone3) - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --extra-vars artg_compressed_gating_repo="/home/stack/gating_repo.tar.gz" \ - --playbook build-test-packages.yml \ - --tags all \ - --teardown all \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --retain-inventory \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --environment $WORKSPACE/config/environments/standalone_fedora_libvirt.yml \ - --skip-tags provision \ - --tags all \ - --teardown none \ - --playbook quickstart-extras-standalone.yml \ - --release tripleo-ci/master_fedora28 \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST - ;; - *) - bash quickstart.sh \ - --bootstrap \ - --tags all \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --environment $OPT_ENVIRONMENT \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST -esac diff --git a/ci-scripts/get-node.sh b/ci-scripts/get-node.sh deleted file mode 100644 index 6c69bce7d..000000000 --- a/ci-scripts/get-node.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/bash -# Get a CI node - -set -eux - -function usage { - echo "get-node.sh args" - echo "" - echo "./get-node.sh" - echo "-h --help" - echo "-r --centos-release=$CENTOS_RELEASE ( defaults to $CENTOS_RELEASE)" - echo "" -} - -# set a reasonable default -CENTOS_RELEASE=7 - -PARAMS="" -while (( "$#" )); do - case "$1" in - -r|--centos-release) - # default centos-7 - CENTOS_RELEASE=${2:-$CENTOS_RELEASE} - shift 2 - ;; - --) # end argument parsing - shift - break - ;; - -h|--help) - usage - break - ;; - -*|--*=) # unsupported flags - echo "Error: Unsupported flag $1" >&2 - usage - exit 1 - ;; - *) # preserve positional arguments - PARAMS="$PARAMS $1" - shift - ;; - esac -done -# set positional arguments in their proper place -eval set -- "$PARAMS" - -pushd $WORKSPACE/tripleo-quickstart -# (trown) Use quickstart.sh to set up the environment. -# This serves as a fail-fast syntax check for quickstart gates. -./quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --requirements requirements.txt \ - --requirements quickstart-extras-requirements.txt \ - --requirements ci-scripts/ci-base-requirements.txt \ - --playbook noop.yml \ - 127.0.0.2 -popd - -$WORKSPACE/bin/cico inventory --all - -$WORKSPACE/bin/cico node get \ - --arch x86_64 \ - --release $CENTOS_RELEASE \ - --count 1 \ - --retry-count 15 \ - --retry-interval 60 \ - -f csv | sed "1d" > $WORKSPACE/provisioned.csv - -$WORKSPACE/bin/cico inventory --all -if [ -s $WORKSPACE/provisioned.csv ]; then - cat $WORKSPACE/provisioned.csv -else - echo "FATAL: no nodes were provisioned" - exit 1 -fi - -export VIRTHOST=`cat provisioned.csv | tail -1 | cut -d "," -f 3| sed -e 's/"//g'` -export VIRTHOST_KEY=`cat provisioned.csv | tail -1 | cut -d "," -f 7| sed -e 's/"//g'` -echo $VIRTHOST > $WORKSPACE/virthost -echo $VIRTHOST_KEY > $WORKSPACE/cico_key.txt diff --git a/ci-scripts/images.sh b/ci-scripts/images.sh deleted file mode 100644 index 7febc0034..000000000 --- a/ci-scripts/images.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# CI test that builds images for both promote and gate jobs. -# For the promote jobs it publishes the image to the testing location. -# For the gate jobs it tests them with a full deploy. -# Usage: images.sh -set -eux - -RELEASE=$1 -BUILD_SYS=$2 -CONFIG=$3 -JOB_TYPE=$4 - -: ${DISTRO_PATH:=""} - -# These are set here to make it possible to locally reproduce the promote -# image building job in the same way as the other jobs. -PUBLISH=${PUBLISH:-"false"} -delorean_current_hash=${delorean_current_hash:-"consistent"} -REL_TYPE=${LOCATION:-"testing"} - -if [ "$JOB_TYPE" = "gate" ] || [ "$JOB_TYPE" = "periodic" ]; then - PLAYBOOK='build-images-and-quickstart.yml' - delorean_current_hash='current-passed-ci' -elif [ "$JOB_TYPE" = "promote" ]; then - PLAYBOOK='build-images.yml' -else - echo "Job type must be one of gate, periodic, or promote" - exit 1 -fi - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -bash quickstart.sh \ - --tags all \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --working-dir $WORKSPACE/ \ - --playbook $PLAYBOOK \ - --extra-vars undercloud_image_url="file:///var/lib/oooq-images/undercloud.qcow2" \ - --extra-vars artib_release=$RELEASE \ - --extra-vars artib_build_system=$BUILD_SYS \ - --extra-vars artib_delorean_hash=$delorean_current_hash \ - --extra-vars publish=$PUBLISH \ - --extra-vars artib_image_stage_location="$REL_TYPE" \ - --bootstrap \ - --no-clone \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE \ - $VIRTHOST diff --git a/ci-scripts/include-gate-changes.sh b/ci-scripts/include-gate-changes.sh deleted file mode 100644 index 351bcfbd6..000000000 --- a/ci-scripts/include-gate-changes.sh +++ /dev/null @@ -1,34 +0,0 @@ -# Source this script from within other gating scripts to provide depends-on -# functionality for quickstart and quickstart-extras - -: ${OPT_ADDITIONAL_PARAMETERS:=""} -: ${DISTRO_PATH:=""} - -# preparation steps to run with the gated changes -if [ "$JOB_TYPE" = "gate" ] || \ - [ "$JOB_TYPE" = "dlrn-gate-check" ] || \ - [ "$JOB_TYPE" = "standalone" ]; then - - pushd $WORKSPACE/tripleo-quickstart - sed -i.bak '/extras/d' $WORKSPACE/tripleo-quickstart/quickstart-extras-requirements.txt - echo "file://$WORKSPACE/tripleo-quickstart-extras" >> $WORKSPACE/tripleo-quickstart/quickstart-extras-requirements.txt - popd - - bash quickstart.sh \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --playbook gate-quickstart.yml \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $OPT_ADDITIONAL_PARAMETERS \ - $VIRTHOST -fi - -# Rename tripleo-quickstart directory to include the gated change -if [ -d $WORKSPACE/tripleo-quickstart-gate-repo ]; then - mv $WORKSPACE/tripleo-quickstart $WORKSPACE/tripleo-quickstart-old - mv $WORKSPACE/tripleo-quickstart-gate-repo $WORKSPACE/tripleo-quickstart - cp $WORKSPACE/tripleo-quickstart-old/*requirements* $WORKSPACE/tripleo-quickstart/ - # Change into the new quickstart directory to use the new changes - cd $WORKSPACE/tripleo-quickstart -fi diff --git a/ci-scripts/ooo-usbkey.sh b/ci-scripts/ooo-usbkey.sh deleted file mode 100644 index 3e80fe153..000000000 --- a/ci-scripts/ooo-usbkey.sh +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/bash -# CI test that tests the USB key method of using tripleo-quickstart -# Usage: basic.sh -set -eux - -# CONFIG and JOB_TYPE are not used here, but kept for -# consistency with other jobs to make JJB cleaner. -RELEASE=$1 -BUILD_SYS=$2 -CONFIG=$3 -JOB_TYPE=$4 - -URL=http://artifacts.ci.centos.org/artifacts/rdo/images -UNDERCLOUD=$URL/$RELEASE/$BUILD_SYS/stable/undercloud.qcow2 -sshcmd='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' -scpcmd='scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' - -# Create a non-root user with passwordless sudo permissions on the virthost -# This is a requirement of the usbkey script, but the CI nodes do not have it -$sshcmd root@$VIRTHOST <<-EOF -useradd stack -mkdir /home/stack/.ssh -cp /root/.ssh/authorized_keys /home/stack/.ssh/ -chown -R stack:stack /home/stack -echo "Defaults:stack !requiretty" > /etc/sudoers.d/stack -echo "stack ALL=(root) NOPASSWD:ALL" >> /etc/sudoers.d/stack -chmod 0440 /etc/sudoers.d/stack -EOF - -# Copy artifacts to the CI provided virthost to simulate USB key -$sshcmd stack@$VIRTHOST <<-EOF -if [[ ! -f /tmp/usb/undercloud.qcow2 ]]; then - mkdir -p /tmp/usb - curl -o /tmp/usb/undercloud.qcow2 $UNDERCLOUD - curl -o /tmp/usb/undercloud.qcow2.md5 $UNDERCLOUD.md5 -else - echo "undercloud.qcow2 file was found, skipping download" -fi -EOF - -#Ensure rsync is installed on target, required w/ ssh as the protocol -$sshcmd root@$VIRTHOST <<-EOF -yum -y install rsync -EOF - -#$scpcmd -r $WORKSPACE/tripleo-quickstart stack@$VIRTHOST:/tmp/usb/ -rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress $WORKSPACE/tripleo-quickstart stack@$VIRTHOST:/tmp/usb/ -$sshcmd stack@$VIRTHOST "cp /tmp/usb/tripleo-quickstart/ci-scripts/usbkey/* /tmp/usb/" -$sshcmd stack@$VIRTHOST "cp /tmp/usb/tripleo-quickstart/ci-scripts/usbkey/quickstart-usb.yml /tmp/usb/tripleo-quickstart/playbooks/" - -#quickstart.sh has changed since the usbkey image was pressed. -# The ci-scripts/usbkey/usb_requirements.txt has to be the requirements file now that -# requirements are additive vs. a selection. -$sshcmd stack@$VIRTHOST "mv /tmp/usb/tripleo-quickstart/ci-scripts/usbkey/usb_requirements.txt /tmp/usb/tripleo-quickstart/requirements.txt" - -#Use the version of quickstart.sh that was shipped on the usbkey -$sshcmd stack@$VIRTHOST "mv /tmp/usb/tripleo-quickstart/ci-scripts/usbkey/quickstart.sh /tmp/usb/tripleo-quickstart/quickstart.sh" - - -# Simulate executable bit being unset when mounting usbkey -$sshcmd stack@$VIRTHOST "chmod -x /tmp/usb/RUN_ME.sh /tmp/usb/tripleo-quickstart/quickstart.sh" -# Simulate the usbkey not being writable -$sshcmd stack@$VIRTHOST "chmod -w -R /tmp/usb" - -# Run the USB script -$sshcmd stack@$VIRTHOST 'bash /tmp/usb/RUN_ME.sh' - -# Support collect logs on the virthost by providing hosts and ssh config -export ANSIBLE_INVENTORY=$WORKSPACE/hosts -export SSH_CONFIG=$WORKSPACE/ssh.config.ansible -export ANSIBLE_SSH_ARGS="-F ${SSH_CONFIG}" -$scpcmd stack@$VIRTHOST:~/.quickstart/ssh.config* $WORKSPACE/ -$scpcmd stack@$VIRTHOST:~/.quickstart/hosts* $WORKSPACE/ -$scpcmd stack@$VIRTHOST:~/.quickstart/id_* $WORKSPACE/ -sed -i 's,\/home\/stack\/\.quickstart,'"$WORKSPACE"',g' $WORKSPACE/ssh.config.ansible diff --git a/ci-scripts/ovb-image-upload.sh b/ci-scripts/ovb-image-upload.sh deleted file mode 100755 index 20013300e..000000000 --- a/ci-scripts/ovb-image-upload.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash -# CI script to upload an undercloud image to Openstack Virtual Baremetal. -# $HW_ENV_DIR is the directory where environment-specific files are kept. -# Usage: ovb-image-upload.sh \ -# \ -# \ -# \ -# \ -# - -set -eux - -RELEASE=$1 -HW_ENV_DIR=$2 -NETWORK_ISOLATION=$3 -OVB_CREDS_FILE=$4 -PLAYBOOK=$5 - -pushd $WORKSPACE/tripleo-quickstart - -bash quickstart.sh \ ---ansible-debug \ ---bootstrap \ ---working-dir $WORKSPACE/ \ ---release $RELEASE \ ---extra-vars @$OVB_CREDS_FILE \ ---extra-vars get_latest_image='upload' \ ---playbook $PLAYBOOK \ -localhost -popd diff --git a/ci-scripts/pre-commit-hook b/ci-scripts/pre-commit-hook deleted file mode 100755 index be9d4984b..000000000 --- a/ci-scripts/pre-commit-hook +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh - -# Install this into .git/hooks/pre-commit - -echo "running commit checks" - -( -tmpfile=$(mktemp -t gitXXXXXX) -trap "rm -f $tmpfile" EXIT - -for x in ci-scripts/pre-commit.d/*; do - [ -x "$x" ] || continue - - tput setaf 3 - printf "%-50s" $x - tput sgr0 - - if $x > $tmpfile 2>&1 ; then - tput setaf 2 - printf "[OK]\n" - tput sgr0 - else - tput setaf 1 - printf "[OK]\n" - tput sgr0 - cat $tmpfile >&2 - exit 1 - fi -done -) - -if [ $? -ne 0 ]; then - tput setaf 1 - echo "*** COMMIT CHECK FAILED ***" >&2 - tput sgr0 - exit 1 -fi - -exit 0 diff --git a/ci-scripts/pre-commit.d/validate-yaml-in-commit b/ci-scripts/pre-commit.d/validate-yaml-in-commit deleted file mode 100755 index de868f616..000000000 --- a/ci-scripts/pre-commit.d/validate-yaml-in-commit +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -SCRIPTS="$PWD/ci-scripts" - -tmpdir=$(mktemp -d commitXXXXXX) -trap "rm -rf $tmpdir" EXIT - -# This checks out the index into a temporary directory, which is -# necessary if you want to validate the files that are actually -# part of the commit (because when performing an interactive add, -# for example, files in a commit may not actually match the content -# of files in the working directory). - -git checkout-index --prefix=$tmpdir/ -af -git diff --cached --name-only --diff-filter=ACM | grep '.yml' | ( -cd $tmpdir -xargs --no-run-if-empty $SCRIPTS/validate-yaml -) diff --git a/ci-scripts/releasenotes_tox.sh b/ci-scripts/releasenotes_tox.sh deleted file mode 100755 index c37cf598e..000000000 --- a/ci-scripts/releasenotes_tox.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash - -rm -rf releasenotes/build - -sphinx-build -a -E -W \ - -d releasenotes/build/doctrees \ - -b html \ - releasenotes/source releasenotes/build/html -BUILD_RESULT=$? - -UNCOMMITTED_NOTES=$(git status --porcelain | \ - awk '$1 == "M" && $2 ~ /releasenotes\/notes/ {print $2}') - -if [ "${UNCOMMITTED_NOTES}" ]; then - cat < [] -set -eux - -RELEASE=$1 -BUILD_SYS=$2 -CONFIG=$3 -JOB_TYPE=$4 -DELOREAN_HASH=$5 -MAJOR_UPGRADE=$6 -PACEMAKER=$7 -TARGET_VERSION=$8 - -: ${DISTRO_PATH:=""} - -if [ "$JOB_TYPE" = "gate" ] || [ "$JOB_TYPE" = "periodic" ]; then - unset REL_TYPE -elif [ "$JOB_TYPE" = "promote" ]; then - REL_TYPE=$LOCATION -else - echo "Job type must be one of gate, periodic, or promote" - exit 1 -fi - -# (trown) This is so that we ensure separate ssh sockets for -# concurrent jobs. Without this, two jobs running in parallel -# would try to use the same undercloud-stack socket. -socketdir=$(mktemp -d /tmp/sockXXXXXX) -export ANSIBLE_SSH_CONTROL_PATH=$socketdir/%%h-%%r - -bash quickstart.sh \ - --config $WORKSPACE/config/general_config/$CONFIG.yml \ - --extra-vars upgrade_delorean_hash=$DELOREAN_HASH \ - --extra-vars major_upgrade=$MAJOR_UPGRADE \ - --extra-vars enable_pacemaker=$PACEMAKER \ - --extra-vars target_upgrade_version=$TARGET_VERSION \ - --extra-vars set_overcloud_workers=false \ - --working-dir $WORKSPACE/ \ - --no-clone \ - --bootstrap \ - --tags all \ - --teardown all \ - --playbook upgrade.yml \ - --release ${CI_ENV:+$CI_ENV/}${DISTRO_PATH:+$DISTRO_PATH/}$RELEASE${REL_TYPE:+-$REL_TYPE} \ - $VIRTHOST diff --git a/ci-scripts/validate-yaml b/ci-scripts/validate-yaml deleted file mode 100755 index 110f83d15..000000000 --- a/ci-scripts/validate-yaml +++ /dev/null @@ -1,94 +0,0 @@ -#!/usr/bin/python - -# 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. - -import argparse -import logging -import os -import sys -import yaml - - -def parse_args(): - p = argparse.ArgumentParser() - p.add_argument('--verbose', '-v', - action='store_const', - const='INFO', - dest='loglevel') - p.add_argument('--fail-fast', '-x', - action='store_true') - p.add_argument('path', nargs='+') - p.set_defaults(loglevel='WARNING') - return p.parse_args() - - -def validate_file(path): - global args - valid = True - - logging.info('checking: %s', path) - with open(path) as fd: - try: - yaml.safe_load(fd) - except yaml.error.YAMLError as error: - valid = False - logging.error('%s failed validation: %s', - path, error) - - return valid - - -def validate_directory(path): - global args - all_valid = True - - for dirpath, dirnames, filenames in os.walk(path): - for filename in filenames: - if not (filename.endswith('.yml') or filename.endswith('.yaml')): - continue - - filename = os.path.join(dirpath, filename) - all_valid = validate_file(filename) and all_valid - if not all_valid and args.fail_fast: # noqa : F821 - break - else: - continue - - break - - return all_valid - - -def main(): - global args - - args = parse_args() - logging.basicConfig(level=args.loglevel) - - for path in args.path: - if os.path.isdir(path): - all_valid = validate_directory(path) - elif os.path.isfile(path): - all_valid = validate_file(path) - else: - logging.error('%s is not a file or directory (skipping)', - path) - - if not all_valid and args.fail_fast: - break - - return 0 if all_valid else 1 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/config/environments/baseos_centos_libvirt.yml b/config/environments/baseos_centos_libvirt.yml deleted file mode 100644 index 677029aa8..000000000 --- a/config/environments/baseos_centos_libvirt.yml +++ /dev/null @@ -1,33 +0,0 @@ -# This environment can be used to use a base CentOS qcow2 image for the undercloud -# instead of the default pre-built undercloud qcow2 - -# baseos undercloud settings -undercloud_image_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud-1802.qcow2 - -# Libvirt environments do not yet support whole-disk images, for example -# https://bugs.launchpad.net/tripleo/+bug/1950383 -whole_disk_images: false - -images: - - name: centos - url: "{{ undercloud_image_url }}" - type: qcow2 - md5sum: "b3ff9077d80b5f17bcbb7356f7982fd4 *CentOS-7-x86_64-GenericCloud-1802.qcow2" - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -baseos_as_undercloud: true -undercloud_setup: true -use_external_images: true -ovb_setup_connectivity: false -non_root_user_setup: true -package_installs: true -hostname_correction: true - -# standalone interface -standalone_interface: eth1 -standalone_ip: 192.168.24.2 diff --git a/config/environments/baseos_rhel_libvirt.yml.example b/config/environments/baseos_rhel_libvirt.yml.example deleted file mode 100644 index 561c4dc49..000000000 --- a/config/environments/baseos_rhel_libvirt.yml.example +++ /dev/null @@ -1,39 +0,0 @@ -# This environment can be used to use a base RHEL qcow2 image for the undercloud -# instead of the default pre-built undercloud qcow2 - -# baseos undercloud settings -undercloud_image_url: http://uri to a RHEL 7.3. qcow2 file - -# Libvirt environments do not yet support whole-disk images, for example -# https://bugs.launchpad.net/tripleo/+bug/1950383 -whole_disk_images: false - -images: - - name: centos - url: "{{ undercloud_image_url }}" - type: qcow2 - md5sum: A md5sum of the rhel 7.3 qcow2 file e.g. "0bfff47b55a9428c83d2235da9d470de rhel-guest-image-7.3.x86_64.qcow2" - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -# SELINUX Configuration -#selinux_enforcing: true - -undercloud_setup: true -virthost_repo_setup: true -baseos_as_undercloud: true -use_external_images: true -download_overcloud_images: false -ovb_setup_connectivity: false -non_root_user_setup: true -package_installs: true -hostname_correction: true - - -# standalone interface -standalone_interface: eth1 -standalone_ip: 192.168.24.2 diff --git a/config/environments/ci_centos_libvirt.yml b/config/environments/ci_centos_libvirt.yml deleted file mode 100644 index 3782fda65..000000000 --- a/config/environments/ci_centos_libvirt.yml +++ /dev/null @@ -1,33 +0,0 @@ -environment_type: libvirt - -# This allows one to browse to the tripleo-ui on the undercloud -# This is only required in libvirt based deployments -enable_port_forward_for_tripleo_ui: true -# Setup for SSL access to the tripleo-ui. -# Please consult the tripleo-quickstart documentation prior to enabling this option -tripleo_ui_secure_access: true -validate_ui_simple: true - -# Note this needs to be false for freeIPA -# https://bugs.launchpad.net/tripleo/+bug/1709333 -nameserver_from_virthost: >- - {% if overcloud_cloud_domain is defined -%} - false - {%- else -%} - true - {%- endif -%} - -test_ping: true -tempest_config: false -run_tempest: false - -# undercloud settings -undercloud_extra_grub_params: net.ifnames=0 biosdevname=0 - -# standalone interface -standalone_interface: eth1 -standalone_ip: 192.168.24.2 - -# timeout overrides due to slow hardware -# default is 90 -deploy_timeout: 120 diff --git a/config/environments/default_libvirt.yml b/config/environments/default_libvirt.yml deleted file mode 100644 index 69dcc3050..000000000 --- a/config/environments/default_libvirt.yml +++ /dev/null @@ -1,27 +0,0 @@ -environment_type: libvirt - -# Libvirt environments do not yet support whole-disk images, for example -# https://bugs.launchpad.net/tripleo/+bug/1950383 -whole_disk_images: false - -# This allows one to browse to the tripleo-ui on the undercloud -# This is only required in libvirt based deployments -enable_port_forward_for_tripleo_ui: true -# Setup for SSL access to the tripleo-ui. -# Please consult the tripleo-quickstart documentation prior to enabling this option -tripleo_ui_secure_access: true -validate_ui_simple: true - -# Note this needs to be false for freeIPA -# https://bugs.launchpad.net/tripleo/+bug/1709333 -nameserver_from_virthost: >- - {% if overcloud_cloud_domain is defined -%} - false - {%- else -%} - true - {%- endif -%} - -# standalone interface -standalone_interface: eth1 -standalone_ip: 192.168.24.2 -undercloud_extra_grub_params: net.ifnames=0 biosdevname=0 diff --git a/config/environments/dev_privileged_libvirt.yml b/config/environments/dev_privileged_libvirt.yml deleted file mode 100644 index 079c0fc29..000000000 --- a/config/environments/dev_privileged_libvirt.yml +++ /dev/null @@ -1,38 +0,0 @@ -# If you prefer privileged VMs in order to use tools like virt-manager on the host -# you can use these options. This also makes VMs survive reboots \o/ -# This is particularly useful for local development environments -non_root_chown: true -non_root_user: stack -undercloud_user: stack -working_dir: "/home/{{ non_root_user }}" -ssh_user: root -libvirt_uri: qemu:///system - -# Below is the default_libvirt.yml values, so you can select this file via -# -E and not lose these settings -environment_type: libvirt - -# Libvirt environments do not yet support whole-disk images, for example -# https://bugs.launchpad.net/tripleo/+bug/1950383 -whole_disk_images: false - -# This allows one to browse to the tripleo-ui on the undercloud -# This is only required in libvirt based deployments -enable_port_forward_for_tripleo_ui: true -# Setup for SSL access to the tripleo-ui. -# Please consult the tripleo-quickstart documentation prior to enabling this option -tripleo_ui_secure_access: true -validate_ui_simple: true - -# Note this needs to be false for freeIPA -# https://bugs.launchpad.net/tripleo/+bug/1709333 -nameserver_from_virthost: >- - {% if overcloud_cloud_domain is defined -%} - false - {%- else -%} - true - {%- endif -%} - -# standalone interface -standalone_interface: eth1 -standalone_ip: 192.168.24.2 diff --git a/config/environments/standalone_centos_libvirt.yml b/config/environments/standalone_centos_libvirt.yml deleted file mode 100644 index dc2b8884a..000000000 --- a/config/environments/standalone_centos_libvirt.yml +++ /dev/null @@ -1,74 +0,0 @@ -# This environment can be used to use a base CentOS qcow2 image for the undercloud -# instead of the default pre-built undercloud qcow2 - -# baseos undercloud settings -undercloud_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20220726.1.x86_64.qcow2 - -# Libvirt environments do not yet support whole-disk images, for example -# https://bugs.launchpad.net/tripleo/+bug/1950383 -whole_disk_images: false - -# this must be named undercloud -# Update md5sum whenever updating undercloud_image_url -images: - - name: undercloud - url: "{{ undercloud_image_url }}" - type: qcow2 - md5sum: "165133b99f9c5b69f449e88f94323c8e CentOS-Stream-GenericCloud-9-20220726.1.x86_64.qcow2" - -inject_images: [] - -guest_partition: /dev/sda1 -baseos_as_undercloud: true -overcloud_as_undercloud: false -undercloud_setup: false -use_external_images: true -ovb_setup_connectivity: false -non_root_user_setup: true -package_installs: true -hostname_correction: true - -# standalone interface -standalone_interface: eth1 -standalone_ip: 192.168.24.2 -local_docker_registry_host: 192.168.24.2 -overcloud_nodes: [] -node_count: 0 -tripleo_generate_scripts: true -standalone_neutron_bridge_mappings: "datacentre:br-ctlplane" -standalone_libvirt_type: qemu -build_container_images: true -# https://bugs.launchpad.net/tripleo/+bug/1902846 -containers_base_image: "quay.io/centos/centos:stream9" - -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '192.168.24.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -# looking for a small set of tempest tests to validate -# tempest config and execution are working -test_white_regex: 'tempest.api.compute.admin' - -tempest_test_whitelist: - - 'tempest.api.compute.admin' diff --git a/config/environments/standalone_fedora_libvirt.yml b/config/environments/standalone_fedora_libvirt.yml deleted file mode 100644 index fc762c93e..000000000 --- a/config/environments/standalone_fedora_libvirt.yml +++ /dev/null @@ -1,31 +0,0 @@ -# This environment can be used to use an upstream OpenStack Fedora qcow2 image for the undercloud -# instead of the default pre-built undercloud qcow2 - -undercloud_image_url: https://images.rdoproject.org/fedora-stable/Fedora-Cloud-Base-RDO-28-latest.qcow2 -# https://download.fedoraproject.org/pub/fedora/linux/releases/28/Cloud/x86_64/images/Fedora-Cloud-Base-28-1.1.x86_64.qcow2 - -# Libvirt environments do not yet support whole-disk images, for example -# https://bugs.launchpad.net/tripleo/+bug/1950383 -whole_disk_images: false - -# the name should always be undercloud -images: - - name: undercloud - url: "{{ undercloud_image_url }}" - type: qcow2 - -inject_images: [] - -guest_partition: /dev/sda1 -baseos_as_undercloud: true -overcloud_as_undercloud: false -undercloud_setup: true -use_external_images: true -ovb_setup_connectivity: false -non_root_user_setup: true -package_installs: true -hostname_correction: true - -# standalone interface -standalone_interface: ens4 -standalone_ip: 192.168.24.2 diff --git a/config/general_config/build_images.yml b/config/general_config/build_images.yml deleted file mode 100644 index 056f927a8..000000000 --- a/config/general_config/build_images.yml +++ /dev/null @@ -1,37 +0,0 @@ -# image build playbook connects to the host as root -# We must write the user `root` as the ssh-user -# so collect logs also connects as root, and not the default stack -ssh_user: root - -# this is required for image builds -# Reference: https://github.com/openstack/tripleo-quickstart-extras/blob/master/roles/build-images/defaults/main.yml#L15 -# use an overcloud image as the undercloud after removing a few key rpms -overcloud_as_undercloud: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: false - -artcl_collect_list: - - /var/lib/oooq-images/*.log - - /var/lib/oooq-images/*.sh - - /var/log/ - - /var/tmp/sosreport* - - /etc/ - - /home/*/*.log - - /home/*/*.json - - /home/*/*.conf - - /home/*/*.yml - - /home/*/*.yaml - - /home/*/*.sh - - /home/*/*.rst - - /home/*/*.pem - - /home/*/gating_repo.tar.gz -artcl_exclude_list: - - /etc/udev/hwdb.bin - - /etc/puppet/modules - - /etc/project-config - - /etc/services - - /etc/selinux/targeted - - /etc/pki/ca-trust/extracted - - /etc/alternatives - - /var/log/journal diff --git a/config/general_config/deprecated/composable_upgrade.yml b/config/general_config/deprecated/composable_upgrade.yml deleted file mode 100644 index cf26b4614..000000000 --- a/config/general_config/deprecated/composable_upgrade.yml +++ /dev/null @@ -1,75 +0,0 @@ -# We set introspection to true and use only the minimal amount of nodes -# for this job, but test all defaults otherwise. -step_introspect: true - -# Define a single controller node -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - -# Tell tripleo how we want things done. -extra_args: >- - --compute-scale 1 - -network_isolation: true - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# If `test_tempest` is `true`, run tempests tests, otherwise do not -# run them. -test_ping: false -enable_pacemaker: false -composable_scenario: multinode_major_upgrade.yaml -upgrade_composable_scenario: multinode_major_upgrade.yaml -overcloud_release: newton -overcloud_templates_path: "{{ working_dir }}/tripleo-heat-templates" -download_overcloud_templates_rpm: true - -# Upgrade required templates -upgrade_custom_templates_script_delivery: - - overcloud-repo.yaml -upgrade_custom_templates: {} - -use_git_tht_repo: true -download_overcloud_image: true -step_pre_undercloud_upgrade: false -step_upgrade_undercloud: false -step_pre_overcloud_upgrade: true -mixed_upgrade: true -tht_rpm_url: https://trunk.rdoproject.org/centos7-{{ overcloud_release }}/current/ - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - overcloud-upgrade - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/deprecated/composable_upgrade_ovb.yml b/config/general_config/deprecated/composable_upgrade_ovb.yml deleted file mode 100644 index cddb9e2f9..000000000 --- a/config/general_config/deprecated/composable_upgrade_ovb.yml +++ /dev/null @@ -1,72 +0,0 @@ -enable_pacemaker: false -set_overcloud_workers: false - -node_count: 2 -overcloud_nodes: - -# Remove when https://review.opendev.org/#/c/414167/ is merged -validation_args: " " - -extra_args: " --control-flavor baremetal --compute-flavor baremetal \ --e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ --e ~/network-environment.yaml --ntp-server {{ ntp_server }} " - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -test_ping: false - -# overcloud network config -floating_ip_cidr: 10.0.0.0/24 -public_net_pool_start: 10.0.0.50 -public_net_pool_end: 10.0.0.100 -public_net_gateway: 10.0.0.1 - -composable_scenario: multinode_major_upgrade.yaml -upgrade_composable_scenario: multinode_major_upgrade.yaml -overcloud_release: newton -overcloud_templates_path: "{{ working_dir }}/tripleo-heat-templates" -download_overcloud_templates_rpm: true - -# Upgrade required templates -upgrade_custom_templates_script_delivery: - - overcloud-repo.yaml -upgrade_custom_templates: {} - -use_git_tht_repo: true -download_overcloud_image: true -step_pre_undercloud_upgrade: false -step_upgrade_undercloud: false -step_pre_overcloud_upgrade: true -mixed_upgrade: true -tht_rpm_url: https://trunk.rdoproject.org/centos7-{{ overcloud_release }}/current/ - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - overcloud-upgrade - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/deprecated/featureset004.yml b/config/general_config/deprecated/featureset004.yml deleted file mode 100644 index 2525fad4f..000000000 --- a/config/general_config/deprecated/featureset004.yml +++ /dev/null @@ -1,25 +0,0 @@ -#Warning: This feature set is deprecated - -undercloud_generate_service_certificate: false -ssl_overcloud: false -test_ping: true -deployed_server: true - -composable_scenario: multinode.yaml -composable_services: false -# Use default test template -# validate_template: tenantvm-floatingip.yaml - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/deprecated/featureset011.yml b/config/general_config/deprecated/featureset011.yml deleted file mode 100644 index 03b7d6d4a..000000000 --- a/config/general_config/deprecated/featureset011.yml +++ /dev/null @@ -1,85 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with a non-containerized overcloud, -# and upgrade it to a containerized overcloud. - -# WARNING: This feature set is deprecated - -undercloud_setup: true -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false - -# we're upgrading from non-containers to containers, so first we -# deploy non-containerized overcloud -containerized_overcloud: false -containerized_overcloud_upgrade: true - -# save time by doing a mixed upgrade -mixed_upgrade: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -test_ping: true -use_os_tempest: false -step_introspect: false - -composable_scenario: multinode.yaml -upgrade_composable_scenario: multinode-containers.yaml -deployed_server: true - -# Tripleo_upgrade role parameters -# Major Ugrade: baremetal -> containers -undercloud_upgrade: false -overcloud_upgrade: true -tht_directory: "/usr/share/openstack-tripleo-heat-templates" -upstream_container_images: true -create_container_images_download_script: false -container_images_download_script: '{{ working_dir }}/upgrade_overcloud_prep_containers.sh' -containers_default_parameters: "{{ working_dir }}/containers-default-parameters.yaml" -create_docker_registry: false -tripleo_ci: true -use_oooq: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/deprecated/featureset053.yml b/config/general_config/deprecated/featureset053.yml deleted file mode 100644 index 10cfee996..000000000 --- a/config/general_config/deprecated/featureset053.yml +++ /dev/null @@ -1,150 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation -# Note: this is the same featureset as 001 but it runs a minimal Browbeat test deployment. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: false -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['newton', 'ocata', 'pike'] %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% endif %} - {% if release not in ['newton','ocata','pike','queens','stein','train'] -%} - --disable-validations - {%- endif -%} - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ - -test_ping: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -enable_minimal_browbeat: true -# Browbeat specific settings -elastic_enabled: false -grafana_enabled: false -statsd_enabled: false -rsyslog_forwarding: false -browbeat_config_file: browbeat-minimal-ci.yaml.j2 - -baremetal_provision: >- - {% if release in ['newton','ocata','pike','queens','stein','train'] -%} - false - {%- else -%} - true - {%- endif -%} diff --git a/config/general_config/deprecated/ipv6.yml b/config/general_config/deprecated/ipv6.yml deleted file mode 100644 index 392154c00..000000000 --- a/config/general_config/deprecated/ipv6.yml +++ /dev/null @@ -1,101 +0,0 @@ -# Deploy an HA openstack environment with IPV6. - -# We don't need introspection in a virtual environment (because we are -# creating all the "hardware" we really know the necessary -# information). -step_introspect: false - -# Tell tripleo about our environment. -network_isolation: true -network_isolation_type: 'single-nic-vlans' -extra_args: '' -test_ping: true -enable_pacemaker: true - -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -overcloud_ipv6: true -ssl_overcloud: false - -floating_ip_cidr: 10.0.0.0/24 -external_network_cidr: 192.168.23.0/24 -undercloud_networks: - external: - address: "{{ undercloud_external_network_cidr|nthhost(1) }}" - netmask: "{{ undercloud_external_network_cidr|ipaddr('netmask') }}" - address6: "{{ undercloud_external_network_cidr6|nthhost(1) }}" - device_type: ovs - type: OVSIntPort - ovs_bridge: br-ctlplane - - -network_environment_args: - ControlPlaneSubnetCidr: "{{ undercloud_network_cidr|ipaddr('prefix') }}" - ControlPlaneDefaultRoute: "{{ undercloud_network_cidr|nthhost(1) }}" - EC2MetadataIp: "{{ undercloud_network_cidr|nthhost(1) }}" - ExternalNetCidr: 2001:db8:fd00:1000::/64 - ExternalAllocationPools: [{"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"}] - ExternalInterfaceDefaultRoute: 2001:db8:fd00:1000::1 - NeutronExternalNetworkBridge: "''" - InternalApiNetCidr: fd00:fd00:fd00:2000::/64 - InternalApiAllocationPools: [{"start": "fd00:fd00:fd00:2000::10", "end": "fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe"}] - StorageNetCidr: fd00:fd00:fd00:3000::/64 - StorageAllocationPools: [{"start": "fd00:fd00:fd00:3000::10", "end": "fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe"}] - StorageMgmtNetCidr: fd00:fd00:fd00:4000::/64 - StorageMgmtAllocationPools: [{"start": "fd00:fd00:fd00:4000::10", "end": "fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe"}] - TenantNetCidr: 172.16.0.0/24 - TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] - DnsServers: ['{{ external_network_cidr6|nthhost(1) }}'] - -networks: - - name: external - bridge: brext - forward_mode: nat - address: "{{ external_network_cidr|nthhost(1) }}" - netmask: "{{ external_network_cidr|ipaddr('netmask') }}" - dhcp_range: - - "{{ external_network_cidr|nthhost(10) }}" - - "{{ external_network_cidr|nthhost(50) }}" - nat_port_range: - - 1024 - - 65535 - - - name: overcloud - bridge: brovc - - - name: overcloud2 - bridge: brovc2 - - - name: overcloud3 - bridge: brovc3 - - - name: overcloud4 - bridge: brovc4 - - - name: overcloud5 - bridge: brovc5 - - - name: overcloud6 - bridge: brovc6 diff --git a/config/general_config/deprecated/minimal_pacemaker.yml b/config/general_config/deprecated/minimal_pacemaker.yml deleted file mode 100644 index e6bff04f5..000000000 --- a/config/general_config/deprecated/minimal_pacemaker.yml +++ /dev/null @@ -1,58 +0,0 @@ -# This config deploys a minimal configuration but with pacemaker to -# simulate a configuration close to HA without requiring 3 controllers - -# Define a controller node and a compute node -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - -# Tell tripleo how we want things done. -extra_args: '' - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -network_isolation: true -network_isolation_type: 'single-nic-vlans' - -enable_pacemaker: true - -test_ping: false -tempest_config: true -tempest_workers: 4 -test_white_regex: smoke|test_minimum_basic|test_network_basic_ops|test_snapshot_pattern|test_volume_boot_pattern - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/deprecated/no_netiso.yml b/config/general_config/deprecated/no_netiso.yml deleted file mode 100644 index 875622bf4..000000000 --- a/config/general_config/deprecated/no_netiso.yml +++ /dev/null @@ -1,9 +0,0 @@ -# TO DO, REMOVE THIS CONFIG IN FAVOR OF OVERRIDING THE ONE VARIABLE -# We set introspection to true and use only the minimal amount of nodes -# for this job, but test all defaults otherwise -step_introspect: true -network_isolation: false - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true diff --git a/config/general_config/featureset-multinode-common.yml b/config/general_config/featureset-multinode-common.yml deleted file mode 100644 index 3cac7b253..000000000 --- a/config/general_config/featureset-multinode-common.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Run an undercloud without glance or nova -undercloud_enable_nova: >- - {% if release in ['newton','ocata','pike','queens','stein', 'train'] -%} - true - {%- else -%} - false - {%- endif -%} -step_glance_upload: >- - {% if release in ['newton','ocata','pike','queens','stein', 'train'] -%} - true - {%- else -%} - false - {%- endif -%} - -# general multinode job configuration -enable_vbmc: false -gating_repo_enabled: true -deploy_multinode: true -step_overcloud_image: false -step_register: false -hypervisor_wait: false -network_isolation: false -package_installs: true -non_root_user_setup: true diff --git a/config/general_config/featureset001.yml b/config/general_config/featureset001.yml deleted file mode 100644 index 056387c43..000000000 --- a/config/general_config/featureset001.yml +++ /dev/null @@ -1,184 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation -# Note: any change in this featureset must also be done in featureset035 and featureset053. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -ctlplane_masquerade: true -undercloud_enable_routed_networks: true - -undercloud_clean_nodes: true - -undercloud_inspection_extras: false - -# Deploy ml2/ovn on Undercloud with zed+ release -undercloud_custom_env_files: >- - {% if release not in ['train', 'wallaby'] -%} - {{ working_dir }}/undercloud-parameter-defaults.yaml {{ undercloud_templates_path }}/environments/services/undercloud-neutron-ovn-dhcp.yaml - {%- else -%} - {{ working_dir }}/undercloud-parameter-defaults.yaml - {%- endif %} - -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - {% if not release in ['train','ussuri','victoria'] -%} - --networks-file {{ overcloud_templates_path }}/ci/network_data.yaml - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - {% else %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if ansible_distribution in ["RedHat"] and osp_release|default('') in ['rhos-17.1'] and ansible_distribution_major_version|int == 8 -%} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha-parameter-for-rhel8.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% if release not in ['train'] -%} - --disable-validations - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/neutron_dns_domain.yaml - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {% if release not in ['train','ussuri','victoria'] and - job is defined and - job.enable_secure_rbac is defined and - job.enable_secure_rbac|default(false)|bool or - enable_secure_rbac|default(false)|bool -%} - -e {{ overcloud_templates_path }}/environments/enable-secure-rbac.yaml - {%- endif -%} - -undercloud_ntp_servers: pool.ntp.org -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: true - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ -test_ping: false - -use_os_tempest: true - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_tempest_conf_overrides: - auth.use_dynamic_credentials: 'True' - -tempest_allowed_group_check: "featureset001" -tempest_allowed_group_periodic: "featureset001_periodic" - -tempest_allowed_group: >- - {% if ('periodic' in zuul.pipeline and not job.force_non_periodic|default(false)|bool) or (job.force_periodic|default(false)|bool) or (job.component is defined) -%} - {{ tempest_allowed_group_periodic }} - {%- else -%} - {{ tempest_allowed_group_check }} - {%- endif -%} - -tempest_run_concurrency: 4 - -tempest_extra_config: {'compute_feature_enabled.config_drive': 'True'} - -# Run an undercloud without glance or nova -undercloud_enable_nova: >- - {% if release in ['train'] -%} - true - {%- else -%} - false - {%- endif -%} -baremetal_provision: >- - {% if release in ['train'] -%} - false - {%- else -%} - true - {%- endif -%} - -# Provision composable networks prior to creating the heat stack -network_provision: >- - {% if release in ['train','ussuri','victoria'] -%} - false - {%- else -%} - true - {%- endif -%} diff --git a/config/general_config/featureset002.yml b/config/general_config/featureset002.yml deleted file mode 100644 index 3d992360f..000000000 --- a/config/general_config/featureset002.yml +++ /dev/null @@ -1,165 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true -# force image building -# TODO(gcerami) tripleo-ci specific content. This has to be implemented in another way -to_build: true -# Delete the overcloud after deployment -step_delete_overcloud: true - -undercloud_check_idempotency: false - -ctlplane_masquerade: true - -undercloud_enable_routed_networks: true - -undercloud_clean_nodes: true - -baremetal_provision: >- - {% if release in ['train'] -%} - false - {%- else -%} - true - {%- endif -%} - -undercloud_enable_nova: >- - {% if release in ['train'] -%} - true - {%- else -%} - false - {%- endif -%} - -# Provision composable networks prior to creating the heat stack -network_provision: >- - {% if release in ['train','ussuri','victoria'] -%} - false - {%- else -%} - true - {%- endif -%} - -undercloud_inspection_extras: false - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - {% if not release in ['train','ussuri','victoria'] -%} - --networks-file {{ overcloud_templates_path }}/ci/network_data.yaml - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - {% else %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {% if release not in ['train'] -%} - --disable-validations - {%- endif -%} -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - "{% if release in ['train','ussuri','victoria'] -%}overcloud-delete{%- endif -%}" - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - "{% if release in ['train','ussuri','victoria'] -%}overcloud-delete{%- endif -%}" - -deploy_steps_ansible_workflow: true - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ - -test_ping: false - -# Settings for os_tempest - -use_os_tempest: true - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_allowed_group: "featureset002" - -tempest_run_concurrency: 4 - -tempest_extra_config: {'compute_feature_enabled.config_drive': 'True'} diff --git a/config/general_config/featureset003.yml b/config/general_config/featureset003.yml deleted file mode 100644 index f698d315e..000000000 --- a/config/general_config/featureset003.yml +++ /dev/null @@ -1,46 +0,0 @@ -undercloud_generate_service_certificate: false -ssl_overcloud: false -undercloud_check_idempotency: true -undercloud_check_sanity: false -containerized_undercloud: false - -# in order to still support running this job on instack-undercloud, we need -# to specify a different install command for >= Stein since we dropped the -# python-tripleoclient integration -undercloud_install_cmd: >- - {% if containerized_undercloud|bool or release in ['ocata', 'pike', 'queens'] -%} - openstack undercloud install - {%- else -%} - instack-undercloud - {%- endif -%} - -undercloud_rpm_dependencies: >- - {% if containerized_undercloud|bool or release in ['ocata', 'pike', 'queens'] -%} - python-tripleoclient - {%- else -%} - instack-undercloud python-tripleoclient - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -tempest_cloud_name: 'undercloud' -test_ping: false -test_regex: '' -tempest_undercloud: true -tempest_overcloud: false -# Basic set of tempest tests to validate undercloud -tempest_test_whitelist: - - 'tempest.api.identity' - - 'tempest.api.image.v2.test_images.BasicOperationsImagesTest' - - 'tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest' - - 'tempest.api.image.v2.test_images_member_negative.ImagesMemberNegativeTest' - - 'tempest.api.compute.admin.test_flavors' - - 'tempest.api.compute.flavors' - - 'tempest.api.compute.keypairs' - - 'tempest.api.compute.admin.test_quotas' - - 'tempest.api.compute.admin.test_aggregates_negative' - - 'tempest.api.compute.security_groups' - - 'tempest.api.network.test_networks' - - 'tempest.api.network.test_networks_negative' - - 'tempest.api.network.test_security_groups_negative' - - 'tempest.api.network.test_ports' - - 'tempest.api.network.test_routers_negative' diff --git a/config/general_config/featureset005.yml b/config/general_config/featureset005.yml deleted file mode 100644 index e97c00bcb..000000000 --- a/config/general_config/featureset005.yml +++ /dev/null @@ -1,60 +0,0 @@ -undercloud_generate_service_certificate: false -enable_opstools_repo: true - -deployed_server: true -composable_scenario: scenario001-multinode.yaml -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant -validate_template: scenario001-multinode.yaml - -# Tempest configuration, keep always at the end of the file -tempest_whitelist_old: - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern' - - 'ceilometer.tests.tempest.scenario.test_telemetry_integration.TestTelemetryIntegration' -tempest_whitelist_new: - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern' - - 'telemetry_tempest_plugin.scenario.test_telemetry_integration.TestTelemetryIntegration' - -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' - - -tempest_whitelist: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_whitelist_new }} - {%- else -%}{{ tempest_whitelist_old }} - {%- endif -%} - -tempest_plugins_old: - - python-aodh-tests - - python-ceilometer-tests - - python-gnocchi-tests - - python-panko-tests - -tempest_plugins_new: - - python-telemetry-tests-tempest - - python-heat-tests-tempest - -tempest_plugins: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_plugins_new }} - {%- else -%}{{ tempest_plugins_old }} - {%- endif -%} diff --git a/config/general_config/featureset006.yml b/config/general_config/featureset006.yml deleted file mode 100644 index 0f157c3d7..000000000 --- a/config/general_config/featureset006.yml +++ /dev/null @@ -1,88 +0,0 @@ -undercloud_generate_service_certificate: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -deployed_server: true -composable_scenario: scenario002-multinode.yaml -validate_template: scenario002-multinode.yaml -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - - -test_white_regex: '' -tempest_whitelist_old: - # Testing zaqar doesn't work yet, but it's in progress - # - 'zaqar.tests.tempest_plugin.tests.v2.test_queues.TestManageQueue' - # Testing boot from volume and server connectivity - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern' - # Testing swift - - 'tempest.api.object_storage.test_object_services.ObjectTest' - # Testing cinder volumes encrypted by barbican: - - 'barbican_tempest_plugin.tests.scenario.test_volume_encryption.VolumeEncryptionTest' - # TODO(emilien) run autoscaling tests when telemetry works in python-tempestconf - # - 'ceilometer.tests.tempest.scenario.test_telemetry_integration.TestTelemetryIntegration' - # TODO(emilien) run ec2api tests when ec2api is supported in python-tempestconf - # - 'ec2api.tests.functional.api.test_key_pairs.KeyPairTest' - -tempest_whitelist_new: - # Testing zaqar doesn't work yet, but it's in progress - # - 'zaqar_tempest_plugin.tests.v2.test_queues.TestManageQueue' - # Testing boot from volume and server connectivity - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern' - # Testing swift - - 'tempest.api.object_storage.test_object_services.ObjectTest' - # Testing cinder volumes encrypted by barbican: - - 'barbican_tempest_plugin.tests.scenario.test_volume_encryption.VolumeEncryptionTest' - # - 'telemetry_tempest_plugin.scenario.test_telemetry_integration.TestTelemetryIntegration' - # TODO(emilien) run ec2api tests when ec2api is supported in python-tempestconf - # - 'ec2api_tempest_plugin.api.test_key_pairs.KeyPairTest' - -tempest_whitelist: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_whitelist_new }} - {%- else -%}{{ tempest_whitelist_old }} - {%- endif -%} - -tempest_plugins_old: - - python-aodh-tests - - python-ceilometer-tests - - python-gnocchi-tests - - python-barbican-tests-tempest - - python-zaqar-tests - - python-ec2-api-tests -tempest_plugins_new: - - python-telemetry-tests-tempest - - python-barbican-tests-tempest - - python-zaqar-tests-tempest - - python-ec2api-tests-tempest - - python-heat-tests-tempest -tempest_plugins: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_plugins_new }} - {%- else -%}{{ tempest_plugins_old }} - {%- endif -%} -tempest_extra_config: >- - {% if release not in ['newton', 'ocata'] -%} - {'auth.tempest_roles': '"Member, creator"'} - {%- endif -%} diff --git a/config/general_config/featureset007.yml b/config/general_config/featureset007.yml deleted file mode 100644 index 74f69c72c..000000000 --- a/config/general_config/featureset007.yml +++ /dev/null @@ -1,49 +0,0 @@ -undercloud_generate_service_certificate: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -deployed_server: true -composable_scenario: scenario003-multinode.yaml -validate_template: scenario003-multinode.yaml -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - - 'sahara_tempest_plugin.tests.api.test_data_sources.DataSourceTest' - - 'mistral_tempest_tests.tests.api.v2.test_actions.ActionTestsV2' -tempest_plugins_old: - - python-sahara-tests-tempest - - python-mistral-tests -tempest_plugins_new: - - python-sahara-tests-tempest - - python-mistral-tests-tempest - -tempest_plugins: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_plugins_new }} - {%- else -%}{{ tempest_plugins_old }} - {%- endif -%} diff --git a/config/general_config/featureset008.yml b/config/general_config/featureset008.yml deleted file mode 100644 index c7a96d42b..000000000 --- a/config/general_config/featureset008.yml +++ /dev/null @@ -1,68 +0,0 @@ -undercloud_generate_service_certificate: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -deployed_server: true -composable_scenario: scenario004-multinode.yaml -validate_template: scenario004-multinode.yaml -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' -tempest_whitelist_old: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' -tempest_whitelist_new: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - - 'manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share' - -# manila test is disabled in older releases as a temporary workaround for -# https://launchpad.net/bugs/1790857 -tempest_whitelist: >- - {% if release not in ['newton', 'ocata'] -%}{{ tempest_whitelist_new }} - {%- else -%}{{ tempest_whitelist_old }} - {%- endif -%} - -manila_max_api_version: {'newton': '2.22', 'ocata': '2.32', 'pike': '2.40', 'queens': '2.42'} - -tempest_extra_config: > - { - {% if release in ['newton', 'ocata', 'pike', 'queens'] -%} - 'object-storage-feature-enabled.discoverability': 'False', - 'service_available.swift': 'False', - 'share.max_api_microversion': '{{ manila_max_api_version[release] }}', - {%- endif -%} - 'share.multitenancy_enabled': 'False', - 'share.enable_protocols': 'cephfs', - 'share.capability_snapshot_support': 'False', - 'share.capability_create_share_from_snapshot_support': 'False', - } - -tempest_plugins: >- - {%- if release in ['newton', 'ocata', 'pike'] -%} - ["python-manila-tests"] - {%- else -%} - ["python2-manila-tests-tempest"] - {%- endif -%} diff --git a/config/general_config/featureset009.yml b/config/general_config/featureset009.yml deleted file mode 100644 index 1bea55b0d..000000000 --- a/config/general_config/featureset009.yml +++ /dev/null @@ -1,22 +0,0 @@ -undercloud_generate_service_certificate: false -test_ping: true - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -deployed_server: true -composable_scenario: scenario005-multinode.yaml -validate_template: scenario005-multinode.yaml -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset010.yml b/config/general_config/featureset010.yml deleted file mode 100644 index 71aef0484..000000000 --- a/config/general_config/featureset010.yml +++ /dev/null @@ -1,103 +0,0 @@ -composable_scenario: multinode-containers.yaml -composable_services: false - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deployed_server: >- - {% if release in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - {% if release not in ['newton','ocata','pike'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - {%- endif -%} -ephemeral_heat: "{{ (release not in ['queens', 'stein','train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -extra_args: >- - {%- if release not in ['train','wallaby'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/auditd.yaml - {% endif %} - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {%- if release not in ['train','ussuri','victoria'] -%} - --disable-protected-resource-types - --baremetal-deployment - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -test_ping: false - -# Settings for os_tempest - -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein'] -%} - true - {%- else -%} - false - {%- endif -%} - -tempest_allowed_group: "featureset010" - -# https://launchpad.net/bugs/1844446 -undercloud_enable_validations: false - -undercloud_enable_paunch: false - -undercloud_parameter_defaults_args: >- - {%- if ansible_distribution in ["RedHat", "CentOS"] and ansible_distribution_major_version|int < 8 %} - {'IronicIPXEUefiSnpOnly': 'false'} - {%- else -%} - {'IronicIPXEUefiSnpOnly': 'true'} - {%- endif -%} diff --git a/config/general_config/featureset012.yml b/config/general_config/featureset012.yml deleted file mode 100644 index c12d6c84a..000000000 --- a/config/general_config/featureset012.yml +++ /dev/null @@ -1,75 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with a non-containerized overcloud, -# and upgrade it to a containerized overcloud. - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -enable_opstools_repo: true - -# we're upgrading from non-containers to containers, so first we -# deploy non-containerized overcloud -containerized_overcloud: false -containerized_overcloud_upgrade: true - -# save time by doing a mixed upgrade -mixed_upgrade: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -test_ping: true -use_os_tempest: false -step_introspect: false - -composable_scenario: scenario001-multinode.yaml -upgrade_composable_scenario: scenario001-multinode-containers.yaml -validate_template: scenario001-multinode.yaml -deployed_server: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset013.yml b/config/general_config/featureset013.yml deleted file mode 100644 index c912c33d2..000000000 --- a/config/general_config/featureset013.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with a non-containerized overcloud, -# and upgrade it to a containerized overcloud. - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -# we're upgrading from non-containers to containers, so first we -# deploy non-containerized overcloud -containerized_overcloud: false -containerized_overcloud_upgrade: true - -# save time by doing a mixed upgrade -mixed_upgrade: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -test_ping: true -use_os_tempest: false -step_introspect: false - -composable_scenario: scenario002-multinode.yaml -upgrade_composable_scenario: scenario002-multinode-containers.yaml -validate_template: scenario002-multinode.yaml -deployed_server: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset014.yml b/config/general_config/featureset014.yml deleted file mode 100644 index bdff653ff..000000000 --- a/config/general_config/featureset014.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with a non-containerized overcloud, -# and upgrade it to a containerized overcloud. - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -# we're upgrading from non-containers to containers, so first we -# deploy non-containerized overcloud -containerized_overcloud: false -containerized_overcloud_upgrade: true - -# save time by doing a mixed upgrade -mixed_upgrade: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -test_ping: true -use_os_tempest: false -step_introspect: false - -composable_scenario: scenario003-multinode.yaml -upgrade_composable_scenario: scenario003-multinode-containers.yaml -validate_template: scenario003-multinode.yaml -deployed_server: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset015.yml b/config/general_config/featureset015.yml deleted file mode 100644 index 9412bbfa1..000000000 --- a/config/general_config/featureset015.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with a non-containerized overcloud, -# and upgrade it to a containerized overcloud. - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -# we're upgrading from non-containers to containers, so first we -# deploy non-containerized overcloud -containerized_overcloud: false -containerized_overcloud_upgrade: true - -# save time by doing a mixed upgrade -mixed_upgrade: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -test_ping: true -use_os_tempest: false -step_introspect: false - -composable_scenario: scenario004-multinode.yaml -upgrade_composable_scenario: scenario004-multinode-containers.yaml -validate_template: scenario004-multinode.yaml -deployed_server: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset016.yml b/config/general_config/featureset016.yml deleted file mode 100644 index 084775fb9..000000000 --- a/config/general_config/featureset016.yml +++ /dev/null @@ -1,138 +0,0 @@ -# Deploy an Openstack environment with a containerized overcloud -# using scenario001 - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -enable_opstools_repo: true - -containerized_overcloud: true -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_introspect: false - -composable_scenario: scenario001-multinode-containers.yaml -validate_template: scenario001-multinode.yaml - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deployed_server: >- - {% if release in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' - -tempest_whitelist_old: - - 'tempest.api.identity.v3' - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern' - - 'ceilometer.tests.tempest.scenario.test_telemetry_integration.TestTelemetryIntegration' -tempest_whitelist_new: - - 'tempest.api.identity.v3' - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern' - - 'telemetry_tempest_plugin.scenario.test_telemetry_integration.TestTelemetryIntegration' -tempest_whitelist: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_whitelist_new }} - {%- else -%}{{ tempest_whitelist_old }} - {%- endif -%} - -tempest_plugins_old: - - python-aodh-tests - - python-ceilometer-tests - - python-gnocchi-tests - - python-panko-tests -tempest_plugins_new: - - python-telemetry-tests-tempest - - python-heat-tests-tempest -tempest_plugins: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_plugins_new }} - {%- else -%}{{ tempest_plugins_old }} - {%- endif -%} -tempest_extra_config: {'telemetry.alarm_granularity': '60'} - -# This is a workaround to have test_volume_boot_pattern passing, it's failing -# due a concurrency, for more information, check lp #1742936 -tempest_workers: 1 diff --git a/config/general_config/featureset017.yml b/config/general_config/featureset017.yml deleted file mode 100644 index fd7f5d270..000000000 --- a/config/general_config/featureset017.yml +++ /dev/null @@ -1,149 +0,0 @@ -# Deploy an Openstack environment with a containerized overcloud -# using scenario002 - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -containerized_overcloud: true -undercloud_generate_service_certificate: false - -step_introspect: false - -composable_scenario: scenario002-multinode-containers.yaml -validate_template: scenario002-multinode.yaml - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deployed_server: >- - {% if release in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - {% if release not in ['newton','ocata','pike'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' - -# TODO(emilien) run ec2api tests when ec2api is supported in python-tempestconf -# 'ec2api.tests.functional.api.test_key_pairs.KeyPairTest' -tempest_whitelist_new: - - "tempest.api.object_storage.test_object_services.ObjectTest" - - "barbican_tempest_plugin.tests.scenario.test_volume_encryption.VolumeEncryptionTest" - - "telemetry_tempest_plugin.scenario.test_telemetry_integration.TestTelemetryIntegration" -tempest_whitelist_old: - - "tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern" - - "tempest.api.object_storage.test_object_services.ObjectTest" -tempest_whitelist: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_whitelist_new }} - {%- else -%}{{ tempest_whitelist_old }} - {%- endif -%} - -tempest_plugins_old: - - python-aodh-tests - - python-ceilometer-tests - - python-gnocchi-tests - - python-panko-tests - - python-barbican-tests-tempest - - python-zaqar-tests - - python-ec2-api-tests -tempest_plugins_new: - - python-telemetry-tests-tempest - - python-barbican-tests-tempest - - python-zaqar-tests-tempest - - python-ec2api-tests-tempest - - python-heat-tests-tempest -tempest_plugins: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_plugins_new }} - {%- else -%}{{ tempest_plugins_old }} - {%- endif -%} -tempest_extra_config: >- - {% if release not in ['newton', 'ocata', 'pike'] -%} - {'auth.tempest_roles': '"Member, creator"', 'telemetry.alarm_granularity': '60'} - {%- endif -%} - -# This is a workaround to have test_volume_boot_pattern passing, it's failing -# due a concurrency, for more information, check lp 1744151 -tempest_workers: 1 diff --git a/config/general_config/featureset018.yml b/config/general_config/featureset018.yml deleted file mode 100644 index 80e22771d..000000000 --- a/config/general_config/featureset018.yml +++ /dev/null @@ -1,125 +0,0 @@ -# Deploy an Openstack environment with a containerized overcloud -# using scenario003 - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -containerized_overcloud: true -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_introspect: false - -composable_scenario: scenario003-multinode-containers.yaml -validate_template: scenario003-multinode.yaml - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deployed_server: >- - {% if release in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - {% if release not in ['newton','ocata','pike'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' - -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - - 'sahara_tempest_plugin.tests.api.test_data_sources.DataSourceTest' - - 'mistral_tempest_tests.tests.api.v2.test_actions.ActionTestsV2' -tempest_plugins_old: - - python-sahara-tests-tempest - - python-mistral-tests -tempest_plugins_new: - - python-sahara-tests-tempest - - python-mistral-tests-tempest -tempest_plugins: >- - {% if release not in ['newton', 'ocata', 'pike'] -%}{{ tempest_plugins_new }} - {%- else -%}{{ tempest_plugins_old }} - {%- endif -%} diff --git a/config/general_config/featureset019.yml b/config/general_config/featureset019.yml deleted file mode 100644 index 83dce5b0c..000000000 --- a/config/general_config/featureset019.yml +++ /dev/null @@ -1,140 +0,0 @@ -# Deploy an Openstack environment with a containerized overcloud -# using scenario004 - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -containerized_overcloud: true -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_introspect: false - -composable_scenario: scenario004-multinode-containers.yaml -validate_template: scenario004-multinode.yaml - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deployed_server: >- - {% if release in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' - -tempest_whitelist_old: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' -tempest_whitelist_new: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - - 'manila_tempest_tests.tests.api.test_shares.SharesCephFSTest.test_create_get_delete_share' - -# manila test is disabled in older releases as a temporary workaround for -# https://launchpad.net/bugs/1790857 -tempest_whitelist: >- - {% if release not in ['newton', 'ocata'] -%}{{ tempest_whitelist_new }} - {%- else -%}{{ tempest_whitelist_old }} - {%- endif -%} - -manila_max_api_version: {'newton': '2.22', 'ocata': '2.32', 'pike': '2.40', 'queens': '2.42'} - -tempest_extra_config: > - { - {% if release in ['newton', 'ocata', 'pike', 'queens'] -%} - 'object-storage-feature-enabled.discoverability': 'False', - 'service_available.swift': 'False', - 'share.max_api_microversion': '{{ manila_max_api_version[release] }}', - {%- endif -%} - 'share.multitenancy_enabled': 'False', - 'share.enable_protocols': 'cephfs', - 'share.capability_snapshot_support': 'False', - 'share.capability_create_share_from_snapshot_support': 'False', - } - -tempest_plugins: >- - {%- if release in ['newton', 'ocata', 'pike'] -%} - ["python-manila-tests"] - {%- else -%} - ["python2-manila-tests-tempest"] - {%- endif -%} diff --git a/config/general_config/featureset020.yml b/config/general_config/featureset020.yml deleted file mode 100644 index 04a4df113..000000000 --- a/config/general_config/featureset020.yml +++ /dev/null @@ -1,263 +0,0 @@ -# Summary of the feature set. -# Deploy an non-ha Openstack environment, introspect, and -# ready to execute tempest tests. -# Example of usage: -# ./quickstart.sh -t all --retain-inventory -e \ -# @config/general_config/featureset020.yml -R tripleo-ci/consistent-master \ -# -T all $VIRTHOST - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: false -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -undercloud_check_idempotency: >- - {% if release not in ['ocata','pike','queens'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tell tripleo about our environment -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - {% if not release in ['train','ussuri','victoria'] -%} - --networks-file {{ overcloud_templates_path }}/ci/network_data.yaml - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - {% else %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# neutron_l3_qos.yaml sets correct L3 agent's extensions to run QoS related -# tests. It is related only to the ML2/OVS case and featureset020 runs Neutron -# with ML2/OVS only in queens. The template doesn't apply to newer branches -# that aren't using ovs. -extra_args: >- - {% if release == 'queens' -%} - -e {{ overcloud_templates_path }}/ci/environments/neutron_l3_qos.yaml - {% endif %} - {% if release in ['ussuri', 'victoria'] -%} - --disable-validations - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/neutron_dns_domain.yaml - {% if release not in ['train','ussuri','victoria'] and - job is defined and - job.enable_secure_rbac is defined and - job.enable_secure_rbac|default(false)|bool or - enable_secure_rbac|default(false)|bool -%} - -e {{ overcloud_templates_path }}/environments/enable-secure-rbac.yaml - {% endif %} - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {% if ansible_distribution in ["RedHat"] and osp_release|default('') in ['rhos-17.1'] and ansible_distribution_major_version|int == 8 %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha-parameter-for-rhel8.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% if release not in ['train','ussuri','victoria'] %} - --disable-protected-resource-types - {%- endif -%} - -# Run an undercloud without glance or nova -undercloud_enable_nova: >- - {% if release in ['queens','stein', 'train'] -%} - true - {%- else -%} - false - {%- endif -%} - -baremetal_provision: >- - {% if release in ['queens','stein','train'] -%} - false - {%- else -%} - true - {%- endif -%} - -# Provision composable networks prior to creating the heat stack -network_provision: >- - {% if release in ['train','ussuri','victoria'] -%} - false - {%- else -%} - true - {%- endif -%} - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Tempest -test_white_regex: '.*' - -# Barbican plugin is here because python-tempestconf doesn't have support to -# barbican yet. -test_black_regex: - - 'sahara_tempest_plugin' - - 'manila_tempest_tests' - - 'novajoin_tempest_plugin' - - 'barbican_tempest_plugin' - -test_ping: false -# For full tempest run we need to make sure concurrency is not too high -tempest_workers: 3 - -# os_tempest setting -# Settings for os_tempest - -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein'] -%} - true - {%- else -%} - false - {%- endif -%} - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_allowed_group_check: 'featureset020' -tempest_allowed_group_periodic: 'featureset020_periodic' - -# featureset 20 **periodic** runs scenario but no api tempest tests -# See https://tree.taiga.io/project/tripleo-ci-board/task/1383 -tempest_allowed_group: >- - {% if ('periodic' in zuul.pipeline and not job.force_non_periodic|default(false)|bool) or (job.force_periodic|default(false)|bool) -%} - {{ tempest_allowed_group_periodic }} - {%- else -%} - {{ tempest_allowed_group_check }} - {%- endif -%} - -# Set tempest concurrency -# Only in this particular featureset we are setting concurrency to 4 because it -# runs full tempest and it's timeing out. Usually we set concurrency to 2 -tempest_run_concurrency: 4 - -# List of tempest plugins to install -tempest_services: - - cinder - - neutron diff --git a/config/general_config/featureset021.yml b/config/general_config/featureset021.yml deleted file mode 100644 index cf77f6859..000000000 --- a/config/general_config/featureset021.yml +++ /dev/null @@ -1,220 +0,0 @@ -# Summary of the feature set. -# Deploy an non-ha Openstack environment, without SSL, introspect, and -# ready to execute tempest tests. -# Example of usage: -# ./quickstart.sh -t all --retain-inventory -c \ -# @config/general_config/featureset021.yml -R tripleo-ci/consistent-master \ -# -T all $VIRTHOST - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: false -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -undercloud_resource_registry_args: - "OS::TripleO::Undercloud::Net::SoftwareConfig": "{{ undercloud_templates_path }}/net-config-undercloud.yaml" - -# Tell tripleo about our environment -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: '' - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Tempest - -# Featureset 021 is a special case where we do not run full tempest -# but just the tests on skiplist - -skip_test_file: "{{ playbook_dir | dirname }}/vars/tempest_skip_{{ release | default('master') }}.yml" -skip_list_tests: "{{ lookup('file', skip_test_file) | from_yaml }}" - -# This filter the known_failures where the undercloud value is not true -# and return a list -tempest_whitelist: "{{ skip_list_tests.known_failures | json_query('[?undercloud != `true`].test') }}" - -# Need to set test_white_regex to empty, otherwise it gets the default value that is '(smoke)' -test_white_regex: '' -test_black_regex: - - 'sahara_tempest_plugin' - - 'manila_tempest_tests' - - 'patrole_tempest_plugin' - - 'zaqar_tempest_plugin' - - 'watcher_tempest_plugin' - - 'vitrage_tempest_plugin' - - 'trove_tempest_plugin' - - 'tripleo_common_tempest_plugin' - - 'tempest_horizon' - - 'octavia_tempest_plugin' - - 'novajoin_tempest_plugin' - - 'murano_tempest_tests' - - 'mistral_tempest_tests' - - 'magnum_tempest_plugin' - - 'kuryr_tempest_plugin' - - 'ironic_tempest_plugin' - - 'heat_tempest_plugin' - - 'designate_tempest_plugin' - - 'congress_tempest_plugin' - - 'barbican_tempest_plugin' - - 'ec2api_tempest_plugin' -test_ping: false -# Run tempest without skip file -skip_file_src: '' -# For full tempest run we need to make sure concurrency is not too high -tempest_workers: 3 - -# Settings specific to os_tempest -# Settings for os_tempest -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein'] -%} - true - {%- else -%} - false - {%- endif -%} - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -# Run skiplist as whitelist -tempest_test_whitelist: "{{ tempest_whitelist }}" - -# Keeping the blacklist list empty -tempest_test_blacklist: "" - -# Set tempest concurrency -tempest_run_concurrency: 3 - -# List of tempest plugins to install -tempest_services: - - cinder - - neutron - -# Install the latest unlreleased packages from CentOS -enable_centos_cr_repo: true diff --git a/config/general_config/featureset022.yml b/config/general_config/featureset022.yml deleted file mode 100644 index 833740c3a..000000000 --- a/config/general_config/featureset022.yml +++ /dev/null @@ -1,56 +0,0 @@ -# Containers settings -containerized_overcloud: true -# Workaround for limited disk space on undercloud -# https://bugs.launchpad.net/tripleo/+bug/1694709 -delete_docker_cache: true -# TripleO settings -ssl_overcloud: false -undercloud_generate_service_certificate: true -step_introspect: true - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -# Network settings -enable_pacemaker: false -network_isolation: false -overcloud_ipv6: false -test_ping: true -use_os_tempest: false - -# Tell tripleo how we want things done. -# Note: The order of the templates and arguments passed to heat matters. - -extra_args: '' - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/featureset023.yml b/config/general_config/featureset023.yml deleted file mode 100644 index 6af388865..000000000 --- a/config/general_config/featureset023.yml +++ /dev/null @@ -1,8 +0,0 @@ -undercloud_generate_service_certificate: false -ssl_overcloud: false -step_overcloud_image: true -step_glance_upload: false -test_ping: false -use_os_tempest: false -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" diff --git a/config/general_config/featureset024.yml b/config/general_config/featureset024.yml deleted file mode 100644 index 4f3b2d5bc..000000000 --- a/config/general_config/featureset024.yml +++ /dev/null @@ -1,63 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: false -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# Tell tripleo about our environment. -# network_environment_file: ovb-multiple-nics-v6.yaml -overcloud_ipv6: true -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/environments/network-isolation-v6.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics-ipv6/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release in ['newton'] %} - -e {{ overcloud_templates_path }}/environments/storage-environment.yaml - {% else %} - -e {{ overcloud_templates_path }}/environments/puppet-ceph.yaml - {% endif %} - {% if release not in ['newton', 'ocata'] %}-e {{ overcloud_templates_path }}/ci/environments/ceph-min-osds.yaml{% endif %} -test_ping: true - -use_os_tempest: false -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/featureset025.yml b/config/general_config/featureset025.yml deleted file mode 100644 index 4ad82130d..000000000 --- a/config/general_config/featureset025.yml +++ /dev/null @@ -1,56 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true -undercloud_heat_convergence: true - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: '' -test_ping: true - -use_os_tempest: false -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/featureset026.yml b/config/general_config/featureset026.yml deleted file mode 100644 index 9de320218..000000000 --- a/config/general_config/featureset026.yml +++ /dev/null @@ -1,63 +0,0 @@ -composable_scenario: scenario006-multinode.yaml -deployed_server: true - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true -deploy_steps_ansible_workflow: true -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -extra_args: '' - -container_args: >- - {% if release in ['pike','queens'] -%} - -e {{ overcloud_templates_path }}/environments/docker.yaml - {%- endif -%} - {% if release in ['ocata', 'pike', 'queens'] %} - -e {{ working_dir }}/containers-default-parameters.yaml - {% else %} - -e {{ working_dir }}/containers-prepare-parameter.yaml - {% endif %} - -e {{ overcloud_templates_path }}/environments/kubernetes.yaml - -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - -test_ping: false -use_os_tempest: false -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - - name: Compute - CountDefault: 0 - tags: - - compute - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset027.yml b/config/general_config/featureset027.yml deleted file mode 100644 index 23a7d6898..000000000 --- a/config/general_config/featureset027.yml +++ /dev/null @@ -1,108 +0,0 @@ -# EXPERIMENTAL FEATURE - -# Tell tripleo how we want things done. -# Note: The order of the templates and arguments passed to heat matters. - -extra_args: '' - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -undercloud_check_sanity: true - -# containers config -containerized_overcloud: false -containerized_undercloud: true -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -# Prevent regression as described in https://bugs.launchpad.net/tripleo/+bug/1869360 -undercloud_cloud_domain: "localDomain" -undercloud_undercloud_hostname: "underCloud.{{ undercloud_cloud_domain }}" -undercloud_undercloud_public_host: "{{ ansible_hostname }}-unique" -tripleo_set_unique_hostname: true - -# turn off image prep -step_overcloud_image: false -step_glance_upload: false -step_register: false -step_root_device_size: false -step_root_device_hints: false -step_introspect: false - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -undercloud_enable_swift_encryption: true - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# tripleo-ui is not working yet -enable_port_forward_for_tripleo_ui: false - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-deploy - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - tempest-setup - - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-deploy - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - tempest-setup - -# Tempest configuration, keep always at the end of the file -test_ping: false -# os_tempest configuration - -use_os_tempest: >- - {% if release in ['train', 'ussuri', 'victoria', 'wallaby'] -%} - true - {%- else -%} - false - {%- endif -%} - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" - -tempest_install_method: distro -tempest_cloud_name: 'undercloud' -# Enable neutron service to create public network -tempest_service_available_neutron: true -# Do not create private network and router on undercloud -tempest_private_net_create: false -tempest_router_create: false - -tempest_allowed_group: "featureset027" -test_regex: '' - -# Run an undercloud without glance or nova -undercloud_enable_nova: >- - {% if release in ['train'] -%} - true - {%- else -%} - false - {%- endif -%} - -# Enable mistral tempest plugin -tempest_service_available_mistral: >- - {% if lookup('env', 'ZUUL_PROJECT') == "openstack/mistral" -%} - true - {%- endif -%} - -tempest_undercloud: true -tempest_overcloud: false - -undercloud_enable_paunch: false diff --git a/config/general_config/featureset028.yml b/config/general_config/featureset028.yml deleted file mode 100644 index 5fa5bd993..000000000 --- a/config/general_config/featureset028.yml +++ /dev/null @@ -1,49 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with OVN configured in the overcloud -composable_scenario: scenario007-multinode.yaml -validate_template: scenario007-multinode.yaml -deployed_server: true - -network_isolation: false -enable_pacemaker: true -overcloud_ipv6: false -containerized_overcloud: false - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - -e {{ overcloud_templates_path }}/environments/services/neutron-ovn-non-dvr-ha.yaml - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Tempest configuration, keep always at the end of the file - -test_ping: false -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' diff --git a/config/general_config/featureset030.yml b/config/general_config/featureset030.yml deleted file mode 100644 index 69ff3924b..000000000 --- a/config/general_config/featureset030.yml +++ /dev/null @@ -1,136 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with OVS configured in the containerized overcloud -composable_scenario: scenario007-multinode-containers.yaml -validate_template: scenario007-multinode.yaml - -network_isolation: false -enable_pacemaker: true -overcloud_ipv6: false -containerized_overcloud: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - -e {{ overcloud_templates_path }}/environments/services/neutron-ovs.yaml - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {% if release not in ['train','ussuri','victoria'] -%} - --disable-protected-resource-types - --baremetal-deployment - {%- endif -%} - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deployed_server: >- - {% if release in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tempest configuration, keep always at the end of the file - -tempest_config: true -test_ping: false -test_white_regex: '' -overcloud_container_cli: >- - {%- if ansible_distribution in ["RedHat", "CentOS"] and ansible_distribution_major_version|int >= 8 %}podman - {%- else %}docker{% endif -%} - -# os_tempest setting -# Settings for os_tempest - -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein'] -%} - true - {%- else -%} - false - {%- endif -%} - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat -tempest_private_net_provider_type: "vlan" -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '192.168.24.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_allowed_group: "featureset030" diff --git a/config/general_config/featureset031.yml b/config/general_config/featureset031.yml deleted file mode 100644 index a6870871f..000000000 --- a/config/general_config/featureset031.yml +++ /dev/null @@ -1,65 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with opnfv configured in the overcloud -composable_scenario: scenario008-multinode-containers.yaml -validate_template: scenario008-multinode-containers.yaml - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - -e {{ overcloud_templates_path }}/environments/services/neutron-opendaylight.yaml - -# Add ODL Repo -add_repos: - - type: generic - filename: opendaylight.repo - reponame: opendaylight - baseurl: https://nexus.opendaylight.org/content/repositories/opendaylight-oxygen-epel-7-\$basearch-devel/ - -deployed_server: >- - {% if release in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tempest configuration, keep always at the end of the file - -test_ping: false -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' diff --git a/config/general_config/featureset032.yml b/config/general_config/featureset032.yml deleted file mode 100644 index e937ce832..000000000 --- a/config/general_config/featureset032.yml +++ /dev/null @@ -1,62 +0,0 @@ -# Featureset for deploying a 2 controller setup using the deployed server -# method -composable_services: false - -network_isolation: false -enable_pacemaker: true -overcloud_ipv6: false -containerized_overcloud: true - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -composable_roles: false - -# Note(trown): The tripleo-ci repo is used here because we do not yet support -# deployed server on libvirt. We will want to move any heat environments we -# use from the tripleo-ci repo to the tripleo-heat-templates repo when we add -# support for deployed server deployments on libvirt. -multinode_args: >- - -e {{ overcloud_templates_path }}/environments/deployed-server-environment.yaml - -e {{ overcloud_templates_path }}/ci/environments/multinode-3nodes-registry.yaml - -r {{ overcloud_templates_path }}/ci/environments/multinode-3nodes.yaml - --overcloud-ssh-user {{ undercloud_user }} - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - {% if release not in ['newton','ocata','pike'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tempest configuration, keep always at the end of the file - -test_ping: false -test_white_regex: 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' diff --git a/config/general_config/featureset033.yml b/config/general_config/featureset033.yml deleted file mode 100644 index bbc2c9f27..000000000 --- a/config/general_config/featureset033.yml +++ /dev/null @@ -1,101 +0,0 @@ -composable_scenario: scenario009-multinode.yaml -deployed_server: true - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_undercloud: true -containerized_overcloud: true - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false -undercloud_enable_validations: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -# Centos Virt-SIG repo for atomic package -add_repos: - # NOTE(trown) The atomic package from centos-extras does not work for - # us but its version is higher than the one from the virt-sig. Hence, - # using priorities to ensure we get the virt-sig package. - - type: package - pkg_name: yum-plugin-priorities - - type: generic - reponame: quickstart-centos-paas - filename: quickstart-centos-paas.repo - baseurl: https://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin311/ - - type: generic - reponame: quickstart-centos-virt-container - filename: quickstart-centos-virt-container.repo - baseurl: https://buildlogs.centos.org/centos/7/virt/x86_64/container/ - includepkgs: - - atomic - priority: 1 - -extra_args: '' - -container_args: >- - {% if release in ['pike','queens'] -%} - -e {{ overcloud_templates_path }}/environments/docker.yaml - {%- endif -%} - {% if release in ['ocata', 'pike', 'queens'] %} - -e {{ working_dir }}/containers-default-parameters.yaml - {% else %} - -e {{ working_dir }}/containers-prepare-parameter.yaml - {% endif %} - -e {{ overcloud_templates_path }}/environments/openshift.yaml - -# NOTE(mandre) use container images mirrored on the dockerhub to take advantage -# of the proxy setup by openstack infra -docker_openshift_etcd_namespace: docker.io/tripleomaster -docker_openshift_cluster_monitoring_namespace: docker.io/tripleomaster -docker_openshift_cluster_monitoring_image: coreos-cluster-monitoring-operator -docker_openshift_configmap_reload_namespace: docker.io/tripleomaster -docker_openshift_configmap_reload_image: coreos-configmap-reload -docker_openshift_prometheus_operator_namespace: docker.io/tripleomaster -docker_openshift_prometheus_operator_image: coreos-prometheus-operator -docker_openshift_prometheus_config_reload_namespace: docker.io/tripleomaster -docker_openshift_prometheus_config_reload_image: coreos-prometheus-config-reloader -docker_openshift_kube_rbac_proxy_namespace: docker.io/tripleomaster -docker_openshift_kube_rbac_proxy_image: coreos-kube-rbac-proxy -docker_openshift_kube_state_metrics_namespace: docker.io/tripleomaster -docker_openshift_kube_state_metrics_image: coreos-kube-state-metrics - -deploy_steps_ansible_workflow: true -config_download_args: >- - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - -composable_roles: true - -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - - name: Compute - CountDefault: 0 - tags: - - compute - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Tempest configuration, keep always at the end of the file - -tempest_config: false -test_ping: false -use_os_tempest: false diff --git a/config/general_config/featureset035.yml b/config/general_config/featureset035.yml deleted file mode 100644 index 7dfebf174..000000000 --- a/config/general_config/featureset035.yml +++ /dev/null @@ -1,216 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation -# Note, this is the same featureset as 001 but it deploys IPV6 - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true -containerized_overcloud: true -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tell tripleo about our environment. -overcloud_ipv6: true -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_data_yaml: "{{ overcloud_templates_path }}/ci/network_data_v6.yaml" -vip_data_yaml: "{{ overcloud_templates_path }}/ci/vip_data_v6.yaml" -network_isolation_args: >- - {% if not release in ['train','ussuri','victoria'] -%} - --networks-file {{ overcloud_templates_path }}/ci/network_data_v6.yaml - --vip-file {{ overcloud_templates_path }}/ci/vip_data_v6.yaml - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - {%else%} - -e {{ overcloud_templates_path }}/environments/network-isolation-v6.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics-ipv6/network-environment.yaml - -e {{ working_dir }}/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - -e {{ overcloud_templates_path }}/environments/memcached-use-ips.yaml - {% if release not in ['newton','ocata','pike','queens','stein','train'] -%} - --disable-validations - {% endif %} - {% if ansible_distribution in ["RedHat"] and osp_release|default('') in ['rhos-17.1'] and ansible_distribution_major_version|int == 8 %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha-parameter-for-rhel8.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% if release not in ['train','ussuri','victoria'] %} - --disable-protected-resource-types - {%- endif -%} - -baremetal_provision: >- - {% if release in ['queens','stein','train'] -%} - false - {%- else -%} - true - {%- endif -%} - -# Provision composable networks prior to creating the heat stack -network_provision: >- - {% if release in ['train','ussuri','victoria'] -%} - false - {%- else -%} - true - {%- endif -%} - -undercloud_ntp_servers: pool.ntp.org -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -test_ping: false -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein'] -%} - true - {%- else -%} - false - {%- endif -%} - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_tempest_conf_overrides: - auth.use_dynamic_credentials: 'True' - -tempest_allowed_group_check: "featureset035" - -tempest_allowed_group_periodic: "featureset035_periodic" - -tempest_allowed_group: >- - {% if ('periodic' in zuul.pipeline and not job.force_non_periodic|default(false)|bool) or (job.force_periodic|default(false)|bool) -%} - {{ tempest_allowed_group_periodic }} - {%- else -%} - {{ tempest_allowed_group_check }} - {%- endif -%} - -tempest_run_concurrency: 4 - -# Run an undercloud without glance or nova -undercloud_enable_nova: >- - {% if release in ['queens','stein', 'train'] -%} - true - {%- else -%} - false - {%- endif -%} diff --git a/config/general_config/featureset036.yml b/config/general_config/featureset036.yml deleted file mode 100644 index d956bdeb0..000000000 --- a/config/general_config/featureset036.yml +++ /dev/null @@ -1,85 +0,0 @@ -#### Summary of the feature set. -# Deploy an Openstack environment for testing FFU upgrade from Newton -# to Queen. Based on featureset005 which is working on newton. -undercloud_generate_service_certificate: false -enable_opstools_repo: false - -test_ping: false - -use_os_tempest: false - -test_white_regex: '' - -deployed_server: true -composable_scenario: scenario002-multinode.yaml -upgrade_composable_scenario: scenario002-multinode-containers.yaml -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -mixed_upgrade: true - -# Tripleo-upgrade link -ffu_overcloud_upgrade: true -tripleo_upgrade_validations_non_fatal: true - -# disable tripleo-upgrade container manipulation. -create_docker_registry: false -use_local_docker_registry: false -create_container_images_download_script: false - -# do not run workload test -launch_sanity_workload: false - -tripleo_ci: true -use_oooq: true - -# Run prep container before upgrade. -prep_container_upgrade_run: true -containerized_overcloud_upgrade: true -# container_registry_file is used pre-rocky, after rocky -# is uc_containers_prepare_file the one used to identify -# the containers file (defaults to: containers-prepare-parameter.yaml) -container_registry_file: containers-default-parameters.yaml - -# Adjust user to CI -overcloud_ssh_user: "zuul" - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate diff --git a/config/general_config/featureset037.yml b/config/general_config/featureset037.yml deleted file mode 100644 index f6bc7391b..000000000 --- a/config/general_config/featureset037.yml +++ /dev/null @@ -1,102 +0,0 @@ -# Deploy minimal overcloud (keystone and supporting services) and run -# a minor version update (overcloud only). - -composable_scenario: scenario000-multinode-containers.yaml - -# Tripleo-upgrade role parameters -# Minor Update -overcloud_update: true -# NOTE: right now the container images stay the same before and -# after update. This makes the job run fast while still testing -# the update workflow itself. For the future we may consider -# updating the container images too. (This might have to be paired -# with some work on the image building side to get meaningful -# from-to combination of images. -container_registry_file: >- - {% if release not in ['queens','stein'] -%} - '' - {%- else -%} - containers-default-parameters.yaml - {%- endif -%} - -tripleo_upgrade_validations_non_fatal: true -tripleo_upgrade_debug: false -tripleo_ci: true -use_oooq: true -overcloud_ssh_user: >- - {% if release in ['queens'] -%} - "tripleo-admin" - {%- else -%} - "zuul" - {%- endif -%} - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true - -undercloud_generate_service_certificate: false -ssl_overcloud: false - -# extra testing disabled for now, may be enabled later depending on -# job run time -test_ping: false -use_os_tempest: false -# test_white_regex: 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deploy_steps_ansible_workflow: true -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - {% if release not in ['newton','ocata','pike'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ephemeral_heat: "{{ (release not in ['queens', 'stein','train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -extra_args: >- - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {%- if release not in ['train','ussuri','victoria'] -%} - --disable-protected-resource-types - --baremetal-deployment - {%- endif -%} diff --git a/config/general_config/featureset038.yml b/config/general_config/featureset038.yml deleted file mode 100644 index 39cf4afd9..000000000 --- a/config/general_config/featureset038.yml +++ /dev/null @@ -1,132 +0,0 @@ -# Deploy an Openstack environment with Octavia in a containerized overcloud -# -composable_scenario: scenario010-multinode-containers.yaml - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - -deployed_server: >- - {% if release in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -# selectively re-enable the globally blacklist octavia tempest plugin. -skip_test_file: "{{ playbook_dir | dirname }}/vars/tempest_skip_{{ release | default('master') }}.yml" -skip_list_tests: "{{ lookup('file', skip_test_file) | from_yaml }}" -skip_file_src: '' -tempest_black: "{{ skip_list_tests.known_failures | json_query('[?test != `octavia_tempest_plugin`].test') }}" -test_black_regex: "{{ tempest_black }}" - -test_ping: false -test_white_regex: '' - -tempest_whitelist: - - 'octavia_tempest_plugin.tests.scenario.v2.test_load_balancer.LoadBalancerScenarioTest' -tempest_plugins: - - python-octavia-tests-tempest -tempest_extra_config: - load_balancer.member_role: '"Member"' - load_balancer.test_with_ipv6: false - load_balancer.region: 'regionOne' - load_balancer.enabled_provider_drivers: '"amphora:The Octavia Amphora driver.,octavia:Deprecated alias of the Octavia Amphora driver.,ovn:Octavia OVN driver."' - -undercloud_container_cli: podman - -# the variable is only used in overcloud-deploy role -# for stein and beyond, so it's safe to set it to podman, -# as for stable branches the variable won't be used. -overcloud_container_cli: podman -download_amphora: true -amphora_url: 'https://images.rdoproject.org/octavia/{{ release }}/amphora-x64-haproxy-centos.qcow2' diff --git a/config/general_config/featureset039.yml b/config/general_config/featureset039.yml deleted file mode 100644 index b77653fba..000000000 --- a/config/general_config/featureset039.yml +++ /dev/null @@ -1,297 +0,0 @@ -# Summary of feature set -# Deploy an HA OpenStack environment with an IPA server. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - {% if not release in ['train','ussuri','victoria'] -%} - --networks-file {{ overcloud_templates_path }}/ci/network_data.yaml - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - {% else %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - {% endif %} - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['newton', 'ocata', 'pike'] %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% endif %} - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - {% if release in ['ussuri', 'victoria'] -%} - --disable-validations - {% endif %} - -undercloud_ntp_servers: pool.ntp.org -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - "{% if release not in ['queens', 'stein', 'train'] -%}ipa_prep{%- else -%}novajoin_prep{%- endif -%}" - - "{% if release not in ['queens', 'stein', 'train'] -%}install_ipa{%- else -%}install_novajoin{%- endif -%}" - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - "{% if release not in ['queens', 'stein', 'train'] -%}ipa_prep{%- else -%}novajoin_prep{%- endif -%}" - - "{% if release not in ['queens', 'stein', 'train'] -%}install_ipa{%- else -%}install_novajoin{%- endif -%}" - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ -test_ping: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -# Settings for os_tempest -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein', 'train'] -%} - true - {%- else -%} - false - {%- endif -%} -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -tempest_run_concurrency: 4 - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_allowed_group: "featureset039" - -# Run an undercloud without glance or nova -undercloud_enable_nova: >- - {% if release in ['queens', 'stein', 'train'] -%} - true - {%- else -%} - false - {%- endif -%} - -baremetal_provision: >- - {% if release in ['queens', 'stein', 'train'] -%} - false - {%- else -%} - true - {%- endif -%} - -# Provision composable networks prior to creating the heat stack -network_provision: >- - {% if release in ['train','ussuri','victoria'] -%} - false - {%- else -%} - true - {%- endif -%} - -# TLS everywhere related vars. # -enable_tls_everywhere: true -novajoin_connect_timeout: 60 -novajoin_read_timeout: 60 - -# This switches between a deployment with novajoin or using ansible-tripleo-ipa -undercloud_enable_novajoin: >- - {% if release in ['queens', 'stein', 'train'] -%} - True - {%- else -%} - False - {%- endif -%} - -external_network_cidr: 10.0.0.0/24 - -freeipa_admin_password: fce95318204114530f31f885c9df588f - -# Set node hostnames. -freeipa_internal_ip: "{{ external_network_cidr|nthhost(250) }}" -supplemental_node_ip: "{{ freeipa_internal_ip }}" -undercloud_undercloud_nameservers: ["{{ freeipa_internal_ip }}"] -overcloud_dns_servers: ["{{ freeipa_internal_ip }}", "8.8.8.8"] -tripleo_domain: ooo.test -undercloud_cloud_domain: "{{ tripleo_domain }}" -freeipa_server_hostname: "ipa.{{ tripleo_domain }}" -undercloud_undercloud_hostname: "undercloud.{{ tripleo_domain }}" -overcloud_cloud_name: "overcloud.{{ tripleo_domain }}" -overcloud_cloud_domain: "{{ tripleo_domain }}" -overcloud_cloud_name_internal: "overcloud.internalapi.{{ tripleo_domain }}" -overcloud_cloud_name_storage: "overcloud.storage.{{ tripleo_domain }}" -overcloud_cloud_name_storage_management: "overcloud.storagemgmt.{{ tripleo_domain }}" -overcloud_cloud_name_ctlplane: "overcloud.ctlplane.{{ tripleo_domain }}" -# Supplemental node related vars. # -# Ensure that the FreeIPA server node is provisioned during deployment. -deploy_supplemental_node: true -supplemental_user: >- - {% if (ansible_distribution == "CentOS") and (ansible_distribution_major_version|int >= 9) -%} - cloud-user - {%- else -%} - centos - {%- endif -%} -supplemental_image_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" - -### Keycloak IdP ### - -# Turn on federation support -enable_federation: true - -# For simplicity in development and testing scenarios share the admin -# password with IPA. Do not do this in a production environment! -keycloak_admin_password: "{{ freeipa_admin_password }}" - -# Locate the Keycloak cert/key on the supplemental node, this offers -# the potential for certmonger to manage cert renewal and simplifies -# obtaining the cert from IPA. -keycloak_tls_files_on_target: true - -# Download the keycloak archive directly to the supplemental node as -# opposed to caching it on the host running oooq which then incurs the -# penalty of Ansible unpacking it over a (typically) slow SSH connection. -keycloak_archive_on_target: true - -# Both the PKI certificate server in IPA and Keycloak default their -# http and https port to 8080 and 8443 respectively. Because IPA is -# installed first ports 8080 and 8443 are already in use, bump the -# Keycloak ports by 1 to avoid port conflicts. -keycloak_http_port: 8081 -keycloak_https_port: 8444 - -# IPA installs first on the supplemental and does not enable the -# firewall. If keycloak were to install later and enabled the -# firewall opening only the Keycloak ports then the IPA ports would -# be blocked. Therefore turn off Keycloak's configuration of the -# firewall. The IPA install should enable the firewall but when this -# was attempted a bug in Ansible prevented it from working. If the IPA -# install gains the ability to enable the firewall then -# keycloak_configure_firewall should be turned on. -keycloak_configure_firewall: false - -# Limit the JVM max heap size to 512 MB -keycloak_java_opts: "-Xms64m -Xmx512m" - -# Extend the CLI connect timeout to account for slow startup of Keycloak -# with our small heap size. -keycloak_jboss_config_connect_timeout: 90000 diff --git a/config/general_config/featureset040.yml b/config/general_config/featureset040.yml deleted file mode 100644 index ee1cc036b..000000000 --- a/config/general_config/featureset040.yml +++ /dev/null @@ -1,110 +0,0 @@ -# Summary of the feature set. -# Deploy a containerized stable/pike Openstack environment and upgrade it - -undercloud_setup: true -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -# Container prep parameters. -containerized_overcloud: true -containerized_overcloud_upgrade: true - -enable_opstools_repo: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_introspect: false - -composable_scenario: scenario003-multinode-containers.yaml -upgrade_composable_scenario: scenario003-multinode-containers.yaml -deployed_server: true - -# save time by doing a mixed upgrade -mixed_upgrade: true - -# Tripleo-upgrade role parameters -# Major Upgrade: containers -> containers -overcloud_upgrade: true -# disable tripleo-upgrade container manipulation. -create_docker_registry: false -use_local_docker_registry: false -create_container_images_download_script: false - -# do not run workload test -launch_sanity_workload: false - -# container_registry_file is used pre-rocky, after rocky -# is uc_containers_prepare_file the one used to identify -# the containers file (defaults to: containers-prepare-parameter.yaml) -container_registry_file: containers-default-parameters.yaml -tripleo_ci: true -use_oooq: true -tripleo_upgrade_debug: false -overcloud_ssh_user: "zuul" -# Mandatory for deployed_servers -tripleo_upgrade_validations_non_fatal: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -config_download_args: >- - {% if overcloud_release is defined and overcloud_release in ['queens'] -%} - --no-config-download - {%- endif -%} - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tempest configuration, keep always at the end of the file -test_ping: false -# Run tempest in containers when at least undercloud is containerized diff --git a/config/general_config/featureset041.yml b/config/general_config/featureset041.yml deleted file mode 100644 index 655cfafdf..000000000 --- a/config/general_config/featureset041.yml +++ /dev/null @@ -1,134 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation -# Note: any change in this featureset must also be done in featureset035 and featureset053. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['newton', 'ocata', 'pike'] %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% endif %} - -undercloud_ntp_servers: pool.ntp.org -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ -test_ping: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - -# Validate HA -validate_ha_overcloud: true diff --git a/config/general_config/featureset042.yml b/config/general_config/featureset042.yml deleted file mode 100644 index df1e84ca5..000000000 --- a/config/general_config/featureset042.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Summary of the feature set. -# Deploy an Openstack environment with public TLS for the undercloud and overcloud, introspect, -# IPSec in the internal network and use network isolation. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements -containerized_overcloud: true -delete_docker_cache: true - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - -e /usr/share/openstack-tripleo-heat-templates/environments/ipsec.yaml - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - -deploy_steps_ansible_workflow: true - -# Tempest configuration, keep always at the end of the file -test_ping: false - -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' diff --git a/config/general_config/featureset043.yml b/config/general_config/featureset043.yml deleted file mode 100644 index 9c7e3f470..000000000 --- a/config/general_config/featureset043.yml +++ /dev/null @@ -1,161 +0,0 @@ -# Summary of feature set -# Deploy an HA OpenStack environment with FreeIPA as an IdM. -# Note that this feature set derives from featureset039 and is meant for use -# in local development using the libvirt/setup/supplemental/ roles. It is not -# tested or meant to run in upstream or 3rd party CI. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "single-nic-vlans" - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['newton', 'ocata', 'pike'] %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% endif %} - -undercloud_ntp_servers: pool.ntp.org -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - novajoin_prep - - install_novajoin - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - novajoin_prep - - install_novajoin - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --verbose - {%- endif -%} - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ -test_ping: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - -# TLS everywhere related vars. # -enable_tls_everywhere: true -novajoin_connect_timeout: 60 -novajoin_read_timeout: 60 - -freeipa_admin_password: fce95318204114530f31f885c9df588f - -# Set node hostnames. -freeipa_internal_ip: "{{ external_network_cidr|nthhost(250) }}" -supplemental_node_ip: "{{ freeipa_internal_ip }}" -undercloud_undercloud_nameservers: ["{{ freeipa_internal_ip }}"] -overcloud_dns_servers: ["{{ freeipa_internal_ip }}", "8.8.8.8"] -tripleo_domain: ooo.test -undercloud_cloud_domain: "{{ tripleo_domain }}" -freeipa_server_hostname: "ipa.{{ tripleo_domain }}" -undercloud_undercloud_hostname: "undercloud.{{ tripleo_domain }}" -overcloud_cloud_name: "overcloud.{{ tripleo_domain }}" -overcloud_cloud_domain: "{{ tripleo_domain }}" -overcloud_cloud_name_internal: "overcloud.internalapi.{{ tripleo_domain }}" -overcloud_cloud_name_storage: "overcloud.storage.{{ tripleo_domain }}" -overcloud_cloud_name_storage_management: "overcloud.storagemgmt.{{ tripleo_domain }}" -overcloud_cloud_name_ctlplane: "overcloud.ctlplane.{{ tripleo_domain }}" -# Supplemental node related vars. # -# Ensure that the FreeIPA server node is provisioned during deployment. -deploy_supplemental_node: true -supplemental_user: centos -supplemental_image_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" diff --git a/config/general_config/featureset045.yml b/config/general_config/featureset045.yml deleted file mode 100644 index bd8ca8129..000000000 --- a/config/general_config/featureset045.yml +++ /dev/null @@ -1,73 +0,0 @@ -# Summary of the feature set. -# Deploy a containerized stable/pike Openstack environment and upgrade it - -undercloud_setup: true -enable_pacemaker: true -overcloud_ipv6: false - -containerized_overcloud: true - -undercloud_update: true - -release: master - -# TODO(gcerami): we need a way to deploy a previous known good dlrn hash -# then update to the latest -# for now, we will just start the update without changing the repository - -overcloud_templates_path: "{{ working_dir }}/tripleo-heat-templates" -overcloud_templates_repo: https://opendev.org/openstack/tripleo-heat-templates -overcloud_templates_branch: stable/{{ overcloud_release }} - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -test_ping: true -use_os_tempest: false -step_introspect: false - -composable_scenario: scenario000-multinode-containers.yaml -upgrade_composable_scenario: scenario000-multinode-containers.yaml - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant diff --git a/config/general_config/featureset047.yml b/config/general_config/featureset047.yml deleted file mode 100644 index 2ea3badf4..000000000 --- a/config/general_config/featureset047.yml +++ /dev/null @@ -1,25 +0,0 @@ -#################################### -# FEATURESET047 - UNDERCLOUD UPGRADE -# Based on featureset003 -#################################### - -undercloud_generate_service_certificate: false -ssl_overcloud: false -undercloud_check_idempotency: true -undercloud_check_sanity: true -containerized_undercloud: false -containerized_overcloud: false -containerized_overcloud_upgrade: false - -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tripleo-upgrade specific parameters -undercloud_upgrade: true -overcloud_deploy_script: "{{ working_dir }}/overcloud_deploy.sh" -tripleo_ci: true -use_oooq: true - -# Deactivate validations as there is no overcloud -test_ping: false -use_os_tempest: false diff --git a/config/general_config/featureset048.yml b/config/general_config/featureset048.yml deleted file mode 100644 index 95ce66c69..000000000 --- a/config/general_config/featureset048.yml +++ /dev/null @@ -1,68 +0,0 @@ -# Summary of the feature set. -# Deploy an non-ha Openstack environment, without SSL, introspect, and -# ready to execute tempest tests. -# Example of usage: -# ./quickstart.sh -t all --retain-inventory -e \ -# @config/general_config/featureset048.yml -R tripleo-ci/consistent-master \ -# -T all $VIRTHOST - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: false -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -# Tell tripleo about our environment -enable_pacemaker: false -network_isolation: false - -extra_args: '' - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - -# Tempest configuration, keep always at the end of the file - -test_regex: '.*' -test_ping: false -# Run tempest without skip file -skip_file_src: '' -# For full tempest run we need to make sure concurrency is not too high -tempest_workers: 3 diff --git a/config/general_config/featureset049.yml b/config/general_config/featureset049.yml deleted file mode 100644 index 0206c35cb..000000000 --- a/config/general_config/featureset049.yml +++ /dev/null @@ -1,44 +0,0 @@ -# Containerized overcloud -# Enables Ceph, Pacemaker and network isolation on single nic -undercloud_generate_service_certificate: false -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -step_introspect: false -extra_args: >- - -e {{ overcloud_templates_path }}/environments/cephadm/cephadm.yaml - -e {{ overcloud_templates_path }}/environments/cephadm/ceph-mds.yaml -network_isolation: true -network_isolation_type: 'single-nic-vlans' -containerized_overcloud: true -test_ping: false -use_os_tempest: false -ssl_overcloud: false -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate -enable_pacemaker: true -step_root_device_size: true -disk_root_device_size: 40000 -step_root_device_hints: true diff --git a/config/general_config/featureset050.yml b/config/general_config/featureset050.yml deleted file mode 100644 index 7292e69b6..000000000 --- a/config/general_config/featureset050.yml +++ /dev/null @@ -1,39 +0,0 @@ -################################################## -# FEATURESET050 - CONTAINERIZED UNDERCLOUD UPGRADE -# Based on featureset047 -################################################## - -ssl_overcloud: false -undercloud_check_sanity: true -undercloud_upgrade_cleanup: true - -containerized_undercloud: true - -containerized_overcloud: true - -containerized_overcloud_upgrade: false -containerized_undercloud_upgrade: true - -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tripleo-upgrade specific parameters -undercloud_upgrade: true -tripleo_ci: true -use_oooq: true - -# Deactivate validations as there is no overcloud -use_os_tempest: false -test_ping: false - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -undercloud_enable_swift_encryption: true - -# There is not enough space in the Undercloud <20GB -undercloud_enable_validations: false - -undercloud_enable_paunch: false - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" diff --git a/config/general_config/featureset051.yml b/config/general_config/featureset051.yml deleted file mode 100644 index 22e48df93..000000000 --- a/config/general_config/featureset051.yml +++ /dev/null @@ -1,137 +0,0 @@ -# Summary of the feature set. -# Deploy a containerized Openstack environment using the keystone-only -# scenario (scenario000) and upgrade it - -undercloud_setup: true -overcloud_ipv6: false -network_isolation: false -enable_pacemaker: false - -# Container prep parameters. -containerized_overcloud: true -containerized_overcloud_upgrade: true -# mixed_upgrade, used for a mixed initial deployment of undercloud and overcloud releases -mixed_upgrade: false -# noop_upgrade, used when running upgrades from $release to $release -noop_upgrade: true - -enable_opstools_repo: true - -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_introspect: false - -composable_scenario: scenario000-multinode-containers.yaml -upgrade_composable_scenario: scenario000-multinode-containers.yaml -deployed_server: true - -test_ping: false -use_os_tempest: false - -# Tripleo-upgrade role parameters -# Major Upgrade: containers -> containers (keystone-only) -overcloud_upgrade: true -# This featureset is a master to master job, so we don't want to update the -# repo during the upgrade run -update_repo: false -# disable tripleo-upgrade container manipulation. -create_docker_registry: false -use_local_docker_registry: false -create_container_images_download_script: false - -# do not run workload test -launch_sanity_workload: false - -# container_registry_file is used pre-rocky, after rocky -# is uc_containers_prepare_file the one used to identify -# the containers file (defaults to: containers-prepare-parameter.yaml) -container_registry_file: containers-default-parameters.yaml -tripleo_ci: true -use_oooq: true -tripleo_upgrade_debug: false -overcloud_ssh_user: >- - {% if release in ['queens'] -%} - "tripleo-admin" - {%- else -%} - "zuul" - {%- endif -%} - -# Mandatory for deployed_servers -tripleo_upgrade_validations_non_fatal: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - - -deploy_steps_ansible_workflow: true -config_download_args: >- - {% if release in ['queens'] -%} - -e /usr/share/openstack-tripleo-heat-templates/environments/config-download-environment.yaml - --config-download - --deployed-server - {%- endif %} - {% if release not in ['newton','ocata','pike'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} diff --git a/config/general_config/featureset052.yml b/config/general_config/featureset052.yml deleted file mode 100644 index 25df17e93..000000000 --- a/config/general_config/featureset052.yml +++ /dev/null @@ -1,52 +0,0 @@ -################################################## -# FEATURESET052 - TRIPLEO STANDALONE -################################################## - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false -toci_vxlan_networking: false -enable_vbmc: false -deploy_supplemental_node: false -undercloud_setup: true - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml - -# custom env files -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml - -# validation - -test_ping: false -# Running only smoke tests and a few scenarios -test_white_regex: '\[.*\bsmoke\b.*\]' -# NOTE(aschultz): containers assume RC at the moment -tempest_undercloud: true -tempest_overcloud: false -tempest_workers: 2 -tempest_os_cloud: standalone - -tempest_allowed_group_check: "featureset052" -tempest_allowed_group_periodic: "featureset052_periodic" - -# Settings for os_tempest -use_os_tempest: >- - {% if job.skip_os_tempest is defined and job.skip_os_tempest | default(false) | bool -%} - false - {%- else -%} - true - {%- endif -%} - -tempest_allowed_group: >- - {% if (('periodic' in zuul.pipeline and not job.force_non_periodic|default(false)|bool) or (job.force_periodic|default(false)|bool)) and not tempest_run_skipped | default(false) | bool or (job.component is defined|default(false)|bool) -%} - {{ tempest_allowed_group_periodic }} - {%- else -%} - {{ tempest_allowed_group_check }} - {%- endif -%} - -tempest_run_concurrency: 2 -standalone_container_cli: podman diff --git a/config/general_config/featureset053.yml b/config/general_config/featureset053.yml deleted file mode 100644 index 8db118158..000000000 --- a/config/general_config/featureset053.yml +++ /dev/null @@ -1,29 +0,0 @@ -########################################################## -# FEATURESET053 - TRIPLEO ANSIBLE STANDALONE ROLES TESTING -########################################################## - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false -toci_vxlan_networking: false -enable_vbmc: false -deploy_supplemental_node: false -undercloud_setup: true - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml -standalone_libvirt_type: "{{ standalone_virt_type|default('qemu') }}" -standalone_container_cli: podman - -# custom env files -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates - -# standalone vars for compute node -neutron_public_interface_name: eth0 -tripleo_network_config_template: templates/ci/multinode.j2 -ctlplane_dns_nameservers: - - 192.168.24.1 diff --git a/config/general_config/featureset054.yml b/config/general_config/featureset054.yml deleted file mode 100644 index 421cdc73d..000000000 --- a/config/general_config/featureset054.yml +++ /dev/null @@ -1,85 +0,0 @@ -# Deploy an Openstack environment with a containerized overcloud -# using scenario0012 - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false -ironic_overcloud: true - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -containerized_overcloud: true -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_true: false - -composable_scenario: scenario012-multinode-containers.yaml -validate_template: scenario012-multinode.yaml -deployed_server: true - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - false - -test_regex: '' -tempest_whitelist: - - 'ironic_tempest_plugin.tests.scenario.test_baremetal_multitenancy.BaremetalMultitenancy.test_baremetal_multitenancy' - -tempest_plugins: - - python-ironic-tests-tempest - -tempest_extra_config: {'auth.create_isolated_networks': 'False', 'validation.connect_method': 'fixed', 'validation.network_for_ssh': 'provisioning', 'baremetal.use_provision_network': 'True'} - -deploy_steps_ansible_workflow: - true -config_download_args: >- - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose diff --git a/config/general_config/featureset055.yml b/config/general_config/featureset055.yml deleted file mode 100644 index 5c3e52b5b..000000000 --- a/config/general_config/featureset055.yml +++ /dev/null @@ -1,102 +0,0 @@ -# Deploy an Openstack environment with a containerized overcloud -# using scenario002 and Run refstack tests - -undercloud_setup: true -network_isolation: false -overcloud_ipv6: false - -# pacemaker settings are configured in the scenario template -# do not set `enable_pacemaker` in the featureset - -containerized_overcloud: true -undercloud_generate_service_certificate: false - -ssl_overcloud: false - -step_introspect: false - -composable_scenario: scenario002-multinode-containers.yaml -validate_template: scenario002-multinode.yaml - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-upgrade - - overcloud-validate -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -# Use the traditional ping test in newton and ocata -# Run tempest in pike+ - -test_ping: >- - {% if release in ['newton', 'ocata'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' - -# Run RefStack tests -tempest_run_refstack: true - -tempest_extra_config: >- - {% if release not in ['newton', 'ocata', 'pike'] -%} - {'compute-feature-enabled.attach_encrypted_volume': 'True', 'auth.tempest_roles': '"Member"'} - {%- endif -%} - -tempest_workers: 1 - -deployed_server: >- - {% if release in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} -config_download_args: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - {%- endif -%} diff --git a/config/general_config/featureset056.yml b/config/general_config/featureset056.yml deleted file mode 100644 index df9de63e6..000000000 --- a/config/general_config/featureset056.yml +++ /dev/null @@ -1,45 +0,0 @@ -################################################## -# FEATURESET056 - TRIPLEO STANDALONE UPGRADE -################################################## - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml - -# docker / podman configuration -standalone_container_cli: podman - -# NOTE(mwhahaha): we only care about ha -> ha upgrades. We switched to -# pacemaker enabled in Ussuri, so the upgrade from Train -> Ussuri is non-HA -# to HA. We should just test HA always in the upgrade -standalone_control_virtual_ip: 192.168.24.3 -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml - -standalone_upgrade: true -# validation - -test_ping: false - -use_os_tempest: >- - {% if release not in ['pike', 'queens', 'stein'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_regex: '' -# NOTE(aschultz): containers assume RC at the moment -tempest_undercloud: true -tempest_overcloud: false -tempest_os_cloud: standalone -# Since periodic-tripleo-ci-centos-8-standalone-upgrade-victoria job is broken from long time -# and will be removed as its stable/victoria is EOL. So right now, no job to test this featureset. -tempest_allowed_group: featureset056 - -tempest_run_concurrency: 2 diff --git a/config/general_config/featureset058.yml b/config/general_config/featureset058.yml deleted file mode 100644 index 9164fd37b..000000000 --- a/config/general_config/featureset058.yml +++ /dev/null @@ -1,38 +0,0 @@ -################################################## -# FEATURESET058 - TRIPLEO STANDALONE UPDATE -################################################## - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml - -standalone_update: true -# validation - -test_ping: false -test_regex: '' -# NOTE(aschultz): containers assume RC at the moment -tempest_undercloud: true -tempest_overcloud: false -tempest_os_cloud: standalone -tempest_whitelist: - - 'tempest.api.identity' - - 'tempest.api.image.v2.test_images.BasicOperationsImagesTest' - - 'tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest' - - 'tempest.api.image.v2.test_images_member_negative.ImagesMemberNegativeTest' - - 'tempest.api.compute.admin.test_flavors' - - 'tempest.api.compute.flavors' - - 'tempest.api.compute.keypairs' - - 'tempest.api.compute.admin.test_quotas' - - 'tempest.api.compute.admin.test_aggregates_negative' - - 'tempest.api.compute.security_groups' - - 'tempest.api.network.test_networks' - - 'tempest.api.network.test_networks_negative' - - 'tempest.api.network.test_security_groups_negative' - - 'tempest.api.network.test_ports' - - 'tempest.api.network.test_routers_negative' diff --git a/config/general_config/featureset060.yml b/config/general_config/featureset060.yml deleted file mode 100644 index 7462a40c1..000000000 --- a/config/general_config/featureset060.yml +++ /dev/null @@ -1,45 +0,0 @@ -################################################## -# FEATURESET060 - TRIPLEO STANDALONE with IRONIC -################################################## - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false -toci_vxlan_networking: false -enable_vbmc: false -deploy_supplemental_node: false -undercloud_setup: true - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml -ironic_overcloud: true - -# custom env files -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml - -# validation - -test_ping: false -use_os_tempest: true -# NOTE(aschultz): containers assume RC at the moment -tempest_undercloud: true -tempest_overcloud: false -tempest_services: - - neutron - - ironic -tempest_tempestconf_profile_overrides: - auth.create_isolated_networks: 'False' - validation.connect_method: 'fixed' - validation.network_for_ssh: 'provisioning' - baremetal.use_provision_network: 'True' - -tempest_run_concurrency: 2 -tempest_os_cloud: standalone -tempest_public_net_name: "provisioning" -tempest_public_subnet_name: "provision-subnet" -tempest_private_net_seg_id: '' -tempest_allowed_group: "featureset060" -standalone_container_cli: podman diff --git a/config/general_config/featureset061.yml b/config/general_config/featureset061.yml deleted file mode 100644 index 15323efd7..000000000 --- a/config/general_config/featureset061.yml +++ /dev/null @@ -1,71 +0,0 @@ -####################################### -# FEATURESET061 - Undercloud + Minion # -####################################### - -extra_args: '' - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -undercloud_check_sanity: true - -# containers config -containerized_overcloud: false -containerized_undercloud: true -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -# TODO(aschultz): fix with ssl -# undercloud_undercloud_public_host: "{{ ansible_fqdn }}-unique" -# tripleo_set_unique_hostname: true - -# turn off image prep -step_overcloud_image: false -step_glance_upload: false -step_register: false -step_root_device_size: false -step_root_device_hints: false -step_introspect: false - -# TODO(aschultz): enable ssl once it works -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false -undercloud_enable_swift_encryption: false - -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-deploy - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - tempest-setup - - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-deploy - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - tempest-setup - -# Tempest configuration, keep always at the end of the file -test_ping: false -test_regex: '' - -tempest_undercloud: true -tempest_overcloud: false -# Since tripleo-ci-centos-8-containers-undercloud-minion job is only runs for train -# and will be removed in future. Below default tempest tests group does not run in this job. -tempest_allowed_group: "featureset061" - -minion_container_cli: podman diff --git a/config/general_config/featureset062.yml b/config/general_config/featureset062.yml deleted file mode 100644 index 61a8c95bf..000000000 --- a/config/general_config/featureset062.yml +++ /dev/null @@ -1,67 +0,0 @@ -#################################################################################################### -# FEATURESET062 - TRIPLEO STANDALONE FOR OCTAVIA - TRACKS SCENARIO 10 -# This is a modified version of featureset 052 (standalone) so changes made -# to that featureset should be examined to see if they are relevant here. -#################################################################################################### - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false -toci_vxlan_networking: false -enable_vbmc: false -deploy_supplemental_node: false -undercloud_setup: true - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml - -# custom env files -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml - -standalone_container_cli: podman -# We need to selectively re-enable the globally blacklisted octavia tempest -# plugin. -tempest_private_net_seg_id: '' - -test_ping: false - -# os_tempest config -use_os_tempest: true - -# With fs62 group we are running two sets one for train release and -# one for other releases -tempest_allowed_group_check: "featureset062" - -# In Integration and periodic line, we run only smoke tests, hence the special -# group is defined here fs62_periodic -tempest_allowed_group_periodic: "featureset062_periodic" - -tempest_allowed_group: >- - {% if ('periodic' in zuul.pipeline and not job.force_non_periodic|default(false)|bool) or (job.force_periodic|default(false)|bool) -%} - {{ tempest_allowed_group_periodic }} - {%- else -%} - {{ tempest_allowed_group_check }} - {%- endif -%} - -tempest_services: - - octavia - - neutron -tempest_run_concurrency: 2 -download_amphora: true -amphora_url: 'https://images.rdoproject.org/octavia/{{ release }}/amphora-x64-haproxy-centos.qcow2' - -tempestconf_override: - load_balancer.test_with_ipv6: false - network-feature-enabled.port_security: true - load_balancer.test_server_path: >- - "/usr/lib/python{{ [ansible_python.version.major, ansible_python.version.minor] | join('.') }}/site-packages/octavia_tempest_plugin/contrib/test_server/test_server.bin" - -tempestconf_train_override: - load_balancer.member_role: '"Member"' - load_balancer.test_with_ipv6: false - -tempest_tempestconf_profile_overrides: "{{ tempestconf_train_override if release in ['train'] else tempestconf_override }}" -tempest_os_cloud: standalone diff --git a/config/general_config/featureset063.yml b/config/general_config/featureset063.yml deleted file mode 100644 index 5caf1e660..000000000 --- a/config/general_config/featureset063.yml +++ /dev/null @@ -1,133 +0,0 @@ -# Summary of the feature set. -# This match the pacemaker feature with addition to enable additional_cell - -# Deploy an Openstack environment with topoligy described in config/nodes/1ctlr_1cellctrl_1comp.yml -# which configures ssl undercloud, introspect, and use network isolation. -# Two stacks will be used, overcloud stack and another stack for the -# additional cell. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -containerized_undercloud: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_enable_routed_networks: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_clean_nodes: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -undercloud_inspection_extras: false - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by defaut from ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['newton', 'ocata', 'pike'] %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% endif %} - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -# Switch this variable to 'podman' once we run OVB jobs on CentOS8. -overcloud_container_cli: docker - -# Set node hostnames. -tripleo_domain: ooo.test -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_undercloud_hostname: "undercloud.{{ tripleo_domain }}" -undercloud_resource_registry_args: - "OS::TripleO::Undercloud::Net::SoftwareConfig": "{{ undercloud_templates_path }}/net-config-undercloud.yaml" - -overcloud_cloud_name: "overcloud.{{ tripleo_domain }}" -overcloud_cloud_domain: "{{ tripleo_domain }}" -overcloud_cloud_name_internal: "overcloud.internalapi.{{ tripleo_domain }}" -overcloud_cloud_name_storage: "overcloud.storage.{{ tripleo_domain }}" -overcloud_cloud_name_storage_management: "overcloud.storagemgmt.{{ tripleo_domain }}" -overcloud_cloud_name_ctlplane: "overcloud.ctlplane.{{ tripleo_domain }}" - -# activate deploy of an additional cell -additional_cell: true - -# Tempest configuration, keep always at the end of the file - -tempest_allowed_group: 'featureset063' diff --git a/config/general_config/featureset064.yml b/config/general_config/featureset064.yml deleted file mode 100644 index 3c11ab90c..000000000 --- a/config/general_config/featureset064.yml +++ /dev/null @@ -1,266 +0,0 @@ -# Summary of feature set -# Deploy an HA OpenStack environment with an IPA server(fs039) + custom overcloud -# networks + custom overcloud name. -# We intend to run this featureset on wallaby+ only. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: true -delete_docker_cache: true - -containerized_undercloud: true - -ctlplane_masquerade: true - -undercloud_enable_routed_networks: true - -undercloud_clean_nodes: true - -undercloud_inspection_extras: false - - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "multiple-nics" -network_isolation_args: >- - --roles-file {{ overcloud_templates_path }}/ci/custom_ci_roles_data.yaml - --networks-file {{ overcloud_templates_path }}/ci/custom_names_network_data.yaml - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - -e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/custom-network-environment.yaml - -extra_args: >- - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% if release not in ['train','wallaby'] %} - -e {{ working_dir }}/ci_custom_firewall_rules.yaml - {% endif %} - -undercloud_ntp_servers: pool.ntp.org -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - ipa_prep - - install_ipa - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - ipa_prep - - install_ipa - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -deploy_steps_ansible_workflow: true - -ephemeral_heat: true -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tempest configuration, keep always at the end of the file -test_ping: false - -# Settings for os_tempest -use_os_tempest: true - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -tempest_run_concurrency: 4 - -# In order to have a public network with external connectivity, we need to use -# flat network type -tempest_public_net_provider_type: flat - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: '10.0.0.0/24' - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -tempest_allowed_group: 'featureset064' - -# Run an undercloud without glance or nova -undercloud_enable_nova: false - -baremetal_provision: true - -# Provision composable networks prior to creating the heat stack -network_provision: true - -# TLS everywhere related vars. # -enable_tls_everywhere: true -novajoin_connect_timeout: 60 -novajoin_read_timeout: 60 - -# This switches between a deployment with novajoin or using ansible-tripleo-ipa -undercloud_enable_novajoin: false - -external_network_cidr: 10.0.0.0/24 - -freeipa_admin_password: fce95318204114530f31f885c9df588f - -# Set node hostnames. -freeipa_internal_ip: "{{ external_network_cidr|nthhost(250) }}" -supplemental_node_ip: "{{ freeipa_internal_ip }}" -undercloud_undercloud_nameservers: ["{{ freeipa_internal_ip }}"] -overcloud_dns_servers: ["{{ freeipa_internal_ip }}", "8.8.8.8"] -tripleo_domain: ooo.test -undercloud_cloud_domain: "{{ tripleo_domain }}" -freeipa_server_hostname: "ipa.{{ tripleo_domain }}" -undercloud_undercloud_hostname: "undercloud.{{ tripleo_domain }}" -overcloud_cloud_name: "overcloud1.{{ tripleo_domain }}" -overcloud_cloud_domain: "{{ tripleo_domain }}" - -# Supplemental node related vars. # -# Ensure that the FreeIPA server node is provisioned during deployment. -deploy_supplemental_node: true -supplemental_user: >- - {% if (ansible_distribution == "CentOS") and (ansible_distribution_major_version|int >= 9) -%} - cloud-user - {%- else -%} - centos - {%- endif -%} -supplemental_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" - -### Keycloak IdP ### - -# Turn on federation support -enable_federation: true - -# For simplicity in development and testing scenarios share the admin -# password with IPA. Do not do this in a production environment! -keycloak_admin_password: "{{ freeipa_admin_password }}" - -# Locate the Keycloak cert/key on the supplemental node, this offers -# the potential for certmonger to manage cert renewal and simplifies -# obtaining the cert from IPA. -keycloak_tls_files_on_target: true - -# Download the keycloak archive directly to the supplemental node as -# opposed to caching it on the host running oooq which then incurs the -# penalty of Ansible unpacking it over a (typically) slow SSH connection. -keycloak_archive_on_target: true - -# Both the PKI certificate server in IPA and Keycloak default their -# http and https port to 8080 and 8443 respectively. Because IPA is -# installed first ports 8080 and 8443 are already in use, bump the -# Keycloak ports by 1 to avoid port conflicts. -keycloak_http_port: 8081 -keycloak_https_port: 8444 - -# IPA installs first on the supplemental and does not enable the -# firewall. If keycloak were to install later and enabled the -# firewall opening only the Keycloak ports then the IPA ports would -# be blocked. Therefore turn off Keycloak's configuration of the -# firewall. The IPA install should enable the firewall but when this -# was attempted a bug in Ansible prevented it from working. If the IPA -# install gains the ability to enable the firewall then -# keycloak_configure_firewall should be turned on. -keycloak_configure_firewall: false - -# Limit the JVM max heap size to 512 MB -keycloak_java_opts: "-Xms64m -Xmx512m" - -# Extend the CLI connect timeout to account for slow startup of Keycloak -# with our small heap size. -keycloak_jboss_config_connect_timeout: 90000 - -network_data_yaml: "{{ overcloud_templates_path }}/ci/custom_names_network_data.yaml" -vip_data_yaml: "{{ overcloud_templates_path }}/ci/custom_names_vip_data.yaml" -stack_name: "overcloud1" -tempest_cloud_name: 'overcloud1' - -# we set this as false as we don't want to use the default -# cloud-names.yaml created from cloud-names.yaml.j2 and instead use -# the values we defined in ci tht templates for custom networks. -non_custom_network: false - -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external_cloud_1 - subnet: external_cloud_1_subnet - - network: internal_api_cloud_1 - subnet: internal_api_cloud_1_subnet - - network: storage_cloud_1 - subnet: storage_cloud_1_subnet - - network: storage_mgmt_cloud_1 - subnet: storage_mgmt_cloud_1_subnet - - network: tenant_cloud_1 - subnet: tenant_cloud_1_subnet - network_config: - template: templates/ci/custom_network_multiple_nics.j2 - default_route_network: - - external_cloud_1 - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api_cloud_1 - subnet: internal_api_cloud_1_subnet - - network: tenant_cloud_1 - subnet: tenant_cloud_1_subnet - - network: storage_cloud_1 - subnet: storage_cloud_1_subnet - network_config: - template: templates/ci/custom_network_multiple_nics.j2 diff --git a/config/general_config/featureset065.yml b/config/general_config/featureset065.yml deleted file mode 100644 index 51ad719e7..000000000 --- a/config/general_config/featureset065.yml +++ /dev/null @@ -1,39 +0,0 @@ -###################################################### -# FEATURESET065 - CONTAINERIZED UNDERCLOUD FFU UPGRADE -# Based on featureset050 -###################################################### - -ssl_overcloud: false -undercloud_check_sanity: true -undercloud_upgrade_cleanup: true - -containerized_undercloud: true - -containerized_overcloud: true - -containerized_overcloud_upgrade: false -containerized_undercloud_upgrade: true - -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# Tripleo-upgrade specific parameters -ffu_undercloud_upgrade: true -tripleo_ci: true -use_oooq: true - -# Deactivate validations as there is no overcloud -use_os_tempest: false -test_ping: false - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -undercloud_enable_swift_encryption: true - -# There is not enough space in the Undercloud <20GB -undercloud_enable_validations: false - -undercloud_enable_paunch: false - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" diff --git a/config/general_config/featureset066.yml b/config/general_config/featureset066.yml deleted file mode 100644 index e092e63f3..000000000 --- a/config/general_config/featureset066.yml +++ /dev/null @@ -1,70 +0,0 @@ -composable_scenario: multinode-containers-mixed-os.yaml -composable_services: false - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true - -containerized_undercloud: true - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false - -mixed_os: true - -# downstream job needs pin for NovaHWMachineType -extra_args: >- - {% if ansible_distribution in ["RedHat"] and osp_release|default('') in ['rhos-17.1'] -%} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha-parameter-for-rhel8.yaml - {% endif %} - --disable-protected-resource-types --baremetal-deployment - -composable_roles: true - -overcloud_roles_mixed: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - - name: Compute - CountDefault: 1 - HostnameFormatDefault: '%stackname%-compute-%index%' - tags: - - compute - -deployed_server: true -deploy_steps_ansible_workflow: true - -config_download_args: >- - -e {{ working_dir }}/config-download.yaml - --disable-validations -ephemeral_heat: true -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -# Tempest configuration, keep always at the end of the file -test_ping: false -# tempest_ping_router https://bugs.launchpad.net/tripleo/+bug/1981322 -tempest_ping_router: false - -# Settings for os_tempest - -use_os_tempest: true - -tempest_allowed_group: "featureset066" - -# https://launchpad.net/bugs/1844446 -undercloud_enable_validations: false - -undercloud_parameter_defaults_args: >- - {'IronicIPXEUefiSnpOnly': 'true'} diff --git a/config/general_config/featureset067.yml b/config/general_config/featureset067.yml deleted file mode 100644 index 4a145388d..000000000 --- a/config/general_config/featureset067.yml +++ /dev/null @@ -1,47 +0,0 @@ -################################################## -# FEATURESET067 - TRIPLEO STANDALONE FFU -################################################## - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false -toci_vxlan_networking: false -enable_vbmc: false -deploy_supplemental_node: false -undercloud_setup: true - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml - -# NOTE(mwhahaha): we only care about ha -> ha upgrades. We switched to -# pacemaker enabled in Ussuri, so the upgrade from Train -> Ussuri is non-HA -# to HA. We should just test HA always in the upgrade -standalone_control_virtual_ip: 192.168.24.3 -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml - -ffu_standalone_upgrade: true -tripleo_ci: true -use_oooq: true - -# validation -test_ping: false - -use_os_tempest: true - -test_regex: '' -# NOTE(aschultz): containers assume RC at the moment -tempest_undercloud: true -tempest_overcloud: false -tempest_os_cloud: standalone - -tempest_allowed_group: "featureset067" - -tempest_run_concurrency: 2 - -# docker / podman configuration -standalone_container_cli: podman - -ephemeral_heat: "{{ (release not in ['train']) | bool }}" diff --git a/config/general_config/featureset068.yml b/config/general_config/featureset068.yml deleted file mode 100644 index 2e1bb3e44..000000000 --- a/config/general_config/featureset068.yml +++ /dev/null @@ -1,74 +0,0 @@ -# Deploy minimal overcloud (keystone and supporting services) and run -# a minor version update (update both on undercloud and overcloud). -# End-to-end minor update is being tested, not only update workflow itself. - -composable_scenario: scenario000-multinode-containers.yaml - -container_registry_file: containers-default-parameters.yaml - -# Tripleo-upgrade specific parameters -undercloud_update: true -overcloud_update: true -tripleo_upgrade_validations_non_fatal: true -tripleo_upgrade_debug: false -tripleo_ci: true -use_oooq: true - -# Tripleo-quickstart-extras and tripleo-ci specific parameters -# By setting these two variables to true, both rpm and containers are -# updated on undercloud and overcloud. -containerized_undercloud_upgrade: true -minor_update: true - -overcloud_ssh_user: "zuul" - -network_isolation: false -enable_pacemaker: false -overcloud_ipv6: false -containerized_overcloud: true - -undercloud_generate_service_certificate: false -ssl_overcloud: false - -# extra testing disabled for now, may be enabled later depending on -# job run time -test_ping: false -use_os_tempest: false -# test_white_regex: 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - -composable_roles: true -overcloud_roles: - - name: Controller - CountDefault: 1 - tags: - - primary - - controller - networks: - - External - - InternalApi - - Storage - - StorageMgmt - - Tenant - -deploy_steps_ansible_workflow: true -config_download_args: >- - -e {{ working_dir }}/config-download.yaml - --disable-validations - --verbose - -containerized_undercloud: true - -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" -ctlplane_masquerade: true - -ephemeral_heat: true -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -extra_args: >- - {%- if release not in ['train'] -%} - --disable-protected-resource-types - --baremetal-deployment - {%- endif -%} diff --git a/config/general_config/featureset099.yml b/config/general_config/featureset099.yml deleted file mode 100644 index de6589de2..000000000 --- a/config/general_config/featureset099.yml +++ /dev/null @@ -1,43 +0,0 @@ -####################################################### -# Temporary featureset - TripleO standalone -# Mixed Fedora 28, CentOS 7 containers job -# Featureset052 with docker_registry_namespace override -####################################################### - -non_root_user_setup: true -ovb_setup_connectivity: false -package_installs: true -vxlan_networking: false -toci_vxlan_networking: false -enable_vbmc: false -deploy_supplemental_node: false -undercloud_setup: true - -# role / scenario definition -# deployment role -standalone_role: Standalone.yaml - -# custom env files -standalone_custom_env_files: - - /usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml - -# validation -standalone_ansible_lint: true - -# run them. -test_ping: false -# Running only smoke tests and a few scenarios -test_white_regex: '\[.*\bsmoke\b.*\]' -# NOTE(aschultz): containers assume RC at the moment -tempest_undercloud: true -tempest_overcloud: false -tempest_os_cloud: standalone -tempest_whitelist: - - 'tempest.scenario.test_minimum_basic.TestMinimumBasicScenario' - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps' - - 'tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern' - -standalone_container_cli: podman - -# Release file override -docker_registry_namespace: tripleomaster diff --git a/config/general_config/ipa.yml b/config/general_config/ipa.yml deleted file mode 100644 index b887234e2..000000000 --- a/config/general_config/ipa.yml +++ /dev/null @@ -1,96 +0,0 @@ -# Deploy an HA openstack environment with an IPA Server. - -# TLS everywhere related vars. # -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -enable_tls_everywhere: true -novajoin_connect_timeout: 60 -novajoin_read_timeout: 60 -# Set the FreeIPA server IP -freeipa_internal_ip: "{{ external_network_cidr|nthhost(10) }}" -# We'll use FreeIPA as the nameserver -nameserver_from_virthost: false -containerized_overcloud: >- - {% if release in ['newton', 'ocata'] -%} - false - {%- else -%} - true - {%- endif -%} - -# Extra -undercloud_enable_ui: false -enable_port_forward_for_tripleo_ui: false - -# Set node hostnames. -tripleo_domain: ooo.test -freeipa_server_hostname: "ipa.{{ tripleo_domain }}" -undercloud_undercloud_hostname: "undercloud.{{ tripleo_domain }}" -overcloud_cloud_name: "overcloud.{{ tripleo_domain }}" -overcloud_cloud_domain: "{{ tripleo_domain }}" -overcloud_cloud_name_internal: "overcloud.internalapi.{{ tripleo_domain }}" -overcloud_cloud_name_storage: "overcloud.storage.{{ tripleo_domain }}" -overcloud_cloud_name_storage_management: "overcloud.storagemgmt.{{ tripleo_domain }}" -overcloud_cloud_name_ctlplane: "overcloud.ctlplane.{{ tripleo_domain }}" - -# custom_nameserver is used to set forwarders for FreeIPA -custom_nameserver: - - 1.1.1.1 -# Define FreeIPA server as DNS server for under/overcloud. -undercloud_undercloud_nameservers: ["{{ freeipa_internal_ip }}"] -overcloud_dns_servers: ["{{ freeipa_internal_ip }}"] - -ctlplane_masquerade: >- - {% if release not in ['newton','ocata','pike','queens'] -%} - true - {%- else -%} - false - {%- endif -%} - -# Supplemental node related vars. # -# Ensure that the FreeIPA server node is provisioned during deployment. -deploy_supplemental_node: true -supplemental_user: stack -supplemental_node_ip: "{{ freeipa_internal_ip }}" -supplemental_image_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 - -# We don't need introspection in a virtual environment (because we are -# creating all the "hardware" we really know the necessary information). -step_introspect: false - -# Tell tripleo about our environment. -network_isolation: true -network_isolation_type: 'single-nic-vlans' -extra_args: '' -test_ping: true -enable_pacemaker: true -use_os_tempest: false - -# Options below direct automatic doc generation by tripleo-collect-logs. -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - novajoin_prep - - install_novajoin - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - novajoin_prep - - install_novajoin - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate diff --git a/config/general_config/minimal.yml b/config/general_config/minimal.yml deleted file mode 100644 index b8812ad1e..000000000 --- a/config/general_config/minimal.yml +++ /dev/null @@ -1,186 +0,0 @@ -# Summary of the feature set. -# This is a basic configuration it should match fs001 as -# closely as possible with the exception of the network isolation type - -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation -# Note: any change in this featureset must also be done in featureset035. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml" -undercloud_cloud_domain: "localdomain" -undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}" - -ctlplane_masquerade: true - -undercloud_enable_routed_networks: true - -undercloud_clean_nodes: true - -baremetal_provision: >- - {% if release in ['train'] -%} - false - {%- else -%} - true - {%- endif -%} - -# Provision composable networks prior to creating the heat stack -network_provision: >- - {% if release in ['train','ussuri','victoria'] -%} - false - {%- else -%} - true - {%- endif -%} - -nic_environment_file: >- - {% if network_isolation_type == 'multiple-nics-vlans' -%} - {{ overcloud_templates_path }}/environments/net-multiple-nics-vlans.yaml - {%- else -%} - {{ overcloud_templates_path }}/environments/net-single-nic-with-vlans.yaml - {%- endif -%} - -external_interface: >- - {% if network_isolation_type == 'multiple-nics-vlans' -%} - eth{{ extra_networks|list|length + 1 }} - {%- else -%} - eth2 - {%- endif -%} - -network_data_yaml: "{{ overcloud_templates_path }}/network-data-samples/default-network-isolation.yaml" -network_isolation_args: >- - {% if not release in ['train','ussuri','victoria'] -%} - --networks-file {{ network_data_yaml }} - -e {{ working_dir }}/overcloud-networks-deployed.yaml - -e {{ working_dir }}/overcloud-vips-deployed.yaml - {% else %} - -e {{ overcloud_templates_path }}/environments/network-isolation.yaml - {% endif %} - -e {{ nic_environment_file }} - -e {{ working_dir }}/network-environment.yaml - -# Tell tripleo about our environment. -enable_pacemaker: false -network_isolation: true -network_isolation_type: "single-nic-vlans" - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default from ussuri -telemetry_args: >- - {% if release in ['train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -ephemeral_heat: "{{ (release not in ['train','ussuri','victoria']) | bool }}" -ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}" - -extra_args: >- - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% if release not in ['train'] -%} - --disable-validations - {% endif %} - {% if release not in ['train','ussuri','victoria'] -%} - --disable-protected-resource-types - {%- endif -%} - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - overcloud-prep-containers - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - - tempest-setup - -deploy_steps_ansible_workflow: true - -# Tempest configuration, keep always at the end of the file -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ - -test_ping: false - -# Settings for os_tempest -use_os_tempest: true - -# It will create a public network name 'public' using os_tempest -tempest_interface_name: public - -# In order to have a public network with external connectivity, we need to use -# flat/vlan network type -tempest_public_net_provider_type: >- - {% if network_isolation_type == 'multiple-nics-vlans' -%} - vlan - {%- else -%} - flat - {%- endif -%} - -tempest_public_net_seg_id: >- - {% if network_isolation_type == 'multiple-nics-vlans' -%} - 10 - {%- endif -%} - -# It is the physical network name through which public network will be created -# having connectivity with external world. -tempest_public_net_physical_name: datacentre - -# Setting the tempest_cidr as it is required while creating public subnet from which -# floating IPs gets assigned -tempest_cidr: >- - {% if network_isolation_type == 'multiple-nics-vlans' -%} - 10.0.0.0/24 - {%- else -%} - 192.168.24.0/24 - {%- endif -%} - -tempest_private_net_seg_id: '' - -tempest_install_method: distro - -# Having tempest_network_ping_gateway set to true allows to ping any of the IP from -# router to find out network related issue in the deployment early -tempest_network_ping_gateway: true - -# It is the python-tempestconf profile which also consumes tempest-deployer-input file -tempest_tempestconf_profile: - debug: true - create: true - deployer-input: "{{ ansible_user_dir }}/tempest-deployer-input.conf" - os-cloud: "{{ tempest_cloud_name }}" - out: "{{ tempest_workspace }}/etc/tempest.conf" - network-id: "{{ tempest_neutron_public_network_id }}" - overrides: "{{ tempest_tempest_conf_overrides | default({}) | combine(tempest_tempestconf_profile_overrides | default({}), recursive=True) }}" - -# looking for a small set of tempest tests to validate -# tempest config and execution are working -test_white_regex: 'tempest.api.compute.admin' - -tempest_test_whitelist: - - 'tempest.api.compute.admin' diff --git a/config/general_config/pacemaker.yml b/config/general_config/pacemaker.yml deleted file mode 100644 index a1a57ee10..000000000 --- a/config/general_config/pacemaker.yml +++ /dev/null @@ -1,92 +0,0 @@ -# Summary of the feature set. -# This is a basic configuration it should match fs001 as -# closely as possible with the exception of the network isolation type - -# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation -# Note: any change in this featureset must also be done in featureset035. - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true -ssl_overcloud: true -overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates -step_introspect: true - -# This enables container deployements after Pike -containerized_overcloud: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - false - {%- else -%} - true - {%- endif -%} -delete_docker_cache: true - -# Tell tripleo about our environment. -enable_pacemaker: true -network_isolation: true -network_isolation_type: "single-nic-vlans" - -# This featureset is extremely resource intensive, so we disable telemetry -# in order to reduce the overall memory footprint -# Disabled by default in ussuri -telemetry_args: >- - {% if release in ['queens', 'stein', 'train'] %} - -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml - {% endif %} - -extra_args: >- - {% if release not in ['newton', 'ocata', 'pike'] %} - -e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml - {% endif %} - -# keep the doc gen settings at the bottom of the config file. -# options below direct automatic doc generation by tripleo-collect-logs -artcl_gen_docs: true -artcl_create_docs_payload: - included_deployment_scripts: - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - included_static_docs: - - env-setup-virt - table_of_contents: - - env-setup-virt - - undercloud-install - - overcloud-custom-tht-script - - "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}" - - overcloud-prep-flavors - - overcloud-prep-images - - overcloud-prep-network - - overcloud-deploy - - overcloud-deploy-post - - overcloud-validate - -# Use the traditional ping test in newton, ocata and pike -# Run tempest in queens+ - -test_ping: >- - {% if release in ['newton', 'ocata', 'pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -test_white_regex: '' -tempest_whitelist: - - 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_network_basic_ops' - -deploy_steps_ansible_workflow: >- - {% if release not in ['newton','ocata','pike'] -%} - true - {%- else -%} - false - {%- endif -%} - -# Switch this variable to 'podman' once we run OVB jobs on CentOS8. -overcloud_container_cli: docker diff --git a/config/nodes/1ctlr.yml b/config/nodes/1ctlr.yml deleted file mode 100644 index a38735393..000000000 --- a/config/nodes/1ctlr.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Define a single controller node -overcloud_nodes: - - name: control_0 - flavor: control - default_name: overcloud-controller-0 - hostnamemap_override: "{{ hostvars[groups['overcloud'][0]].ansible_hostname }}" - -node_count: 1 - -deployed_server_overcloud_roles: - - name: Controller - hosts: "$(sed -n 1,1p /etc/nodepool/sub_nodes_private)" - -topology_map: - Compute: - scale: 0 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external diff --git a/config/nodes/1ctlr_1cellctrl_1comp.yml b/config/nodes/1ctlr_1cellctrl_1comp.yml deleted file mode 100644 index 98ec9a31e..000000000 --- a/config/nodes/1ctlr_1cellctrl_1comp.yml +++ /dev/null @@ -1,78 +0,0 @@ -# This config file is used to deploy an additional cell containing -# a cell controller and a compute - -# Define a controller node, a cell controller, and a compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: cellcontrol_0 - flavor: control - virtualbmc_port: 6231 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6232 - - -node_count: 3 - -# Tell tripleo which nodes to deploy. Compute and CellController set to -# 0 for initial overcloud deploy as they will be part of an additional -# stack for the cell -topology_map: - Compute: - scale: 0 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - CellController: - scale: 0 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - -cell_topology_map: - CellController: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet diff --git a/config/nodes/1ctlr_1comp.yml b/config/nodes/1ctlr_1comp.yml deleted file mode 100644 index 0b8ea4d27..000000000 --- a/config/nodes/1ctlr_1comp.yml +++ /dev/null @@ -1,59 +0,0 @@ -# Define a single controller node and a single compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - default_name: overcloud-controller-0 - hostnamemap_override: overcloud-controller-foo-0 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - default_name: overcloud-novacompute-0 - hostnamemap_override: overcloud-novacompute-bar-0 - -node_count: 2 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/1ctlr_1comp_1ceph.yml b/config/nodes/1ctlr_1comp_1ceph.yml deleted file mode 100644 index cace5df03..000000000 --- a/config/nodes/1ctlr_1comp_1ceph.yml +++ /dev/null @@ -1,75 +0,0 @@ -# This config file is used to deploy a dedicated node in the overcloud for ceph - -# Define a controller node, a compute node, and a ceph node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - - - name: ceph_0 - flavor: ceph - virtualbmc_port: 6232 - -node_count: 3 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - CephStorage: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - network_config: - template: templates/multiple_nics/net-multiple-nics.j2.yaml - -network_isolation: true -network_isolation_type: 'single-nic-vlans' diff --git a/config/nodes/1ctlr_1comp_1supp.yml b/config/nodes/1ctlr_1comp_1supp.yml deleted file mode 100644 index ee5f615d0..000000000 --- a/config/nodes/1ctlr_1comp_1supp.yml +++ /dev/null @@ -1,61 +0,0 @@ -# This config file is used to deploy a dedicated node on the virthost for TLS everywhere. - -# Define the controller node and compute nodes. -# Create three controller nodes and one compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - -# Define the supplmental node to be used for the FreeIPA server. -supplemental_node: - name: ipa - flavor: undercloud diff --git a/config/nodes/1ctlr_1comp_64gb.yml b/config/nodes/1ctlr_1comp_64gb.yml deleted file mode 100644 index 80df0c1a6..000000000 --- a/config/nodes/1ctlr_1comp_64gb.yml +++ /dev/null @@ -1,68 +0,0 @@ -# This will require (2*16) == 32 GB for the overcloud nodes, -# plus another 18GB for the undercloud, total 50 gb -control_memory: 16384 -compute_memory: 16384 -undercloud_memory: 18432 - -# Giving the undercloud additional CPUs can greatly improve heat's -# performance (and result in a shorter deploy time). -# UC get's 4, and 4 for each OC node --> 12 total vcpu. -# These machines are 12 core -undercloud_vcpu: 4 -default_vcpu: 4 - -# Define a single controller node and a single compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - -node_count: 2 diff --git a/config/nodes/1ctlr_1comp_mixed_os.yml b/config/nodes/1ctlr_1comp_mixed_os.yml deleted file mode 100644 index cea0e4c2d..000000000 --- a/config/nodes/1ctlr_1comp_mixed_os.yml +++ /dev/null @@ -1,30 +0,0 @@ -# Define a single controller node and a single compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - default_name: overcloud-controller-0 - hostnamemap_override: "{{ hostvars[groups['overcloud'][0]].ansible_hostname }}" - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - default_name: overcloud-compute-0 - hostnamemap_override: "{{ hostvars[groups['overcloud'][1]].ansible_hostname }}" - -node_count: 2 - -topology_map_mixed: - Controller: - scale: 1 - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 diff --git a/config/nodes/1ctlr_2comp.yml b/config/nodes/1ctlr_2comp.yml deleted file mode 100644 index c8ed4c375..000000000 --- a/config/nodes/1ctlr_2comp.yml +++ /dev/null @@ -1,64 +0,0 @@ -# Define a single controller node and two compute nodes. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - default_name: overcloud-controller-0 - hostnamemap_override: overcloud-controller-foo-0 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - default_name: overcloud-novacompute-0 - hostnamemap_override: overcloud-novacompute-bar-0 - - - name: compute_1 - flavor: compute - virtualbmc_port: 6232 - default_name: overcloud-novacompute-1 - hostnamemap_override: overcloud-novacompute-bar-1 - -node_count: 3 - -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 2 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/1ctlr_2comp_1supp.yml b/config/nodes/1ctlr_2comp_1supp.yml deleted file mode 100644 index 61c05283a..000000000 --- a/config/nodes/1ctlr_2comp_1supp.yml +++ /dev/null @@ -1,67 +0,0 @@ -# This config file is used to deploy a HA overcloud with a dedicated node on the -# virthost for TLS everywhere. - -# Define the controller node and compute nodes. -# Create three controller nodes and one compute node. -node_count: 3 - -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - - - name: compute_1 - flavor: compute - virtualbmc_port: 6232 - -# Define the supplmental node to be used for the FreeIPA server. -supplemental_node: - name: ipa - flavor: undercloud - -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 2 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/1minion.yml b/config/nodes/1minion.yml deleted file mode 100644 index 4609e7946..000000000 --- a/config/nodes/1minion.yml +++ /dev/null @@ -1,12 +0,0 @@ -# Define an undercloud minion config -overcloud_nodes: - - name: control_0 - flavor: control - default_name: undercloud-minion-0 - hostnamemap_override: "{{ hostvars[groups['overcloud'][0]].ansible_hostname }}" - -node_count: 1 - -deployed_server_overcloud_roles: - - name: UndercloudMinion - hosts: "$(sed -n 1,1p /etc/nodepool/sub_nodes_private)" diff --git a/config/nodes/2ctlr.yml b/config/nodes/2ctlr.yml deleted file mode 100644 index fe2fc6f66..000000000 --- a/config/nodes/2ctlr.yml +++ /dev/null @@ -1,47 +0,0 @@ -overcloud_nodes: - - name: control_0 - flavor: control - default_name: overcloud-controller-0 - hostnamemap_override: "{{ hostvars[groups['overcloud'][0]].ansible_hostname }}" - - name: control_1 - flavor: control - default_name: overcloud-two-controller-0 - hostnamemap_override: "{{ hostvars[groups['overcloud'][1]].ansible_hostname }}" - -node_count: 2 - -deployed_server_overcloud_roles: - - name: Controller - hosts: "$(sed -n 1,1p /etc/nodepool/sub_nodes_private)" - -topology_map: - Controller: - scale: 2 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 0 diff --git a/config/nodes/3ctlr_1comp.yml b/config/nodes/3ctlr_1comp.yml deleted file mode 100644 index fcfc89599..000000000 --- a/config/nodes/3ctlr_1comp.yml +++ /dev/null @@ -1,81 +0,0 @@ -# Deploy an HA openstack environment. -# -# This will require (6144 * 4) == approx. 24GB for the overcloud -# nodes, plus another 8GB for the undercloud, for a total of around -# 32GB. -control_memory: 6144 -compute_memory: 6144 - -undercloud_memory: 8192 - -# Giving the undercloud additional CPUs can greatly improve heat's -# performance (and result in a shorter deploy time). -undercloud_vcpu: 4 - -# Since HA has more machines, we set the cpu for controllers and -# compute nodes to 1 -default_vcpu: 1 - -node_count: 4 - -# Create three controller nodes and one compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/3ctlr_1comp_192gb.yml b/config/nodes/3ctlr_1comp_192gb.yml deleted file mode 100644 index 794621995..000000000 --- a/config/nodes/3ctlr_1comp_192gb.yml +++ /dev/null @@ -1,81 +0,0 @@ -# Deploy an HA openstack environment. -# -# This will require (32 * 4) == approx. 128 GB for the overcloud -# nodes, plus another 32GB for the undercloud, total 160 gb -control_memory: 32768 -compute_memory: 32768 -undercloud_memory: 32768 - -# Giving the undercloud additional CPUs can greatly improve heat's -# performance (and result in a shorter deploy time). -# UC get's 12, and 6 for each OC node --> 36 total vcpu. -undercloud_vcpu: 12 -default_vcpu: 6 - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true - -node_count: 4 - -# Create three controller nodes and one compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/3ctlr_1comp_1supp.yml b/config/nodes/3ctlr_1comp_1supp.yml deleted file mode 100644 index 6401b4e0f..000000000 --- a/config/nodes/3ctlr_1comp_1supp.yml +++ /dev/null @@ -1,70 +0,0 @@ -# This config file is used to deploy a HA overcloud with a dedicated node on the virthost for TLS everywhere. - -# Define the controller node and compute nodes. -# Create three controller nodes and one compute node. -node_count: 4 - -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - -# Define the supplmental node to be used for the FreeIPA server. -supplemental_node: - name: ipa - flavor: undercloud - -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/3ctlr_1comp_64gb.yml b/config/nodes/3ctlr_1comp_64gb.yml deleted file mode 100644 index f968ab0b9..000000000 --- a/config/nodes/3ctlr_1comp_64gb.yml +++ /dev/null @@ -1,82 +0,0 @@ -# Deploy an HA openstack environment. -# -# This will require (10 * 4) == approx. 40 GB for the overcloud -# nodes, plus another 18GB for the undercloud, total 58 gb -control_memory: 10240 -compute_memory: 10240 -undercloud_memory: 18432 - -# Giving the undercloud additional CPUs can greatly improve heat's -# performance (and result in a shorter deploy time). -# UC get's 4, and 2 for each OC node --> 12 total vcpu. -# These machines are 12 core, might need to back down to 1 -undercloud_vcpu: 4 -default_vcpu: 2 - -# This enables TLS for the undercloud which will also make haproxy bind to the -# configured public-vip and admin-vip. -undercloud_generate_service_certificate: true - -node_count: 4 - -# Create three controller nodes and one compute node. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/3ctlr_2comp_3ceph.yml b/config/nodes/3ctlr_2comp_3ceph.yml deleted file mode 100644 index 5dfe24457..000000000 --- a/config/nodes/3ctlr_2comp_3ceph.yml +++ /dev/null @@ -1,109 +0,0 @@ -# Deploy a big HA OpenStack environment with Ceph -# -# This will require (8192 * 3) + (4096 * 5) == approx. 48GB for the overcloud -# nodes, plus another 12GB for the undercloud, for a total of around -# 60GB. -control_memory: 8192 -compute_memory: 4096 -ceph_memory: 4096 - -undercloud_memory: 12288 - -# Giving the undercloud additional CPUs can greatly improve heat's -# performance (and result in a shorter deploy time). -# Using a total of 10 vcpus (1 is the default for overcloud nodes) -undercloud_vcpu: 4 - -# Since HA has more machines, we can set the cpu for controllers and -# compute nodes to 1 -default_vcpu: 1 - -# Create three controller, two computes and three ceph nodes. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - - - name: compute_1 - flavor: compute - virtualbmc_port: 6234 - - - name: ceph_0 - flavor: ceph - virtualbmc_port: 6235 - - - name: ceph_1 - flavor: ceph - virtualbmc_port: 6236 - - - name: ceph_2 - flavor: ceph - virtualbmc_port: 6237 - -node_count: 8 - -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 2 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - CephStorage: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - network_config: - template: templates/multiple_nics/net-multiple-nics.j2.yaml diff --git a/config/nodes/3ctlr_3comp.yml b/config/nodes/3ctlr_3comp.yml deleted file mode 100644 index 4a5ae1386..000000000 --- a/config/nodes/3ctlr_3comp.yml +++ /dev/null @@ -1,91 +0,0 @@ -# Deploy a big HA OpenStack environment -# -# This will require (8192 * 6) == approx. 48GB for the overcloud -# nodes, plus another 12GB for the undercloud, for a total of around -# 60GB. -control_memory: 8192 -compute_memory: 8192 - -undercloud_memory: 12288 - -# Giving the undercloud additional CPUs can greatly improve heat's -# performance (and result in a shorter deploy time). -# Using a total of 10 vcpus (1 is the default for overcloud nodes) -undercloud_vcpu: 4 - -# Since HA has more machines, doesn't we can set the cpu for controllers and -# compute nodes to 1 -default_vcpu: 1 - -# Create three controller nodes and three compute nodes. -overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - - - name: compute_1 - flavor: compute - virtualbmc_port: 6234 - - - name: compute_2 - flavor: compute - virtualbmc_port: 6235 - -node_count: 6 - -network_isolation: true -network_isolation_type: 'single-nic-vlans' -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/baremetal.yml b/config/nodes/baremetal.yml deleted file mode 100644 index 851a74bb4..000000000 --- a/config/nodes/baremetal.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Define a node configuration suitable for baremetal. - -# Baremetal deployments are unique with respect to the known preexisting -# static network addresses and hardware configuration. Baremetal environments -# must be configured via a separate process [1] - -# No virtual machine will be created and the topology is expected -# to be defined properly somewhere else. - -# Please review -# [1] https://images.rdoproject.org/docs/baremetal/environment-settings-structure.html -# [2] https://docs.openstack.org/tripleo-quickstart/latest/node-configuration.html - -# Essentially ensuring no libvirt guests are provisioned -# by setting overcloud_nodes to null -overcloud_nodes: diff --git a/config/nodes/baremetal_1ctlr_1comp.yml b/config/nodes/baremetal_1ctlr_1comp.yml deleted file mode 100644 index c022cd071..000000000 --- a/config/nodes/baremetal_1ctlr_1comp.yml +++ /dev/null @@ -1,46 +0,0 @@ -# Overcloud nodes are defined in hardware-specific files. -overcloud_nodes: - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/baremetal_3ctlr_1comp.yml b/config/nodes/baremetal_3ctlr_1comp.yml deleted file mode 100644 index 9605013db..000000000 --- a/config/nodes/baremetal_3ctlr_1comp.yml +++ /dev/null @@ -1,49 +0,0 @@ -# Deploy an HA openstack environment. - -# Three controller nodes and one compute node are defined -# hardware-specific files -overcloud_nodes: - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 1 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/nodes/baremetal_3ctlr_2comp.yml b/config/nodes/baremetal_3ctlr_2comp.yml deleted file mode 100644 index c1f1ca876..000000000 --- a/config/nodes/baremetal_3ctlr_2comp.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Deploy an HA openstack environment. - -# Three controller nodes and one compute node are defined -# hardware-specific files -overcloud_nodes: - -node_count: 5 - -# Tell tripleo which nodes to deploy. -topology_map: - Controller: - scale: 3 - networks: - - network: ctlplane - vif: true - - network: external - subnet: external_subnet - - network: internal_api - subnet: internal_api_subnet - - network: storage - subnet: storage_subnet - - network: storage_mgmt - subnet: storage_mgmt_subnet - - network: tenant - subnet: tenant_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 - default_route_network: - - external - # grow /srv to 50% of remaining disk space to store swift object content - growvols_args: > - /=8GB - /tmp=1GB - /var/log=10GB - /var/log/audit=2GB - /home=1GB - /var=50% - /srv=50% - Compute: - scale: 2 - networks: - - network: ctlplane - vif: true - - network: internal_api - subnet: internal_api_subnet - - network: tenant - subnet: tenant_subnet - - network: storage - subnet: storage_subnet - network_config: - template: templates/multiple_nics/multiple_nics_dvr.j2 diff --git a/config/release/centosci/CentOS-8/train-current-tripleo.yml b/config/release/centosci/CentOS-8/train-current-tripleo.yml deleted file mode 100644 index ab83693c2..000000000 --- a/config/release/centosci/CentOS-8/train-current-tripleo.yml +++ /dev/null @@ -1,79 +0,0 @@ -release: train -distro_ver: centos8 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" - -image_location: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}" -overcloud_image_url: "{{ image_location }}/overcloud-full.tar" -ipa_image_url: "{{ image_location }}/ironic-python-agent.tar" - -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleotraincentos8 - -overcloud_as_undercloud: true -update_images: true -whole_disk_images: false -libvirt_boot_mode: bios -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - sudo dnf repolist; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/centosci/CentOS-8/ussuri-current-tripleo.yml b/config/release/centosci/CentOS-8/ussuri-current-tripleo.yml deleted file mode 100644 index a5fdaecfc..000000000 --- a/config/release/centosci/CentOS-8/ussuri-current-tripleo.yml +++ /dev/null @@ -1,88 +0,0 @@ -release: ussuri -distro_ver: centos8 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -# note.. namespace tripleoussuri has been -# squatted on by another owner -# for ussuri release please use 'tripleou' -# instead of 'tripleoussuri' -# docker_registry_namespace: "tripleou" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" - -image_location: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}" -overcloud_image_url: "{{ image_location }}/overcloud-full.tar" -ipa_image_url: "{{ image_location }}/ironic-python-agent.tar" - -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" - -overcloud_as_undercloud: true -update_images: true -whole_disk_images: true -libvirt_boot_mode: bios -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - # centos-release-ceph-nautilus rpm do not exist yet - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/centosci/CentOS-8/victoria-current-tripleo.yml b/config/release/centosci/CentOS-8/victoria-current-tripleo.yml deleted file mode 100644 index 138008da0..000000000 --- a/config/release/centosci/CentOS-8/victoria-current-tripleo.yml +++ /dev/null @@ -1,83 +0,0 @@ -release: victoria -distro_ver: centos8 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" - -image_location: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}" -overcloud_image_url: "{{ image_location }}/overcloud-full.tar" -ipa_image_url: "{{ image_location }}/ironic-python-agent.tar" - -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" - -overcloud_as_undercloud: true -update_images: true -whole_disk_images: false -libvirt_boot_mode: bios -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - # centos-release-ceph-nautilus rpm do not exist yet - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/centosci/CentOS-8/wallaby-current-tripleo.yml b/config/release/centosci/CentOS-8/wallaby-current-tripleo.yml deleted file mode 100644 index d635c4950..000000000 --- a/config/release/centosci/CentOS-8/wallaby-current-tripleo.yml +++ /dev/null @@ -1,87 +0,0 @@ -release: wallaby -distro_ver: centos8 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" - -image_location: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}" -overcloud_image_url: "{{ image_location }}/overcloud-full.tar" -ipa_image_url: "{{ image_location }}/ironic-python-agent.tar" - -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleowallabycentos8 - -overcloud_as_undercloud: true -update_images: true -whole_disk_images: false -libvirt_boot_mode: bios -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - exclude: - - libvirt* - - python*libvirt* - - qemu* - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - # centos-release-ceph-nautilus rpm do not exist yet - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/centosci/CentOS-9/master-current-tripleo.yml b/config/release/centosci/CentOS-9/master-current-tripleo.yml deleted file mode 100644 index 0ad6cc8a8..000000000 --- a/config/release/centosci/CentOS-9/master-current-tripleo.yml +++ /dev/null @@ -1,86 +0,0 @@ -release: master -distro_ver: centos9 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" - -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleomastercentos9 - -overcloud_as_undercloud: true -whole_disk_images: true -update_images: true - -libvirt_session_socket: virtqemud-sock - -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/{{ overcloud_image }}.{{ overcloud_image_type }}" - -# overcloud-hardened-uefi full can't currently be used as undercloud base -undercloud_base_image: overcloud-full -undercloud_base_image_type: tar -undercloud_base_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/{{ undercloud_base_image }}.{{ undercloud_base_image_type }}" - -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: "{{ undercloud_base_image }}" - url: "{{ undercloud_base_image_url }}" - type: "{{ undercloud_base_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: http://mirror.stream.centos.org/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.stream.centos.org/9-stream/HighAvailability/x86_64/os/ - - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/centosci/CentOS-9/wallaby-current-tripleo.yml b/config/release/centosci/CentOS-9/wallaby-current-tripleo.yml deleted file mode 100644 index 85d78a590..000000000 --- a/config/release/centosci/CentOS-9/wallaby-current-tripleo.yml +++ /dev/null @@ -1,86 +0,0 @@ -release: wallaby -distro_ver: centos9 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" - -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleowallabycentos9 - -overcloud_as_undercloud: true -whole_disk_images: true -update_images: true - -libvirt_session_socket: virtqemud-sock - -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/{{ overcloud_image }}.{{ overcloud_image_type }}" - -# overcloud-hardened-uefi full can't currently be used as undercloud base -undercloud_base_image: overcloud-full -undercloud_base_image_type: tar -undercloud_base_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/{{ undercloud_base_image }}.{{ undercloud_base_image_type }}" - -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: "{{ undercloud_base_image }}" - url: "{{ undercloud_base_image_url }}" - type: "{{ undercloud_base_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: http://mirror.stream.centos.org/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.stream.centos.org/9-stream/HighAvailability/x86_64/os/ - - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/centosci/master.yml b/config/release/centosci/master.yml deleted file mode 120000 index d20a7550e..000000000 --- a/config/release/centosci/master.yml +++ /dev/null @@ -1 +0,0 @@ -../trunk/master.yml \ No newline at end of file diff --git a/config/release/dependency_ci/centos-compose/repo_config.yaml b/config/release/dependency_ci/centos-compose/repo_config.yaml deleted file mode 100644 index 0be08bb0e..000000000 --- a/config/release/dependency_ci/centos-compose/repo_config.yaml +++ /dev/null @@ -1,57 +0,0 @@ ---- -# Try to setup repos using yum-config module if available -use_yum_config_module: true -default_compose_url: >- - {%- if (ansible_distribution_major_version is version('8','==')) -%} - https://composes.centos.org/latest-CentOS-Stream-8/compose/ - {%- else -%} - https://odcs.stream.centos.org/production/latest-CentOS-Stream/compose/ - {%- endif -%} -compose_url: >- - {{ - centos_compose_url | - default(job.centos_compose_url) | - default(default_compose_url) - }} -compose_repo_variants: - common: - - AppStream - - BaseOS - - HighAvailability - centos_stream_8: - - PowerTools - centos_stream_9: - - CRB - -compose_repo_variants_list: "{{ - compose_repo_variants['common'] + - compose_repo_variants['centos_stream_' + - ansible_distribution_major_version] -}}" - -compose_repo_disable_repos: - common: - - quickstart-centos-appstreams.repo - - quickstart-centos-base.repo - - quickstart-centos-highavailability.repo - centos_stream_8: - - quickstart-centos-powertools.repo - centos_stream_9: - - quickstart-centos-crb.repo - -compose_repo_disable_repos_list: "{{ - compose_repo_disable_repos['common'] + - compose_repo_disable_repos['centos_stream_' + - ansible_distribution_major_version] -}}" - -# remove '.repo' to get a dependency_override_repos list -dependency_override_repos: "{{ compose_repo_disable_repos_list | map('regex_replace', '.repo$', '') | list }}" - -add_repos: - - type: compose_repos - compose_url: "{{ compose_url }}" - release: centos-stream-{{ ansible_distribution_major_version }} - disable_conflicting: true - variants: "{{ compose_repo_variants_list }}" - disable_repos: "{{ compose_repo_disable_repos_list }}" diff --git a/config/release/dependency_ci/centos8stream/repo_config.yaml b/config/release/dependency_ci/centos8stream/repo_config.yaml deleted file mode 100644 index 4407082db..000000000 --- a/config/release/dependency_ci/centos8stream/repo_config.yaml +++ /dev/null @@ -1,61 +0,0 @@ ---- -add_repos: - - type: generic - reponame: quickstart-centos-centos8stream-base - filename: "quickstart-centos-centos8stream-base-dependency.repo" - baseurl: "http://mirror.den01.meanservers.net/centos/8-stream/BaseOS/x86_64/os/" - update_container: false - - type: generic - reponame: quickstart-centos-centos8stream-appstreams - filename: "quickstart-centos-centos8stream-appstreams-dependency.repo" - baseurl: "http://mirror.den01.meanservers.net/centos/8-stream/AppStream/x86_64/os/" - update_container: false - - type: generic - reponame: quickstart-centos-centos8stream-powertools - filename: "quickstart-centos-centos8stream-powertools-dependency.repo" - baseurl: "http://mirror.den01.meanservers.net/centos/8-stream/PowerTools/x86_64/os/" - update_container: false - - type: generic - reponame: quickstart-centos-centos8stream-highavailability - filename: "quickstart-centos-centos8stream-highavailability-dependency.repo" - baseurl: "http://mirror.den01.meanservers.net/centos/8-stream/HighAvailability/x86_64/os/" - update_container: false - - type: generic - reponame: quickstart-centos-centos8stream-extras - filename: "quickstart-centos-centos8stream-extras-dependency.repo" - baseurl: "http://mirror.den01.meanservers.net/centos/8-stream/extras/x86_64/os/" - update_container: false - - type: generic - reponame: quickstart-centos-centos8stream-cr - filename: "quickstart-centos-centos8stream-cr-dependency.repo" - baseurl: "http://mirror.den01.meanservers.net/centos/8-stream/cr/x86_64/os/" - update_container: false -dependency_override_repos: - - quickstart-centos-base - - quickstart-centos-appstreams - - quickstart-centos-powertools - - quickstart-centos-highavailability - - quickstart-centos-extras -base_os_repos: - - CentOS-Stream-BaseOS - - CentOS-Stream-AppStream - - CentOS-Stream-PowerTools - - CentOS-Stream-HighAvailability - - CentOS-Stream-Extras -dep_repo_cmd_after: | - {% if dependency_override_repos is defined %} - {% for item in dependency_override_repos %} - sudo sed -i -e "s|enabled=1|enabled=0|g" /etc/yum.repos.d/{{ item }}.repo; - {% endfor %} - {% endif %} - {% if base_os_repos is defined %} - {% for item in base_os_repos %} - sudo sed -i -e "s|enabled=1|enabled=0|g" /etc/yum.repos.d/{{ item }}.repo; - {% endfor %} - {% endif %} - # enable conatiner tools rhel8 - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata; - sudo dnf clean all; - sudo dnf update -y; diff --git a/config/release/dependency_ci/container-tools/repo_config.yaml b/config/release/dependency_ci/container-tools/repo_config.yaml deleted file mode 100644 index fc84e0a4a..000000000 --- a/config/release/dependency_ci/container-tools/repo_config.yaml +++ /dev/null @@ -1,21 +0,0 @@ ---- -# For testing container-tools on centos-8-stream, -# we need to enable container-tools rhel8 module -# and disable container-tools 2.0 module. -# It will fetch latest podman and buildah - -dependency_modules: - - module_name: container-tools - control_version: 2.0 - test_version: 3.0 - -dep_repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - {% for item in dependency_modules %} - sudo dnf module disable {{ item.module_name }}:{{ item.control_version }} -y; - sudo dnf module enable {{ item.module_name }}:{{ item.test_version }} -y; - {% endfor %} - sudo dnf clean metadata - sudo dnf clean all; - sudo dnf update -y; diff --git a/config/release/dependency_ci/openstacksdk/repo_config.yaml b/config/release/dependency_ci/openstacksdk/repo_config.yaml deleted file mode 100644 index 23c53c9c9..000000000 --- a/config/release/dependency_ci/openstacksdk/repo_config.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -add_repos: - - type: generic - reponame: openstacksdk-latest - filename: "openstacksdk-latest.repo" - baseurl: https://images.rdoproject.org/openstacksdk/latest/ - priority: 1 - update_container: false - -dep_repo_cmd_after: | - sudo dnf install --best -y python3-openstacksdk diff --git a/config/release/dependency_ci/openvswitch/repo_config.yaml b/config/release/dependency_ci/openvswitch/repo_config.yaml deleted file mode 100644 index dadd4fcdc..000000000 --- a/config/release/dependency_ci/openvswitch/repo_config.yaml +++ /dev/null @@ -1,18 +0,0 @@ ---- -add_repos: - - type: generic - reponame: openvswitch-next - filename: "openvswitch-next.repo" - baseurl: "https://buildlogs.centos.org/centos/8-stream/nfv/x86_64/openvswitch-2/" - update_container: false -dependency_override_repos: - - centos-nfv-ovs,http://mirror.centos.org/centos/8-stream/nfv/x86_64/openvswitch-2/ -dep_repo_cmd_after: | - {% if dependency_override_repos is defined %} - {% for item in dependency_override_repos %} - sudo dnf config-manager --set-disabled {{ item.split(',')[0] }} - {% endfor %} - sudo dnf clean metadata; - sudo dnf clean all; - sudo dnf update -y; - {% endif %} diff --git a/config/release/master-tripleo-ci.yml b/config/release/master-tripleo-ci.yml deleted file mode 120000 index 0b1a93921..000000000 --- a/config/release/master-tripleo-ci.yml +++ /dev/null @@ -1 +0,0 @@ -tripleo-ci/CentOS-9/master.yml \ No newline at end of file diff --git a/config/release/master.yml b/config/release/master.yml deleted file mode 120000 index e36a83a61..000000000 --- a/config/release/master.yml +++ /dev/null @@ -1 +0,0 @@ -trunk/master.yml \ No newline at end of file diff --git a/config/release/rhos-11-rhn-baseos-undercloud.yml.example b/config/release/rhos-11-rhn-baseos-undercloud.yml.example deleted file mode 100644 index 28b71564b..000000000 --- a/config/release/rhos-11-rhn-baseos-undercloud.yml.example +++ /dev/null @@ -1,39 +0,0 @@ -# Note: Some of the values in this config are missing as they are private credentails or subscription -# manager hashes. This is to be used by humans only, not by CI. - -release: ocata -osp_release: rhos-11 - -undercloud_image_url: http://uri to a RHEL 7.3. qcow2 file -overcloud_image_url: file:///usr/share/rhosp-director-images/overcloud-full.tar -ipa_image_url: file:///usr/share/rhosp-director-images/ironic-python-agent.tar - -use_rhsm: true -rhsm_username: -rhsm_password: -pool_id: -rhel_version_number: 7 -osp_release_version_number: 11 -rhceph_version_number: 1.3 - -repo_cmd_before: | - subscription-manager remove --all || true - subscription-manager unregister || true - rm -Rf /etc/yum.repos.d/*.repo -repo_cmd_after: | - rm -Rf /etc/yum.repos.d/delorean* - yum repolist - yum clean all - yum -y remove rhosp-director-images.noarch - yum -y install rhosp-director-images.noarch - md5sum /usr/share/rhosp-director-images/overcloud-full.tar > /usr/share/rhosp-director-images/overcloud-full.tar.md5 - md5sum /usr/share/rhosp-director-images/ironic-python-agent.tar > /usr/share/rhosp-director-images/ironic-python-agent.tar.md5 - -rhsm_repos: - - name: rhel-{{ rhel_version_number }}-server-rpms - - name: rhel-{{ rhel_version_number }}-server-extras-rpms - - name: rhel-{{ rhel_version_number }}-server-rh-common-rpms - - name: rhel-ha-for-rhel-{{ rhel_version_number }}-server-rpms - - name: rhel-{{ rhel_version_number }}-server-openstack-{{ osp_release_version_number }}-rpms - - name: rhel-{{ rhel_version_number }}-server-rhceph-{{ rhceph_version_number }}-osd-rpms - - name: rhel-{{ rhel_version_number }}-server-rhceph-{{ rhceph_version_number }}-mon-rpms diff --git a/config/release/train.yml b/config/release/train.yml deleted file mode 120000 index 3b9db7c6c..000000000 --- a/config/release/train.yml +++ /dev/null @@ -1 +0,0 @@ -trunk/train.yml \ No newline at end of file diff --git a/config/release/tripleo-ci/CentOS-8/cloudsig/ussuri.yml b/config/release/tripleo-ci/CentOS-8/cloudsig/ussuri.yml deleted file mode 100644 index 2662acaaa..000000000 --- a/config/release/tripleo-ci/CentOS-8/cloudsig/ussuri.yml +++ /dev/null @@ -1,132 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -docker_registry_host: "{{ push_registry | default('127.0.0.1:8787') }}" -standalone_container_prep_updates: false - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: ussuri -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:2.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/cloudsig/victoria.yml b/config/release/tripleo-ci/CentOS-8/cloudsig/victoria.yml deleted file mode 100644 index 69fffc144..000000000 --- a/config/release/tripleo-ci/CentOS-8/cloudsig/victoria.yml +++ /dev/null @@ -1,136 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -docker_registry_host: "{{ push_registry | default('127.0.0.1:8787') }}" -standalone_container_prep_updates: false - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: victoria -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - - type: package - pkg_name: "centos-release-opstools" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:2.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/cloudsig/wallaby.yml b/config/release/tripleo-ci/CentOS-8/cloudsig/wallaby.yml deleted file mode 100644 index 1464583b0..000000000 --- a/config/release/tripleo-ci/CentOS-8/cloudsig/wallaby.yml +++ /dev/null @@ -1,146 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -docker_registry_host: "{{ push_registry | default('127.0.0.1:8787') }}" -standalone_container_prep_updates: false - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: wallaby -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - -# Try to setup repos using yum-config module if available -use_yum_config_module: true -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - - type: package - pkg_name: "centos-release-opstools" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - exclude: - - libvirt* - - python*libvirt* - - qemu* - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-pacific - filename: quickstart-centos-ceph-pacific.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-pacific - -repo_cmd_after: | - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/cloudsig/xena.yml b/config/release/tripleo-ci/CentOS-8/cloudsig/xena.yml deleted file mode 100644 index 154984a5f..000000000 --- a/config/release/tripleo-ci/CentOS-8/cloudsig/xena.yml +++ /dev/null @@ -1,136 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -docker_registry_host: "{{ push_registry | default('127.0.0.1:8787') }}" -standalone_container_prep_updates: false - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: xena -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo-rdo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo-rdo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - - type: package - pkg_name: "centos-release-opstools" - custom_cmd: 'sudo dnf install -y --enablerepo=extras' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-pacific - filename: quickstart-centos-ceph-pacific.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-pacific - -repo_cmd_after: | - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/cloudsig/yoga.yml b/config/release/tripleo-ci/CentOS-8/cloudsig/yoga.yml deleted file mode 100644 index 83abf50f2..000000000 --- a/config/release/tripleo-ci/CentOS-8/cloudsig/yoga.yml +++ /dev/null @@ -1,143 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- endif -%} -standalone_container_prep_updates: false - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: yoga -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo-rdo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo-rdo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras --enablerepo=extras-common' - - - type: package - pkg_name: "centos-release-opstools" - custom_cmd: 'sudo dnf install -y --enablerepo=extras --enablerepo=extras-common' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-pacific - filename: quickstart-centos-ceph-pacific.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-pacific - -repo_cmd_after: | - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-master.yml b/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-master.yml deleted file mode 100644 index e974bfa18..000000000 --- a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-master.yml +++ /dev/null @@ -1,221 +0,0 @@ -# name and tags -devmode: true -release: master -distro_ver: centos8 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: tripleomaster -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # ATM current is not used in promotion jobs, this is a bug. - # However for consistency w/ what is merged. removing - # See config/release/tripleo-ci/CentOS-7/promotion-testing-hash-master.yml#L48-L64 - # "https://trunk.rdoproject.org/centos8-master/component/tripleo/current/delorean.repo" - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-master-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - exclude: - - libvirt* - - python*libvirt* - - qemu* - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-pacific - filename: quickstart-centos-ceph-pacific.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-pacific - exclude: - - ansible* - -repo_cmd_after: | - - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-master-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-master-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -## was https://images.rdoproject.org/base/centos7/CentOS-7-x86_64-GenericCloud-1901.qcow2 - 8 doesn't exit yet -base_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-train.yml b/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-train.yml deleted file mode 100644 index 9bec10f12..000000000 --- a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-train.yml +++ /dev/null @@ -1,220 +0,0 @@ -# name and tags -devmode: true -release: train -distro_ver: centos8 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleotraincentos8 -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # ATM current is not used in promotion jobs, this is a bug. - # However for consistency w/ what is merged. removing - # See config/release/tripleo-ci/CentOS-7/promotion-testing-hash-master.yml#L48-L64 - # "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/component/tripleo/current/delorean.repo" - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-mistral - - puppet-openstacklib - - puppet-swift - - puppet-tripleo - - puppet-zaqar - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - # NOTE: https://bugs.launchpad.net/tripleo/+bug/2033644 - exclude: - - iptables-1.8.5* - - iptables-libs-1.8.5* - - iptables-services-1.8.5* - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - # Note(pdeore): Exclude container-selinux-2:2.189.0-1.module_el8.7.0* - # due to https://bugs.launchpad.net/tripleo/+bug/1990810 - exclude: - - container-selinux-2:2.189.0-1.module_el8.7.0+1217+ea57d1f1 - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - - - - type: generic - reponame: quickstart-centos-cr - filename: quickstart-centos-cr.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8/cr/x86_64/ - enabled: 0 - -repo_cmd_after: | - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - {% if enable_centos_cr_repo|default(false)|bool %} - dnf config-manager --set-enabled quickstart-centos-cr - {% endif %} - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - # Downgrade container-selinux due to - # https://bugs.launchpad.net/tripleo/+bug/1990810 - if [ -n "$(rpm -qa container-selinux)" ];then sudo dnf -y downgrade container-selinux-2.167.0-1.module_el8.6.0+1107+d59a301b.noarch; fi - # NOTE(dviroel): Downgrade iptables. More info on: - # https://bugs.launchpad.net/tripleo/+bug/2015309 - if [ -n "$(rpm -qa iptables)" ];then sudo dnf -y downgrade iptables-1.8.4-24.el8; fi - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -## was https://images.rdoproject.org/base/centos7/CentOS-7-x86_64-GenericCloud-1901.qcow2 - 8 doesn't exit yet -base_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "3e365183c0777b8b5370fef7e1f5419a CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-ussuri.yml b/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-ussuri.yml deleted file mode 100644 index 472f7c8e3..000000000 --- a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-ussuri.yml +++ /dev/null @@ -1,216 +0,0 @@ -# name and tags -devmode: true -release: ussuri -distro_ver: centos8 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # ATM current is not used in promotion jobs, this is a bug. - # However for consistency w/ what is merged. removing - # See config/release/tripleo-ci/CentOS-7/promotion-testing-hash-master.yml#L48-L64 - # "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/component/tripleo/current/delorean.repo" - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-mistral - - puppet-openstacklib - - puppet-swift - - puppet-tripleo - - puppet-zaqar - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - - -repo_cmd_after: | - - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - - # Make sure ovs-ofctl exist on the nodes - # then print the openvswitch version - if command -v ovs-ofctl >/dev/null; then - sudo ovs-ofctl --version; - fi - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - - # https://bugs.launchpad.net/tripleo/+bug/1940844 - # repo_setup_run_update is false for upgrades, to allow - # upgrade role to handle. Only upgrade openvswitch - # and restart openvswitch - # IF the upgrade repo-setup is executing, then - # update and restart openvswitch - {% if repo_setup_script == "repo_setup_upgrade.sh" %} - sudo dnf -y upgrade openvswitch - sudo systemctl restart openvswitch - sudo ovs-ofctl --version - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -## was https://images.rdoproject.org/base/centos7/CentOS-7-x86_64-GenericCloud-1901.qcow2 - 8 doesn't exit yet -base_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "3e365183c0777b8b5370fef7e1f5419a CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-victoria.yml b/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-victoria.yml deleted file mode 100644 index 5fe388fa4..000000000 --- a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-victoria.yml +++ /dev/null @@ -1,191 +0,0 @@ -# name and tags -devmode: true -release: victoria -distro_ver: centos8 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -## was https://images.rdoproject.org/base/centos7/CentOS-7-x86_64-GenericCloud-1901.qcow2 - 8 doesn't exit yet -base_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "3e365183c0777b8b5370fef7e1f5419a CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-wallaby.yml b/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-wallaby.yml deleted file mode 100644 index b8c879fc4..000000000 --- a/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-wallaby.yml +++ /dev/null @@ -1,223 +0,0 @@ -# name and tags -devmode: true -release: wallaby -distro_ver: centos8 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleowallabycentos8 -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing - -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -# Try to setup repos using yum-config module if available -# TODO (rlandy): re-enable this later -use_yum_config_module: false -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - # Note(chandankumar): Exclude container-selinux-2:2.189.0-1.module_el8.7.0* - # due to https://bugs.launchpad.net/tripleo/+bug/1990810 - exclude: - - container-selinux-2:2.189.0-1.module_el8.7.0+1217+ea57d1f1 - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-pacific - filename: quickstart-centos-ceph-pacific.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-pacific - exclude: - - ansible* - -repo_cmd_after: | - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - # Downgrade container-selinux due to - # https://bugs.launchpad.net/tripleo/+bug/1990810 - if [ -n "$(rpm -qa container-selinux)" ];then sudo dnf -y downgrade container-selinux-2.167.0-1.module_el8.6.0+1107+d59a301b.noarch; fi - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -## was https://images.rdoproject.org/base/centos7/CentOS-7-x86_64-GenericCloud-1901.qcow2 - 8 doesn't exit yet -base_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/train.yml b/config/release/tripleo-ci/CentOS-8/train.yml deleted file mode 100644 index fd5f5079e..000000000 --- a/config/release/tripleo-ci/CentOS-8/train.yml +++ /dev/null @@ -1,236 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: train -distro_ver: centos8 -dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}" -dlrn_hash_tag_newest: current -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} -docker_registry_namespace: tripleotraincentos8 -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -promote_source: current-tripleo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -overcloud_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-mistral - - puppet-openstacklib - - puppet-swift - - puppet-tripleo - - puppet-zaqar - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - # NOTE: https://bugs.launchpad.net/tripleo/+bug/2033644 - exclude: - - iptables-1.8.5* - - iptables-libs-1.8.5* - - iptables-services-1.8.5* - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - # Note(pdeore): Exclude container-selinux-2:2.189.0-1.module_el8.7.0* - # due to https://bugs.launchpad.net/tripleo/+bug/1990810 - exclude: - - container-selinux-2:2.189.0-1.module_el8.7.0+1217+ea57d1f1 - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - - - type: generic - reponame: quickstart-centos-cr - filename: quickstart-centos-cr.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8/cr/x86_64/ - enabled: 0 - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - {% if enable_centos_cr_repo|default(false)|bool %} - dnf config-manager --set-enabled quickstart-centos-cr - {% endif %} - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - # Downgrade container-selinux due to - # https://bugs.launchpad.net/tripleo/+bug/1990810 - if [ -n "$(rpm -qa container-selinux)" ];then sudo dnf -y downgrade container-selinux-2.167.0-1.module_el8.6.0+1107+d59a301b.noarch; fi - # NOTE(dviroel): Downgrade iptables. More info on: - # https://bugs.launchpad.net/tripleo/+bug/2015309 - if [ -n "$(rpm -qa iptables)" ];then sudo dnf -y downgrade iptables-1.8.4-24.el8; fi - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -## was https://images.rdoproject.org/base/centos7/CentOS-7-x86_64-GenericCloud-1901.qcow2 - 8 doesn't exit yet -base_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "3e365183c0777b8b5370fef7e1f5419a CentOS-Stream-GenericCloud-8-20200113.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/ussuri.yml b/config/release/tripleo-ci/CentOS-8/ussuri.yml deleted file mode 100644 index e2ef4a7a5..000000000 --- a/config/release/tripleo-ci/CentOS-8/ussuri.yml +++ /dev/null @@ -1,244 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: ussuri -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}" -dlrn_hash_tag_newest: current -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif cloudenv is defined and cloudenv in ['rdo', 'vexxhost', 'psi'] -%} - trunk.registry.rdoproject.org - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} -# note.. namespace tripleoussuri has been -# squatted on by another owner -# for ussuri release please use 'tripleou' -# instead of 'tripleoussuri' -# for rdo-cloud & vexxhost based check jobs, set 'tripleoussuri' -# as docker_registry_namespace. -docker_registry_namespace: >- - {% if job is defined and - job.alt_container_registry_namespace is defined -%} - {{ job.alt_container_registry_namespace }} - {% elif cloudenv is defined and cloudenv in ['rdo', 'vexxhost', 'psi'] -%} - tripleoussuri - {%- else -%} - tripleou - {%- endif -%} -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo -validate_on: rdo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - # RDO repos - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-mistral - - puppet-openstacklib - - puppet-swift - - puppet-tripleo - - puppet-zaqar - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - - # Make sure ovs-ofctl exist on the nodes - # then print the openvswitch version - if command -v ovs-ofctl >/dev/null; then - sudo ovs-ofctl --version; - fi - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - - # https://bugs.launchpad.net/tripleo/+bug/1940844 - # repo_setup_run_update is false for upgrades, to allow - # upgrade role to handle. Only upgrade openvswitch - # and restart openvswitch - # IF the upgrade repo-setup is executing, then - # update and restart openvswitch - {% if repo_setup_script == "repo_setup_upgrade.sh" %} - sudo dnf -y upgrade openvswitch - sudo systemctl restart openvswitch - sudo ovs-ofctl --version - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/victoria.yml b/config/release/tripleo-ci/CentOS-8/victoria.yml deleted file mode 100644 index 185035c8c..000000000 --- a/config/release/tripleo-ci/CentOS-8/victoria.yml +++ /dev/null @@ -1,214 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: victoria -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}" -dlrn_hash_tag_newest: current -validate_on: rdo - -# job.build_container_images is defined in zuul as a -# direct var. adding build_container_images as tqe -# var so that we can turn this on/off per release w/o -# changing zuul and breaking jobs via inheritance. -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo - -# images -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} -repos: - # RDO repos - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-nautilus/ - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:3.0 -y; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-8/wallaby.yml b/config/release/tripleo-ci/CentOS-8/wallaby.yml deleted file mode 100644 index 89513d983..000000000 --- a/config/release/tripleo-ci/CentOS-8/wallaby.yml +++ /dev/null @@ -1,262 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: wallaby -distro_ver: centos8 -distro_deps_repo_name: deps -dlrn_hash_tag: >- - {% if registry_distro is defined and - registry_distro | default('') | length > 0 and - job.provider_dlrn_hash_distro is defined -%} - {{ job.provider_dlrn_hash_distro[registry_distro] }} - {%- else -%} - {{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }} - {%- endif -%} -dlrn_hash_tag_newest: current -validate_on: rdo - -# job.build_container_images is defined in zuul as a -# direct var. adding build_container_images as tqe -# var so that we can turn this on/off per release w/o -# changing zuul and breaking jobs via inheritance. -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {%- if registry_distro is defined and - registry_distro | default('') | length > 0 -%} - {{ job.registry_ip_address_distro[registry_distro] }}:5001 - {%- else -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- endif -%} - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} -docker_registry_namespace: >- - {%- if docker_registry_host == 'quay.rdoproject.org' -%} - tripleowallabycentos8 - {%- else -%} - tripleo{{ release }} - {%- endif -%} -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_dlrn_deps_opstools: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -# Try to setup repos using yum-config module if available -# TODO (rlandy) re-enable this later -use_yum_config_module: false -repos: - # RDO repos - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-{{ release }}-deps.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/AppStream/x86_64/os/ - # Note(chandankumar): Exclude container-selinux-2:2.189.0-1.module_el8.7.0* - # due to https://bugs.launchpad.net/tripleo/+bug/1990810 - exclude: - - container-selinux-2:2.189.0-1.module_el8.7.0+1217+ea57d1f1 - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-pacific - filename: quickstart-centos-ceph-pacific.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/storage/x86_64/ceph-pacific - exclude: - - ansible* - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - sudo sed -i -e "s|http://mirror.centos.org/centos|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-{{ release }}-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_dlrn_deps_opstools|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/8-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - # Downgrade container-selinux due to - # https://bugs.launchpad.net/tripleo/+bug/1990810 - if [ -n "$(rpm -qa container-selinux)" ];then sudo dnf -y downgrade container-selinux-2.167.0-1.module_el8.6.0+1107+d59a301b.noarch; fi - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-9/cloudsig/yoga.yml b/config/release/tripleo-ci/CentOS-9/cloudsig/yoga.yml deleted file mode 100644 index 62f4486db..000000000 --- a/config/release/tripleo-ci/CentOS-9/cloudsig/yoga.yml +++ /dev/null @@ -1,142 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -standalone_container_prep_updates: false - -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: yoga -distro_ver: centos9 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo-rdo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo-rdo -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_cs9_opstools_repo: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - # TODO: hack until we get https://review.opendev.org/c/zuul/zuul-jobs/+/838450 - dnf config-manager --save --setopt extras-common.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512 - -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras-common' - - - type: package - pkg_name: "centos-release-opstools" - custom_cmd: 'sudo dnf install -y --enablerepo=extras-common' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - -repo_cmd_after: | - {% if not enable_cs9_opstools_repo|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - sudo rpm -e epel-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/tripleo-ci/CentOS-9/cloudsig/zed.yml b/config/release/tripleo-ci/CentOS-9/cloudsig/zed.yml deleted file mode 100644 index 0aa5ed39f..000000000 --- a/config/release/tripleo-ci/CentOS-9/cloudsig/zed.yml +++ /dev/null @@ -1,142 +0,0 @@ -# rdoinfo configs -artg_skipped_projects: - - rdoinfo -update_containers: false -standalone_container_prep_updates: false - -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} - -# name and tags -devmode: true -overcloud_as_undercloud: true -release: zed -distro_ver: centos9 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo -dlrn_hash_tag_newest: current -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "cloudsig-{{ release }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_cs9_opstools_repo: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* centos-release-qemu-ev || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo /etc/yum.repos.d/CentOS-QEMU-EV.repo; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - # TODO: hack until we get https://review.opendev.org/c/zuul/zuul-jobs/+/838450 - dnf config-manager --save --setopt extras-common.gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512 - -repos: - - type: package - pkg_name: "centos-release-openstack-{{ release }}" - custom_cmd: 'sudo dnf install -y --enablerepo=extras-common' - - - type: package - pkg_name: "centos-release-opstools" - custom_cmd: 'sudo dnf install -y --enablerepo=extras-common' - - # Needed for mock installation - - type: generic - reponame: "delorean-{{ release }}-build-deps" - filename: "delorean-{{ release }}-build-deps.repo" - baseurl: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/build-deps/latest/" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - -repo_cmd_after: | - {% if not enable_cs9_opstools_repo|default(false)|bool %}sudo dnf config-manager --save --setopt centos-opstools.enabled=0; - {%endif %} - sudo rpm -e epel-release || true; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/tripleo-ci/CentOS-9/master.yml b/config/release/tripleo-ci/CentOS-9/master.yml deleted file mode 100644 index 528324d96..000000000 --- a/config/release/tripleo-ci/CentOS-9/master.yml +++ /dev/null @@ -1,233 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: master -distro_ver: centos9 -distro_deps_repo_name: deps -dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}" -dlrn_hash_tag_newest: current -validate_on: rdo - -# job.build_container_images is defined in zuul as a -# direct var. adding build_container_images as tqe -# var so that we can turn this on/off per release w/o -# changing zuul and breaking jobs via inheritance. -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} -docker_registry_namespace: tripleomastercentos9 -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos9-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_cs9_opstools_repo: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -repos: - # RDO repos - - type: file - filename: delorean.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-role-chrony - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-master-deps.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-quincy - filename: quickstart-centos-ceph-quincy.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/SIGs/9-stream/storage/x86_64/ceph-quincy/ - exclude: - - ansible* - - # Extras will be available once c9 get's released as this contains release rpms for SIG. -# - type: generic -# reponame: quickstart-centos-extras -# filename: quickstart-centos-extras.repo -# baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-master-deps.repo - # Replace mirror.stream.centos.org to nodepool proxy - sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-master-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_cs9_opstools_repo|default(false)|bool %}sudo dnf config-manager --save --setopt centos9-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - # FIXME(chandan): Exclude kernel updates due to - # https://bugs.launchpad.net/tripleo/+bug/1987632 - sudo dnf update --exclude=kernel* -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-master.yml b/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-master.yml deleted file mode 100644 index 0a56102af..000000000 --- a/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-master.yml +++ /dev/null @@ -1,196 +0,0 @@ -# name and tags -devmode: true -release: master -distro_ver: centos9 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleomastercentos9 -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -repos: - - type: file - filename: delorean.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # ATM current is not used in promotion jobs, this is a bug. - # However for consistency w/ what is merged. removing - # See config/release/tripleo-ci/CentOS-7/promotion-testing-hash-master.yml#L48-L64 - # "https://trunk.rdoproject.org/centos8-master/component/tripleo/current/delorean.repo" - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-chrony - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-master-deps.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-quincy - filename: quickstart-centos-ceph-quincy.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/SIGs/9-stream/storage/x86_64/ceph-quincy/ - exclude: - - ansible* - - # Extras will be available once c9 get's released as this contains release rpms for SIG. -# - type: generic -# reponame: quickstart-centos-extras -# filename: quickstart-centos-extras.repo -# baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/extras/x86_64/os/ - -repo_cmd_after: | - - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-master-deps.repo - # Replace mirror.stream.centos.org to nodepool proxy - sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-master-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -base_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-wallaby.yml b/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-wallaby.yml deleted file mode 100644 index 92bba77bd..000000000 --- a/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-wallaby.yml +++ /dev/null @@ -1,191 +0,0 @@ -# name and tags -devmode: true -release: wallaby -distro_ver: centos9 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleowallabycentos9 -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# Mixed OS _lower vars needed for single deploy mixed OS job -mixed_os_registry_host_8: "{{ docker_registry_host }}" - -mixed_os_docker_registry_namespace_8: tripleowallabycentos8 - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - # Enable distro specific gating repo, it exists in mixed-os jobs - sudo dnf config-manager --enable gating-repo-{{ ansible_distribution_major_version }} || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - - type: file - filename: delorean.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # ATM current is not used in promotion jobs, this is a bug. - # However for consistency w/ what is merged. removing - # See config/release/tripleo-ci/CentOS-7/promotion-testing-hash-wallaby.yml#L48-L64 - # "https://trunk.rdoproject.org/centos8-wallaby/component/tripleo/current/delorean.repo" - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-wallaby-deps.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - # Extras will be available once c9 get's released as this contains release rpms for SIG. -# - type: generic -# reponame: quickstart-centos-extras -# filename: quickstart-centos-extras.repo -# baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/extras/x86_64/os/ - -repo_cmd_after: | - - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-wallaby-deps.repo - # Replace mirror.stream.centos.org to nodepool proxy - sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-wallaby-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - # Downgrade podman, todo(ysandeep): remove once podman bug: https://bugzilla.redhat.com/show_bug.cgi?id=2230212 resolves. - if [ -n "$(rpm -qa podman)" ];then sudo dnf -y downgrade podman-4.6.0-1.el9.x86_64; fi - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -base_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-zed.yml b/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-zed.yml deleted file mode 100644 index 8e8aefb71..000000000 --- a/config/release/tripleo-ci/CentOS-9/promotion-testing-hash-zed.yml +++ /dev/null @@ -1,195 +0,0 @@ -# name and tags -devmode: true -release: zed -distro_ver: centos9 -overcloud_as_undercloud: true -use_specific_hash: true -docker_registry_host: quay.rdoproject.org -docker_registry_namespace: tripleozedcentos9 -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_image_tag: *promotion-testing-tag -dlrn_hash_tag_newest: current -promote_source: tripleo-ci-testing -validate_on: rdo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }} -dlrn_hash_tag: tripleo-ci-testing -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar - -# repo setup -# optimize with mirros after we have -# something working.. IMHO may be replaced w/ tripleo-repos setup -# https://review.opendev.org/#/c/709254/ -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -repos: - - type: file - filename: delorean.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # ATM current is not used in promotion jobs, this is a bug. - # However for consistency w/ what is merged. removing - # See config/release/tripleo-ci/CentOS-7/promotion-testing-hash-master.yml#L48-L64 - # "https://trunk.rdoproject.org/centos8-master/component/tripleo/current/delorean.repo" - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-zed-deps.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-quincy - filename: quickstart-centos-ceph-quincy.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/SIGs/9-stream/storage/x86_64/ceph-quincy/ - exclude: - - ansible* - - # Extras will be available once c9 get's released as this contains release rpms for SIG. -# - type: generic -# reponame: quickstart-centos-extras -# filename: quickstart-centos-extras.repo -# baseurl: https://composes.stream.centos.org/production/latest-CentOS-Stream/compose/extras/x86_64/os/ - -repo_cmd_after: | - - # # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-zed-deps.repo - # Replace mirror.stream.centos.org to nodepool proxy - sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-zed-deps.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - # continue from here - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible -# Setting base_image_url and base_image_path to overwrite DIB_LOCAL_IMAGE in -# the diskimage-builder -base_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2 -base_image_path: "{{ ansible_user_dir }}/CentOS-Stream-GenericCloud-9-20211020.0.x86_64.qcow2" diff --git a/config/release/tripleo-ci/CentOS-9/wallaby.yml b/config/release/tripleo-ci/CentOS-9/wallaby.yml deleted file mode 100644 index daa21e3c8..000000000 --- a/config/release/tripleo-ci/CentOS-9/wallaby.yml +++ /dev/null @@ -1,263 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: wallaby -distro_ver: centos9 -distro_deps_repo_name: deps -dlrn_hash_tag: >- - {% if registry_distro is defined and - registry_distro | default('') | length > 0 and - job.provider_dlrn_hash_distro is defined -%} - {{ job.provider_dlrn_hash_distro[registry_distro] }} - {%- else -%} - {{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }} - {%- endif -%} -dlrn_hash_tag_newest: current -validate_on: rdo - -# This file is used by both check and component jobs -# Use content provider for check, use quay.rdo for component -mixed_os_registry_host_8: >- - {% if registry_distro_lower is defined and - registry_distro_lower | default('') | length > 0 and - job.registry_ip_address_distro is defined -%} - {{ job.registry_ip_address_distro[registry_distro_lower] }} - {%- else -%} - quay.rdoproject.org - {%- endif -%} - -# tripleowallaby for check and tripleowallabycentos8 for component -mixed_os_docker_registry_namespace_8: >- - {% if job.consumer_job | default(false) | bool -%} - tripleowallaby - {%- else -%} - tripleowallabycentos8 - {%- endif -%} - -# job.build_container_images is defined in zuul as a -# direct var. adding build_container_images as tqe -# var so that we can turn this on/off per release w/o -# changing zuul and breaking jobs via inheritance. -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {%- if registry_distro is defined and - registry_distro | default('') | length > 0 -%} - {{ job.registry_ip_address_distro[registry_distro] }}:5001 - {%- elif container_registry_release is defined -%} - {{ job.registry_ip_address_branch[container_registry_release] }}:5001 - {%- else -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- endif -%} - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} - -docker_registry_namespace: tripleowallabycentos9 -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos9-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_cs9_opstools_repo: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - # Enable distro specific gating repo, it exists in mixed-os jobs - sudo dnf config-manager --enable gating-repo-{{ ansible_distribution_major_version }} || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -repos: - # RDO repos - - type: file - filename: delorean.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-wallaby-deps.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - # Extras will be available once c9 get's released as this contains release rpms for SIG. -# - type: generic -# reponame: quickstart-centos-extras -# filename: quickstart-centos-extras.repo -# baseurl: ${NODEPOOL_CENTOS_MIRROR}/8-stream/extras/x86_64/os/ - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-wallaby-deps.repo - # Replace mirror.stream.centos.org to nodepool proxy - sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-wallaby-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_cs9_opstools_repo|default(false)|bool %}sudo dnf config-manager --save --setopt centos9-opstools.enabled=0; - {%endif %} - # Downgrade podman, todo(ysandeep): remove once podman bug: https://bugzilla.redhat.com/show_bug.cgi?id=2230212 resolves. - if [ -n "$(rpm -qa podman)" ];then sudo dnf -y downgrade podman-4.6.0-1.el9.x86_64; fi - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - # FIXME(chandan): Exclude kernel updates due to - # https://bugs.launchpad.net/tripleo/+bug/1987632 - sudo dnf update --exclude=kernel* -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/tripleo-ci/CentOS-9/zed.yml b/config/release/tripleo-ci/CentOS-9/zed.yml deleted file mode 100644 index bdf7339f3..000000000 --- a/config/release/tripleo-ci/CentOS-9/zed.yml +++ /dev/null @@ -1,226 +0,0 @@ -# name and tags -devmode: true -overcloud_as_undercloud: true -release: zed -distro_ver: centos9 -distro_deps_repo_name: deps -dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}" -dlrn_hash_tag_newest: current -validate_on: rdo - -# job.build_container_images is defined in zuul as a -# direct var. adding build_container_images as tqe -# var so that we can turn this on/off per release w/o -# changing zuul and breaking jobs via inheritance. -docker_registry_host: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- elif job.consumer_job | default(false) | bool -%} - {{ job.registry_ip_address_branch[release] }}:5001 - {%- else -%} - {{ job.alt_container_registry|default('quay.io') }} - {%- endif -%} -docker_registry_namespace: tripleozedcentos9 -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_openshift_tag: v3.11.0 -promote_source: current-tripleo - -# images -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ promote_source }}/ironic-python-agent.tar" - -# NOTE(dviroel): centos9-opstools repo is needed for building -# collectd containers, otherwise keep the current value. -enable_cs9_opstools_repo: >- - {% if job is defined and - job.build_container_images is defined and - job.build_container_images|default(false)|bool or - build_container_images|default(false)|bool -%} - {{ true|bool }} - {%- else -%} - {{ enable_opstools_repo|default(false)|bool }} - {%- endif -%} - -# repo setup -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - sudo rm -rf /etc/yum.repos.d/epel*; - - sudo dnf clean all; - sudo dnf config-manager --disable "*" || true; - # In https://review.opendev.org/c/765834 a release specific gating-repo is created. - # The release specifc gating repo is copied to gating.repo for consistency across ci - # The original file is backed up for logging purposes. Upgrade jobs will run with - # two releases. - sudo cp -f /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating.repo || true; - sudo sed -i -e "s/gating-repo-{{ release }}/gating-repo/" /etc/yum.repos.d/gating.repo || true; - sudo mv /etc/yum.repos.d/gating-repo-{{ release }}.repo /etc/yum.repos.d/gating-repo-{{ release }}.repo_previous || true; - sudo dnf config-manager --enable gating-repo || true; - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ ansible_env['NODEPOOL_CENTOS_MIRROR']|default('http://mirror.stream.centos.org', true) }} - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - {% if dlrn_hash_path_newest is defined and dlrn_hash_path_newest %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_path_newest }}" - {% elif dlrn_hash_tag_newest is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG_NEWEST="current/{{ dlrn_hash_tag_newest[:2] }}/{{ dlrn_hash_tag_newest[2:4] }}/{{ dlrn_hash_tag_newest }}" - {% else %} - export DLRN_PATH_TAG_NEWEST="{{ dlrn_hash_tag_newest }}" - {% endif %} - {% if dlrn_hash_path is defined and dlrn_hash_path %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_path }}" - {% elif dlrn_hash_tag is match("^[a-zA-Z0-9]{32}$") %} - export DLRN_PATH_TAG="{{ promote_source }}/{{ dlrn_hash_tag[:2] }}/{{ dlrn_hash_tag[2:4] }}/{{ dlrn_hash_tag }}" - {% else %} - export DLRN_PATH_TAG="{{ dlrn_hash_tag }}" - {% endif %} - rdo_dlrn=`curl --silent https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG_NEWEST}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | grep "component/tripleo" | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - - # Save environment variables, to be used afterwards - echo "export NODEPOOL_CENTOS_MIRROR=${NODEPOOL_CENTOS_MIRROR}" >> {{ repo_setup_env_filepath }} - echo "export NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY}" >> {{ repo_setup_env_filepath }} - echo "export RDO_DLRN_REPO=${RDO_DLRN_REPO}" >> {{ repo_setup_env_filepath }} - echo "export DLRN_PATH_TAG=${DLRN_PATH_TAG}" >> {{ repo_setup_env_filepath }} - -repos: - # RDO repos - - type: file - filename: delorean.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/${DLRN_PATH_TAG}/delorean.repo" - - # name of delorean-tripleo-component-current? naming is hard - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-oslo - - puppet-cinder - - puppet-heat - - puppet-neutron - - puppet-nova - - puppet-glance - - puppet-horizon - - puppet-ironic - - puppet-keystone - - puppet-openstacklib - - puppet-placement - - puppet-swift - - puppet-tripleo - - python*-tripleo* - - tripleo-ansible - - ansible-config_template - - tripleo-operator-ansible - - - type: file - filename: delorean-zed-deps.repo - down_url: "${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/delorean-deps.repo" - - # CentOS related repos - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/BaseOS/x86_64/os - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/9-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-quincy - filename: quickstart-centos-ceph-quincy.repo - baseurl: ${NODEPOOL_CENTOS_MIRROR}/SIGs/9-stream/storage/x86_64/ceph-quincy/ - exclude: - - ansible* - -repo_cmd_after: | - # Replace trunk.rdoproject.org to nodepool proxy - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean.repo - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-zed-deps.repo - # Replace mirror.stream.centos.org to nodepool proxy - sudo sed -i -e "s|http://mirror.stream.centos.org|$NODEPOOL_CENTOS_MIRROR|g" /etc/yum.repos.d/delorean-zed-deps.repo - # note potential name change - FIX ME - sudo sed -i -e "s|https://trunk.rdoproject.org|$NODEPOOL_RDO_PROXY|g" /etc/yum.repos.d/delorean-current.repo - sudo sed -i -e "s|priority=1|priority=20|g" /etc/yum.repos.d/delorean.repo - {% if not enable_cs9_opstools_repo|default(false)|bool %}sudo dnf config-manager --save --setopt centos9-opstools.enabled=0; - {%endif %} - # sudo dnf config-manager --disable rdo-qemu-ev; - sudo rpm -e epel-release || true; - sudo dnf remove -y rdo-release centos-release-ceph-* centos-release-openstack-* || true; - sudo rm -rf /etc/yum.repos.d/CentOS-OpenStack-*.repo /etc/yum.repos.d/CentOS-Ceph-*.repo; - # Disable delorean repo if a similar component repo exists - {% if job is defined and job.component is defined %} - if [ -f "/etc/yum.repos.d/{{ job.component }}-component.repo" ] && sudo cat /etc/yum.repos.d/{{ job.component }}-component.repo | grep 'enabled=1'; then - dnf config-manager --disable delorean-component-{{ job.component }}; - fi - {% endif %} - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - # Save Compose-ID info - sudo curl -s -o /etc/yum.repos.d/COMPOSE_ID ${NODEPOOL_CENTOS_MIRROR}/9-stream/COMPOSE_ID - sudo dnf repolist; - sudo dnf module list; - sudo dnf clean metadata - {% if repo_setup_run_update|default(true)|bool %} - # FIXME(chandan): Exclude kernel updates due to - # https://bugs.launchpad.net/tripleo/+bug/1987632 - sudo dnf update --exclude=kernel* -y - {% endif %} -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible diff --git a/config/release/tripleo-ci/RedHat-8/master.yml b/config/release/tripleo-ci/RedHat-8/master.yml deleted file mode 100644 index fa766ac03..000000000 --- a/config/release/tripleo-ci/RedHat-8/master.yml +++ /dev/null @@ -1,125 +0,0 @@ -overcloud_as_undercloud: true -# limits validation on a specific enviroment due to restricted access -validate_on: rdo -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar -release: master -distro_ver: rhel8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo -dlrn_hash_tag_newest: current -dlrn_target: redhat -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -undercloud_docker_insecure_registries: "{{ docker_registry_host }}" -docker_prep_prefix: rhel-binary -docker_ceph_namespace: quay.ceph.io/ceph-ci -docker_openshift_tag: v3.11.0 -overcloud_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/rhel8/master/rdo_trunk/current-tripleo/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/rhel8/master/rdo_trunk/current-tripleo/ironic-python-agent.tar" -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - {# dnf-plugins-core provides config-manager command #} - sudo dnf install -y dnf-plugins-core; - sudo dnf clean all; - sudo dnf config-manager --set-disabled "*" - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_BUILDLOGS_CENTOS_PROXY=https://buildlogs.centos.org - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_path_newest|default(dlrn_hash_tag_newest, true) }}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | cut -d= -f2` - tripleo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_path|default(dlrn_hash_tag, true) }}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | cut -d= -f2` - if [[ -z "$rdo_dlrn" || -z "$tripleo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - export TRIPLEO_DLRN_REPO=${tripleo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - # RDO repos - - type: generic - reponame: delorean - filename: delorean.repo - priority: 20 - baseurl: $TRIPLEO_DLRN_REPO - - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-* - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - - type: generic - reponame: "delorean-{{ release }}-deps" - filename: "delorean-{{ release }}-deps.repo" - baseurl: ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ distro_deps_repo_name }}/latest/ - -repo_cmd_after: | - # TODO(chkumar246): Currently RHUI repos are disabled by default - # Once it is fixed, it will remove this. - sudo dnf config-manager --enable rhui-*; - sudo dnf install -y chrony; - # TODO(chkumar246): Currently RHEL-8 mock DLRN config needs - # /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT dummy file - # in order to build packages, - # https://softwarefactory-project.io/r/#/c/15950/ - sudo touch /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT; - sudo dnf install -y mock; - sudo dnf install -y systemd-container; - sudo dnf repolist; - sudo dnf clean all; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y; - {% endif %} - sudo dnf clean metadata - -undercloud_rpm_dependencies: >- - python3-tripleoclient -# used for container updates -standalone_container_prep_update_repo: >- - {{ gating_repo_name }},delorean-current - -overcloud_selinux_enabled: permissive -undercloud_selinux_enabled: false diff --git a/config/release/tripleo-ci/RedHat-8/promotion-testing-hash-master.yml b/config/release/tripleo-ci/RedHat-8/promotion-testing-hash-master.yml deleted file mode 100644 index d339d2960..000000000 --- a/config/release/tripleo-ci/RedHat-8/promotion-testing-hash-master.yml +++ /dev/null @@ -1,93 +0,0 @@ -overcloud_as_undercloud: true -# limits validation on a specific enviroment due to restricted access -validate_on: rdo -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar -release: master -use_specific_hash: true -distro_ver: rhel8 -distro_deps_repo_name: deps -dlrn_hash_tag: tripleo-ci-testing -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_hash_tag_newest: current -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: tripleomaster -docker_image_tag: *promotion-testing-tag -undercloud_docker_insecure_registries: "{{ docker_registry_host }}" -docker_prep_prefix: rhel-binary -docker_ceph_namespace: quay.ceph.io/ceph-ci -docker_openshift_tag: v3.11.0 -overcloud_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/redhat8/master/rdo_trunk/tripleo-ci-testing/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/redhat8/master/rdo_trunk/tripleo-ci-testing/ironic-python-agent.tar" - -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - {# dnf-plugins-core provides config-manager command #} - sudo dnf install -y dnf-plugins-core; - sudo dnf clean all; - sudo dnf config-manager --set-disabled "*" - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to RHEL8 dlrn trunk. - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_path|default(dlrn_hash_tag, true) }}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - - type: generic - reponame: delorean - filename: delorean.repo - priority: 20 - baseurl: $RDO_DLRN_REPO - - - type: generic - reponame: "delorean-{{ release }}-deps" - filename: "delorean-{{ release }}-deps.repo" - baseurl: ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ distro_deps_repo_name }}/latest/ - -repo_cmd_after: | - # TODO(chkumar246): Currently RHUI repos are disabled by default - # Once it is fixed, it will remove this. - sudo dnf config-manager --enable rhui-*; - sudo dnf install -y chrony; - sudo dnf install -y mock; - sudo dnf install -y systemd-container; - # TODO(chkumar246): Currently RHEL-8 mock DLRN config needs - # /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT dummy file - # in order to build packages, - # https://softwarefactory-project.io/r/#/c/15950/ - sudo touch /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT; - sudo dnf clean all; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y; - {% endif %} - sudo dnf clean metadata - -undercloud_rpm_dependencies: >- - python3-tripleoclient -overcloud_selinux_enabled: permissive -undercloud_selinux_enabled: false diff --git a/config/release/tripleo-ci/RedHat-8/promotion-testing-hash-train.yml b/config/release/tripleo-ci/RedHat-8/promotion-testing-hash-train.yml deleted file mode 100644 index e9d315eb2..000000000 --- a/config/release/tripleo-ci/RedHat-8/promotion-testing-hash-train.yml +++ /dev/null @@ -1,82 +0,0 @@ -overcloud_as_undercloud: true -# limits validation on a specific enviroment due to restricted access -validate_on: rdo -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar -release: train -use_specific_hash: true -distro_ver: rhel8 -distro_deps_repo_name: deps -dlrn_hash_tag: tripleo-ci-testing -delorean_hash_label: &promotion-testing-tag "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_hash_tag_newest: current -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: *promotion-testing-tag -undercloud_docker_insecure_registries: "{{ docker_registry_host }}" -docker_prep_prefix: rhel-binary -docker_ceph_namespace: quay.ceph.io/ceph-ci -docker_openshift_tag: v3.11.0 -overcloud_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/redhat8/{{ release }}/rdo_trunk/tripleo-ci-testing/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/redhat8/{{ release }}/rdo_trunk/tripleo-ci-testing/ironic-python-agent.tar" - -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - {# dnf-plugins-core provides config-manager command #} - sudo dnf install -y dnf-plugins-core; - sudo dnf clean all; - sudo dnf config-manager --set-disabled "*" - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to RHEL8 dlrn trunk. - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_path|default(dlrn_hash_tag, true) }}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | cut -d= -f2` - if [[ -z "$rdo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - - type: generic - reponame: delorean - filename: delorean.repo - priority: 20 - baseurl: $RDO_DLRN_REPO - - - type: generic - reponame: "delorean-{{ release }}-deps" - filename: "delorean-{{ release }}-deps.repo" - baseurl: ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ distro_deps_repo_name }}/latest/ - -repo_cmd_after: | - # TODO(chkumar246): Currently RHUI repos are disabled by default - # Once it is fixed, it will remove this. - sudo dnf config-manager --enable rhui-*; - sudo dnf install -y chrony; - sudo dnf install -y mock; - sudo dnf install -y systemd-container; - # TODO(chkumar246): Currently RHEL-8 mock DLRN config needs - # /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT dummy file - # in order to build packages, - # https://softwarefactory-project.io/r/#/c/15950/ - sudo touch /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT; - sudo dnf clean all; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y; - {% endif %} - sudo dnf clean metadata - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible -overcloud_selinux_enabled: permissive -undercloud_selinux_enabled: false diff --git a/config/release/tripleo-ci/RedHat-8/train.yml b/config/release/tripleo-ci/RedHat-8/train.yml deleted file mode 100644 index 34bb5ef01..000000000 --- a/config/release/tripleo-ci/RedHat-8/train.yml +++ /dev/null @@ -1,113 +0,0 @@ -overcloud_as_undercloud: true -# limits validation on a specific enviroment due to restricted access -validate_on: rdo -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar -release: train -distro_ver: rhel8 -distro_deps_repo_name: deps -dlrn_hash_tag: current-tripleo -dlrn_hash_tag_newest: current -dlrn_target: redhat -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -docker_registry_host: trunk.registry.rdoproject.org -docker_registry_namespace: "tripleo{{ release }}" -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -undercloud_docker_insecure_registries: "{{ docker_registry_host }}" -docker_prep_prefix: rhel-binary -docker_ceph_namespace: quay.ceph.io/ceph-ci -docker_openshift_tag: v3.11.0 -overcloud_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/rhel8/{{ release }}/rdo_trunk/current-tripleo/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org:4433/rcm-guest/images/rhel8/{{ release }}/rdo_trunk/current-tripleo/ironic-python-agent.tar" -repo_cmd_before: | - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; - {# dnf-plugins-core provides config-manager command #} - sudo dnf install -y dnf-plugins-core; - sudo dnf clean all; - sudo dnf config-manager --set-disabled "*" - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - else - # Otherwise, fallback to official mirrors provided by CentOS. - export NODEPOOL_CENTOS_MIRROR={{ lookup('env','NODEPOOL_CENTOS_MIRROR')|default('http://mirror.centos.org/centos', true) }} - export NODEPOOL_BUILDLOGS_CENTOS_PROXY=https://buildlogs.centos.org - export NODEPOOL_RDO_PROXY=https://trunk.rdoproject.org - fi - rdo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_path_newest|default(dlrn_hash_tag_newest, true) }}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | cut -d= -f2` - tripleo_dlrn=`curl --silent ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_path|default(dlrn_hash_tag, true) }}/delorean.repo -S 2>>~/dlrn_repo_curl_errors.log | grep baseurl | cut -d= -f2` - if [[ -z "$rdo_dlrn" || -z "$tripleo_dlrn" ]]; then - echo "Failed to parse dlrn hash" - exit 1 - fi - export RDO_DLRN_REPO=${rdo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - export TRIPLEO_DLRN_REPO=${tripleo_dlrn/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - -repos: - # RDO repos - - type: generic - reponame: delorean - filename: delorean.repo - priority: 20 - baseurl: $TRIPLEO_DLRN_REPO - - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: $RDO_DLRN_REPO - priority: 10 - includepkgs: - - ansible-role-container-registry - - ansible-role-tripleo* - - ansible-tripleo-ipsec - - instack - - instack-undercloud - - openstack-tripleo-* - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - puppet-* - - python*-tripleo* - - python*-paunch* - - paunch-services - - tripleo-ansible - - ansible-config_template - - - type: generic - reponame: "delorean-{{ release }}-deps" - filename: "delorean-{{ release }}-deps.repo" - baseurl: ${NODEPOOL_RDO_PROXY}/{{ distro_ver }}-{{ release }}/{{ distro_deps_repo_name }}/latest/ - -repo_cmd_after: | - # TODO(chkumar246): Currently RHUI repos are disabled by default - # Once it is fixed, it will remove this. - sudo dnf config-manager --enable rhui-*; - sudo dnf install -y chrony; - # TODO(chkumar246): Currently RHEL-8 mock DLRN config needs - # /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT dummy file - # in order to build packages, - # https://softwarefactory-project.io/r/#/c/15950/ - sudo touch /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT; - sudo dnf install -y mock; - sudo dnf install -y systemd-container; - sudo dnf repolist; - sudo dnf clean all; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y; - {% endif %} - sudo dnf clean metadata - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible -# used for container updates -standalone_container_prep_update_repo: >- - {{ gating_repo_name }},delorean-current -overcloud_selinux_enabled: permissive -undercloud_selinux_enabled: false diff --git a/config/release/trunk/master.yml b/config/release/trunk/master.yml deleted file mode 100644 index 15a619e67..000000000 --- a/config/release/trunk/master.yml +++ /dev/null @@ -1,96 +0,0 @@ -release: master -distro_ver: centos9 -dlrn_hash_tag: current-tripleo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" -libvirt_session_socket: virtqemud-sock - -docker_registry_host: >- - {% if build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- else -%} - quay.io - {%- endif -%} - -docker_registry_namespace: tripleomastercentos9 -overcloud_as_undercloud: true -update_images: true -whole_disk_images: true -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.stream.centos.org/9-stream/AppStream/x86_64/os/ - - # centos9 the equivalent to powertools is CRB - - type: generic - reponame: quickstart-centos-crb - filename: quickstart-centos-crb.repo - baseurl: http://mirror.stream.centos.org/9-stream/CRB/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.stream.centos.org/9-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.stream.centos.org/SIGs/9-stream/extras/x86_64/extras-common/ - - - type: generic - reponame: quickstart-centos-ceph-quincy - filename: quickstart-centos-ceph-quincy.repo - baseurl: http://mirror.stream.centos.org/SIGs/9-stream/storage/x86_64/ceph-quincy/ - exclude: - - ansible* - -repo_cmd_after: | - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - tripleo-operator-ansible - -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/9-stream/x86_64/images/CentOS-Stream-GenericCloud-9-20220919.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "955ee6d5214552c4256f6b303dc97a24 CentOS-Stream-GenericCloud-9-20210830.0.x86_64.qcow" diff --git a/config/release/trunk/train.yml b/config/release/trunk/train.yml deleted file mode 100644 index 5bb3bbc42..000000000 --- a/config/release/trunk/train.yml +++ /dev/null @@ -1,80 +0,0 @@ -release: train -distro_ver: centos8 -dlrn_hash_tag: current-tripleo-rdo -docker_registry_host: "{{ job.build_container_images|default(false)|bool | ternary('127.0.0.1:5001', 'quay.io') }}" -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -docker_registry_namespace: "tripleotraincentos8" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" -validate_on: rdo -overcloud_as_undercloud: true -update_images: true -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - # centos-release-ceph-nautilus rpm do not exist yet - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8/storage/x86_64/ceph-nautilus/ - - - type: generic - reponame: quickstart-centos-opstools - filename: quickstart-centos-opstools.repo - baseurl: http://mirror.centos.org/centos/8-stream/opstools/x86_64/collectd-5/ - -repo_cmd_after: | - sudo dnf repolist; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/trunk/ussuri.yml b/config/release/trunk/ussuri.yml deleted file mode 100644 index 7131234fe..000000000 --- a/config/release/trunk/ussuri.yml +++ /dev/null @@ -1,87 +0,0 @@ -release: ussuri -distro_ver: centos8 -dlrn_hash_tag: current-tripleo-rdo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" - -docker_registry_host: >- - {% if build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- else -%} - quay.io - {%- endif -%} - -overcloud_as_undercloud: true -update_images: true -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8/storage/x86_64/ceph-nautilus/ - - - type: generic - reponame: quickstart-centos-opstools - filename: quickstart-centos-opstools.repo - baseurl: http://mirror.centos.org/centos/8-stream/opstools/x86_64/collectd-5/ - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:2.0 -y; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/trunk/victoria.yml b/config/release/trunk/victoria.yml deleted file mode 100644 index 3655de78b..000000000 --- a/config/release/trunk/victoria.yml +++ /dev/null @@ -1,87 +0,0 @@ -release: victoria -distro_ver: centos8 -dlrn_hash_tag: current-tripleo-rdo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" - -docker_registry_host: >- - {% if build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- else -%} - quay.io - {%- endif -%} - -overcloud_as_undercloud: true -update_images: true -images: - - name: overcloud-full - url: "{{ overcloud_image_url }}" - type: tar - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-nautilus - filename: quickstart-centos-ceph-nautilus.repo - baseurl: http://mirror.centos.org/centos/8/storage/x86_64/ceph-nautilus/ - - - type: generic - reponame: quickstart-centos-opstools - filename: quickstart-centos-opstools.repo - baseurl: http://mirror.centos.org/centos/8-stream/opstools/x86_64/collectd-5/ - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:2.0 -y; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/trunk/wallaby.yml b/config/release/trunk/wallaby.yml deleted file mode 100644 index cda6fa4b1..000000000 --- a/config/release/trunk/wallaby.yml +++ /dev/null @@ -1,104 +0,0 @@ -release: wallaby -distro_ver: centos8 -dlrn_hash_tag: current-tripleo-rdo -docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}" -dlrn_baseurl: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}" -overcloud_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/{{ overcloud_image }}.{{ overcloud_image_type }}" -ipa_image_url: "https://images.rdoproject.org/{{ distro_ver }}/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar" -validate_on: rdo - -docker_registry_host: >- - {% if build_container_images|default(false)|bool -%} - 127.0.0.1:5001 - {%- else -%} - quay.io - {%- endif -%} - -overcloud_as_undercloud: true -update_images: true -overcloud_image: >- - {% if whole_disk_images|bool -%} - overcloud-hardened-uefi-full - {%- else -%} - overcloud-full - {%- endif -%} -overcloud_image_type: >- - {% if whole_disk_images|bool -%} - qcow2 - {%- else -%} - tar - {%- endif -%} -images: - - name: "{{ overcloud_image }}" - url: "{{ overcloud_image_url }}" - type: "{{ overcloud_image_type }}" - - name: ipa_images - url: "{{ ipa_image_url }}" - type: tar - -repos: - - type: file - filename: delorean.repo - down_url: "https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/{{ dlrn_hash_tag }}/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/{{ distro_ver }}-{{ release }}/delorean-deps.repo - - - type: generic - reponame: quickstart-centos-base - filename: quickstart-centos-base.repo - baseurl: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/ - - - type: generic - reponame: quickstart-centos-appstreams - filename: quickstart-centos-appstreams.repo - baseurl: http://mirror.centos.org/centos/8-stream/AppStream/x86_64/os/ - exclude: - - libvirt* - - python*libvirt* - - qemu* - - - type: generic - reponame: quickstart-centos-powertools - filename: quickstart-centos-powertools.repo - baseurl: http://mirror.centos.org/centos/8-stream/PowerTools/x86_64/os/ - - - type: generic - reponame: quickstart-centos-highavailability - filename: quickstart-centos-highavailability.repo - baseurl: http://mirror.centos.org/centos/8-stream/HighAvailability/x86_64/os/ - - - type: generic - reponame: quickstart-centos-extras - filename: quickstart-centos-extras.repo - baseurl: http://mirror.centos.org/centos/8-stream/extras/x86_64/os/ - - - type: generic - reponame: quickstart-centos-ceph-octopus - filename: quickstart-centos-ceph-octopus.repo - baseurl: http://mirror.centos.org/centos/8/storage/x86_64/ceph-octopus/ - - - type: generic - reponame: quickstart-centos-opstools - filename: quickstart-centos-opstools.repo - baseurl: http://mirror.centos.org/centos/8-stream/opstools/x86_64/collectd-5/ - -repo_cmd_after: | - sudo dnf repolist; - sudo dnf module list; - sudo dnf module disable container-tools:rhel8 -y; - sudo dnf module enable container-tools:2.0 -y; - {% if repo_setup_run_update|default(true)|bool %} - sudo dnf update -y - {% endif %} - -undercloud_rpm_dependencies: >- - python3-tripleoclient - ceph-ansible - tripleo-operator-ansible -# baseos settings -baseos_undercloud_image_url: https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2 -baseos_image: centos -baseos_image_type: qcow2 -baseos_md5sum: "70d5c374156f2ab92c058b6a6150f55e CentOS-Stream-GenericCloud-8-20201217.0.x86_64.qcow2" diff --git a/config/release/ussuri.yml b/config/release/ussuri.yml deleted file mode 120000 index 16d8fe5c0..000000000 --- a/config/release/ussuri.yml +++ /dev/null @@ -1 +0,0 @@ -trunk/ussuri.yml \ No newline at end of file diff --git a/config/release/victoria.yml b/config/release/victoria.yml deleted file mode 120000 index 810d57598..000000000 --- a/config/release/victoria.yml +++ /dev/null @@ -1 +0,0 @@ -trunk/victoria.yml \ No newline at end of file diff --git a/config/release/wallaby.yml b/config/release/wallaby.yml deleted file mode 120000 index b70d38cb7..000000000 --- a/config/release/wallaby.yml +++ /dev/null @@ -1 +0,0 @@ -trunk/wallaby.yml \ No newline at end of file diff --git a/devmode.sh b/devmode.sh deleted file mode 100755 index 88b55194c..000000000 --- a/devmode.sh +++ /dev/null @@ -1,206 +0,0 @@ -#!/bin/bash - -: ${GATE:=1} -: ${WORKSPACE:=$HOME/.quickstart} -: ${RELEASE:=master-tripleo-ci} -: ${CONFIG:=minimal} -: ${BUILD_SYS:=delorean} -: ${DEPLOY_TYPE:=libvirt} -: ${ENVIRONMENT:=rdocloud} -: ${CUSTOM_REQUIREMENTS_INSTALL:=none} -: ${DELETE_ALL_STACKS:=false} - -interactive=0 -reproducer_type=gerrit - - -usage () { - echo "Usage: $0 [options] virthost" - echo "" - echo "Options:" - echo " -c, --config Only minimal.yml config is supported and tested." - echo " specify the node configuration (default=$CONFIG)" - echo " -n, --no-gate do not ask for gating a commit when gating" - echo " variables are missing (default is gating)" - echo " -w, --working-dir " - echo " directory where the virtualenv, inventory files, etc." - echo " are created (default=$WORKSPACE)" - echo " -d, --delete-all-stacks" - echo " delete all stacks in the tenant before deployment." - echo " will also delete associated keypairs if they exist." - echo " -r, --release " - echo " OpenStack release to deploy (default=$RELEASE)." - echo " -h, --help print this help and exit. Note OVB is no longer supported. - See https://docs.openstack.org/tripleo-docs/latest/contributor/reproduce-ci.html" - echo " virthost target machine used for deployment, required argument" -} - - -zuul-gate () { - if [[ -z "$ZUUL_HOST" ]]; then - interactive=1 - echo "Which Zuul host to use? (default=review.opendev.org)" - read -p "ZUUL_HOST=" ZUUL_HOST - ZUUL_HOST=${ZUUL_HOST:-"review.opendev.org"} - echo "" - fi - ZUUL_HOST=${ZUUL_HOST:-"review.opendev.org"} - if [[ -z "$ZUUL_CHANGES" ]]; then - interactive=1 - echo "Specify ZUUL_CHANGES variable from logs/reproduce.sh" - read -p "ZUUL_CHANGES=" ZUUL_CHANGES - echo "" - fi - export ZUUL_{HOST,CHANGES} -} - -gerrit-gate () { - if [[ -z "$GERRIT_HOST" ]]; then - interactive=1 - echo "Which Gerrit host to use? (default=review.opendev.org)" - read -p "GERRIT_HOST=" GERRIT_HOST - GERRIT_HOST=${GERRIT_HOST:-"review.opendev.org"} - echo "" - fi - if [[ -z "$GERRIT_BRANCH" ]]; then - interactive=1 - echo "Which branch is the patch on? (default=master)" - read -p "GERRIT_BRANCH=" GERRIT_BRANCH - GERRIT_BRANCH=${GERRIT_BRANCH:-master} - echo "" - fi - if [[ -z "$GERRIT_CHANGE_ID" ]]; then - interactive=1 - echo "What is the Change-Id? Can be found in the commit message." - echo "Note: all \"Depends-On:\" changes are going to be built as well." - read -p "GERRIT_CHANGE_ID=" GERRIT_CHANGE_ID - echo "" - fi - if [[ -z "$GERRIT_PATCHSET_REVISION" ]]; then - interactive=1 - echo "What is the git commit hash of the patchset?" - echo "It can be found in the Commit field on Gerrit" - read -p "GERRIT_PATCHSET_REVISION=" GERRIT_PATCHSET_REVISION - echo "" - fi - export GERRIT_{HOST,BRANCH,CHANGE_ID,PATCHSET_REVISION} -} - - -interactive-gate () { - if [[ -n "$ZUUL_HOST" ]]; then - reproducer_type=zuul - fi - if [[ -z "$ZUUL_HOST" && -z "$GERRIT_HOST" ]]; then - interactive=1 - echo "Do you want to reproduce an environment from an upstream CI Zuul job" - echo "or use a Gerrit change? (default=gerrit)" - read -p "[zuul/GERRIT] " reproducer_type - echo "" - fi - if [[ $reproducer_type = 'zuul' ]]; then - zuul-gate - else - gerrit-gate - fi - if [[ "$interactive" = "1" ]]; then - echo "Check if these values are correct:" - else - echo "Running with the following variables:" - fi - echo "" - if [[ $reproducer_type = 'zuul' ]]; then - echo "ZUUL_HOST=$ZUUL_HOST" - echo "ZUUL_CHANGES=$ZUUL_CHANGES" - echo "export ZUUL_{HOST,CHANGES}" - else - echo "GERRIT_HOST=$GERRIT_HOST" - echo "GERRIT_BRANCH=$GERRIT_BRANCH" - echo "GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID" - echo "GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION" - echo "export GERRIT_{HOST,BRANCH,CHANGE_ID,PATCHSET_REVISION}" - fi - echo "" - if [[ "$interactive" = "1" ]]; then - echo "Note: You can re-run this script non-interactively by pasting" - echo "the lines above to the console before rerunning the script." - echo "Hit ENTER to continue, or CTRL-C to exit" - read - fi -} - -while [ "x$1" != "x" ]; do - - case "$1" in - --working-dir|-w) - WORKSPACE=$(realpath $2) - shift - ;; - - --config|-c) - CONFIG=$2 - shift - ;; - - --delete-all-stacks|-d) - DELETE_ALL_STACKS=true - ;; - - --no-gate|-n) - GATE=0 - ;; - - --release|-r) - RELEASE=$2 - shift - ;; - --help|-h) - usage - exit - ;; - - --) shift - break - ;; - - -*) echo "ERROR: unknown option: $1" >&2 - usage >&2 - exit 2 - ;; - - *) break - ;; - esac - - shift -done - -pushd $(dirname ${BASH_SOURCE[0]:-$0}) - -# variables needed for the CI script -export VIRTHOST=$1 -export WORKSPACE - -if [[ -z $VIRTHOST ]]; then - usage - echo "" - echo "Specify the virthost to use. You need to be able to ssh as root without" - echo "password with your current user (i.e. ssh root@\$VIRTHOST must succeed)" - exit 1 -fi - -if [ "$GATE" = "1" ]; then - interactive-gate - JOB_TYPE=dlrn-gate -else - JOB_TYPE=periodic -fi - - -BASE_QUICKSTART_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - - -bash $BASE_QUICKSTART_DIR/ci-scripts/full-deploy.sh $RELEASE $BUILD_SYS $CONFIG $JOB_TYPE - - -popd diff --git a/doc/requirements.txt b/doc/requirements.txt deleted file mode 100644 index afa9b9845..000000000 --- a/doc/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -sphinx>=2.0.0,!=2.1.0 # BSD -openstackdocstheme>=2.2.1 # Apache-2.0 -texttable -pyaml diff --git a/doc/source/accessing-libvirt.rst b/doc/source/accessing-libvirt.rst deleted file mode 100644 index cbca40d9a..000000000 --- a/doc/source/accessing-libvirt.rst +++ /dev/null @@ -1,102 +0,0 @@ -Accessing libvirt as an unprivileged user -========================================= - -The virtual infrastructure provisioned by tripleo-quickstart is created -using an unprivileged account (by default the ``stack`` user). This -means that logging into your virthost as root and running ``virsh list`` -will result in empty output, which can be confusing to someone not -familiar with libvirt's unprivileged mode. - -Where are my guests? --------------------- - -The easiest way to interact with the unprivileged libvirt instance used -by tripleo-quickstart is to log in as the ``stack`` user using the -generated ssh key in your quickstart directory:: - - $ ssh -i $HOME/.quickstart/id_rsa_virt_host stack@virthost - [stack@virthost ~]$ virsh list - Id Name State - ---------------------------------------------------- - 2 undercloud running - 5 compute_0 running - 6 control_0 running - -You can also log in to the virthost as ``root`` and then ``su - stack`` -to access the unprivileged user account. While this won't normally work -"out of the box" because of `this -issue `__, -the quickstart ensures that the ``XDG_RUNTIME_DIR`` variable is set -correctly. - -To console into the guests you'll have to add -c qemu:///session. -For example:: - - $ virsh -c qemu:///session console undercloud - -To set the password for the undercloud and overcloud root user you can set -the `overcloud_full_root_pwd` variable. - - quickstart.sh -e overcloud_full_root_pwd=password virthost - -Where are my networks? ----------------------- - -While most libvirt operations can be performed as an unprivileged user, -creating bridge devices requires root privileges. We create the networks -used by the quickstart as ``root``, so as ``root`` on your virthost you -can run:: - - # virsh net-list - -And see:: - - Name State Autostart Persistent - -------------------------------------------------------- - default active yes yes - external active yes yes - overcloud active yes yes - -In order to expose these networks to the unprivileged ``stack`` user, we -whitelist them in ``/etc/qemu/bridge.conf`` (this file is used by the -`qemu bridge -helper `__ to proxy -unprivileged access to privileged operations):: - - # cat /etc/qemu-kvm/bridge.conf - allow virbr0 - allow brext - allow brovc - -The guests created by the stack user connect to these bridges by name; -the relevant domain XML ends up looking something like:: - - [stack@virthost ~]$ virsh dumpxml undercloud | xmllint --xpath //interface - - - - - - - - - - - - - - - - -What if I want privileged mode instead? ---------------------------------------- - -Unprivileged mode is sometimes inconvenient, for example as a developer -working as a single user on local hardware, it may be preferable -to use privileged mode so that quickstart VMs can survive a host reboot -and also so that it's easier to access host tools such as virt-manager -(which is particularly useful for diagnosing boot issues via the primary -console). - -To enable this mode you can select the following environment:: - - quickstart.sh -E config/environments/dev_privileged_libvirt.yml $VIRTHOST diff --git a/doc/source/accessing-overcloud.rst b/doc/source/accessing-overcloud.rst deleted file mode 100644 index 3d7412033..000000000 --- a/doc/source/accessing-overcloud.rst +++ /dev/null @@ -1,212 +0,0 @@ -.. _accessing-overcloud: - -Accessing the Overcloud -======================= - -With the virtual infrastructure provisioned by tripleo-quickstart, the -overcloud hosts are deployed on an isolated network that can only be accessed -from the undercloud host. In many cases, simply logging in to the undercloud -host as documented in :ref:`accessing-undercloud` is sufficient, but there are -situations when you may want direct access to overcloud services from your -desktop. - -Note, when overcloud nodes are hosted on an OpenStack cloud instead, the ssh -access user name may be 'centos' or the like. And you may not be able to login -as the root. Node names may be also prefixed with a given heat stack name, like -`foo-overcloud-controller-0`. The undercloud node should be given a floating IP -and will be serving as a bastion host proxying ansible/ssh to overcloud nodes. - -Logging in to overcloud hosts ------------------------------ - -The easiest way to reach the overcloud nodes is to login using the ssh config -file generated during the quickstart run:: - - ssh -F $HOME/.quickstart/ssh.config.ansible overcloud-controller-0 - -It's a good idea to look into the `ssh.config.ansible` file to see all the -hostnames and to understand how ssh logs in to the overcloud nodes though the -undercloud. - -An alternative way to reach the overcloud nodes is to log in to the undercloud -host and figure out the ctlplane address of the deployed node:: - - [stack@undercloud ~]$ source stackrc - [stack@undercloud ~]$ nova list - +--------------------------------------+-------------------------+--------+------------+-------------+------------------------+ - | ID | Name | Status | Task State | Power State | Networks | - +--------------------------------------+-------------------------+--------+------------+-------------+------------------------+ - | 3d4a79d1-53ea-4f32-b496-fbdcbbb6a5a3 | overcloud-controller-0 | ACTIVE | - | Running | ctlplane=192.168.24.16 | - | 4f8acb6d-6394-4193-a6c6-50d8731fad7d | overcloud-novacompute-0 | ACTIVE | - | Running | ctlplane=192.168.24.8 | - +--------------------------------------+-------------------------+--------+------------+-------------+------------------------+ - -The address is randomly assigned and depends on the deployment environment. In -this case the compute node has the address `192.168.24.8`. Logging in to any of -the nodes is possible with the `tripleo-admin` user. This user has full sudo -rights on all the overcloud nodes and the undercloud is set up to login with -public key authentication:: - - ssh tripleo-admin@192.168.24.8 - -The node can be also accessed by a static hostname of -`overcloud-novacompute-0.ctlplane` in newer versions of OpenStack. - -SSH Port Forwarding -------------------- - -You can forward specific ports from your localhost to addresses on the -overcloud network. For example, to access the overcloud Horizon -interface, you could run:: - - ssh -F $HOME/.quickstart/ssh.config.ansible \ - -L 8080:overcloud.localdomain:80 undercloud - -This uses the ssh ``-L`` command line option to forward port ``8080`` on -your local host to port ``80`` on the ``overcloud.localdomain`` host -(which is defined in ``/etc/hosts`` on the undercloud). Once you have -connected to the undercloud like this, you can then point your browser -at ``http://localhost:8080`` to access Horizon. - -You can add multiple ``-L`` arguments to the ssh command line to expose -multiple services. - - -SSH Dynamic Proxy ------------------ - -You can configure ssh as a -`SOCKS5 `__ proxy with the ``-D`` -command line option. For example, to start a proxy on port 1080:: - - ssh -F $HOME/.quickstart/ssh.config.ansible \ - -D 1080 undercloud - -You can now use this proxy to access any overcloud resources. With curl, -that would look something like this:: - - $ curl --socks5-hostname localhost:1080 http://overcloud.localdomain:5000/ - {"versions": {"values": [{"status": "stable", "updated": "2016-04-04T00:00:00Z",... - -Access to the overclouds horizon web interface ----------------------------------------------- - -With baremetal and ovb based deployments you can access horizon via the -overclouds's controller public ip address http://:80 - -Deploying TripleO in a libvirt based environment presents an additional -challenge of access the isolated ovs networks on the undercloud. By default -an ssh-tunnel service has been setup on the virthost with the tripleo-quickstart -for libvirt deployments. Access horizon with the following. - -From the localhost:: - - http://:8181 - -Overcloud with SSL enabled - - http://:8443 - - - -Using Firefox -^^^^^^^^^^^^^ - -You can configure Firefox to use a SOCKS5 proxy. You may want to create -`create a new -profile `__ -for this so that you don't impact your normal browsing. - -#. Select Edit -> Preferences -#. Select the "Advanced" tab from the list on the left of the window -#. Select the "Network" tab from the list across the top of the window -#. Select the "Settings..." button in the "Connection" section -#. Select "Manual proxy configuration:" in the "Connection Settings" - dialog. -#. Enter ``localhost`` in the "SOCKS Host" field, and enter ``1080`` (or - whatever port you supplied to the ssh ``-D`` option) in the "Port:" - field. -#. Select the "SOCKS5" radio button, and check the "Remote DNS" - checkbox. - -Now, if you enter http://overcloud.localdomain/ in your browser, you will -be able to access the overcloud Horizon instance. Note that you will -probably need to enter the full URL; entering an unqualified hostname -into the location bar will redirect to a search engine rather than -attempting to contact the website. - -Using Chrome -^^^^^^^^^^^^ - -It is not possible to configure a proxy connection using the Chrome UI -without using an extension. You can set things up from the command line -by using `these -instructions `__, -which boil down to starting Chrome like this:: - - google-chrome --proxy-server="socks5://localhost:1080" \ - --host-resolver-rules="MAP * 0.0.0.0" - -sshuttle --------- - -The `sshuttle `__ tool is -something halfway between a VPN and a proxy server, and can be used to -give your local host direct access to the overcloud network. - -#. Note the network range used by the overcloud servers; this will be - the value of ``undercloud_network`` in your configuration, which as - of this writing defaults for historical reasons to ``192.0.2.0/24``. - -#. Install the ``sshuttle`` package if you don't already have it - -#. Run ``sshuttle``:: - - sshuttle \ - -e "ssh -F $HOME/.quickstart/ssh.config.ansible" \ - -r undercloud -v 192.0.2.0/24 - - (Where ``192.0.2.0/24`` should be replaced by whatever address range - you noted in the first step.) - -With this in place, your local host can access any address on the -overcloud network. Hostname resolution *will not work*, but since the -generated credentials files use ip addresses this should not present a -problem. - -CLI access with tsocks ----------------------- - -If you want to use command line tools like the ``openstack`` integrated -client to access overcloud API services, you can use -`tsocks `__, which uses function -interposition to redirect all network access to a SOCKS proxy. - -#. Install the ``tsocks`` package if you don't already have it - available. -#. Create a ``$HOME/.tsocks`` configuration file with the following - content:: - - server = 127.0.0.1 - server_port = 1080 - -#. Set the ``TSOCKS_CONF_FILE`` environment variable to point to this - configuration file:: - - export TSOCKS_CONF_FILE=$HOME/.tsocks - -#. Use the ``tsocks`` command to wrap your command invocations:: - - $ tsocks openstack flavor list - +----+-----------+-------+------+-----------+-------+-----------+ - | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | - +----+-----------+-------+------+-----------+-------+-----------+ - | 1 | m1.tiny | 512 | 1 | 0 | 1 | True | - | 2 | m1.small | 2048 | 20 | 0 | 1 | True | - | 3 | m1.medium | 4096 | 40 | 0 | 2 | True | - | 4 | m1.large | 8192 | 80 | 0 | 4 | True | - | 5 | m1.xlarge | 16384 | 160 | 0 | 8 | True | - +----+-----------+-------+------+-----------+-------+-----------+ - -This solution is known to work with the ``openstack`` integrated client, -and known to *fail* with many of the legacy clients (such as the -``nova`` or ``keystone`` commands). diff --git a/doc/source/accessing-undercloud.rst b/doc/source/accessing-undercloud.rst deleted file mode 100644 index 415f3df94..000000000 --- a/doc/source/accessing-undercloud.rst +++ /dev/null @@ -1,51 +0,0 @@ -.. _accessing-undercloud: - -Accessing the Undercloud -======================== - -Access via the CLI -------------------- - -When your deployment is complete, you will find a file named -``ssh.config.ansible`` located inside your ``local_working_dir`` (which -defaults to ``$HOME/.quickstart``). This file contains configuration -settings for ssh to make it easier to connect to the undercloud host. -You use it like this:: - - ssh -F $HOME/.quickstart/ssh.config.ansible undercloud - -This will connect you to the undercloud host as the ``stack`` user:: - - [stack@undercloud ~]$ - -Once logged in to the undercloud, you can source the ``stackrc`` file if -you want to access undercloud services:: - - [stack@undercloud ~]$ . stackrc - [stack@undercloud ~]$ heat stack-list - +----------...+------------+-----------------+---------------------+--------------+ - | id ...| stack_name | stack_status | creation_time | updated_time | - +----------...+------------+-----------------+---------------------+--------------+ - | 988ad9c3-...| overcloud | CREATE_COMPLETE | 2016-03-21T14:32:21 | None | - +----------...+------------+-----------------+---------------------+--------------+ - -And you can source the ``overcloudrc`` file if you want to interact with -the overcloud:: - - [stack@undercloud ~]$ . overcloudrc - [stack@undercloud ~]$ nova service-list - +----+------------------+-------------------------------------+----------+-... - | Id | Binary | Host | Zone | ... - +----+------------------+-------------------------------------+----------+-... - | 1 | nova-cert | overcloud-controller-0 | internal | ... - | 2 | nova-consoleauth | overcloud-controller-0 | internal | ... - | 5 | nova-scheduler | overcloud-controller-0 | internal | ... - | 6 | nova-conductor | overcloud-controller-0 | internal | ... - | 7 | nova-compute | overcloud-novacompute-0.localdomain | nova | ... - +----+------------------+-------------------------------------+----------+-... - -Note, when an undercloud node is hosted on an OpenStack cloud instead, the ssh -access user name may be 'centos' or the like. And you may not be able to login -as the root. The UC node name may be also prefixed with a given heat stack name, -like `foo-undercloud`. The node also should be given a floating IP to serve as a -bastion host proxying ansible/ssh to overcloud nodes. diff --git a/doc/source/basic-usage.rst b/doc/source/basic-usage.rst deleted file mode 100644 index 447e7fccf..000000000 --- a/doc/source/basic-usage.rst +++ /dev/null @@ -1,140 +0,0 @@ -.. include:: ../../README.rst - -.. _basic_usage: - -Basic usage -=========== - -Getting the script ------------------- - -You can download the ``quickstart.sh`` script with ``curl``:: - - curl -O https://raw.githubusercontent.com/openstack/tripleo-quickstart/master/quickstart.sh - -Alternatively, you can clone this repository and run the script from there. - -Requirements ------------- - -You need some software available on your local system before you can run -``quickstart.sh``. You can install the necessary dependencies by running:: - - bash quickstart.sh --install-deps - -Deploying with instructions ---------------------------- - -Deploy your virtual environment by running:: - - bash quickstart.sh $VIRTHOST - -Where ``$VIRTHOST`` is the name of the host on which you want to install your -virtual triple0 environment. The ``quickstart.sh`` script will install this -repository along with ansible in a virtual environment on your Ansible host and -run the quickstart playbook. Note, the quickstart playbook will delete the -``stack`` user on ``$VIRTHOST`` and recreate it. - -This script will output instructions at the end to access the deployed -undercloud. If a release name is not given, ``queens`` is used. - -Deploying without instructions ------------------------------- -:: - - bash quickstart.sh --tags all $VIRTHOST - -You may choose to execute an end to end deployment without displaying the -instructions and scripts provided by default. Using the ``--tags all`` flag -will instruct quickstart to provision the environment and deploy both the -undercloud and overcloud. Additionally a validation test will be executed to -ensure the overcloud is functional. - -Deploying on localhost ----------------------- -:: - - bash quickstart.sh 127.0.0.2 - -Please note the following when using quickstart to deploy tripleo directly on -localhost. Use the loopback address ``127.0.0.2`` in lieu of localhost as -localhost is reserved by ansible and will not work correctly. The deployment -should pass, however you may not be able to ssh to the overcloud nodes -while using the default ssh config file. The ssh config file that is generated -by quickstart e.g. ``~/.quickstart/ssh.config.ansible`` will try to proxy -through the localhost to ssh to the localhost and will cause an error -if ssh is not setup to support it. - -Re-Deploying ------------- -:: - - bash quickstart.sh -X -b $VIRTHOST - -Please note that ~/.quickstart folder cannot be reused between deployments. It -has to be removed before executing quickstart.sh again. Using the ``-X`` flag, -the script will remove this directory and create it again. - -Note that using ``-b`` flag will also force the creation of the virtualenv -environment and the installation of any requirement. - -Enable Developer mode ---------------------- - -Please refer to -the `OpenStack Documentation -`_ - -Feature Configuration and Nodes -------------------------------- - -In previous versions of tripleo-quickstart a config file was used to determine -not only the features that would be enabled in tripleo and openstack but also -the number of nodes to be used. For instance "config/general_config/ha.yml" would -configure pacemaker and ensure three controller nodes were provisioned. This type -of configuration is now deprecated but will still work through the Queens release. - -The feature and node configuration have been separated into two distinct -configuration files to allow users to explicity select the configuration known as -"feature sets" and the nodes to be provisioned. The feature set configuration -can be found under tripleo-quickstart/config/general_config/ and the node -configuration can be found under tripleo-quickstart/config/nodes/ - -A more in depth description of the feature sets can be found in the documentation -under :ref:`feature-configuration` - -A more in depth description of how to configure nodes can be found in the -documentation under :ref:`node-configuration` - -Working With Quickstart Extras ------------------------------- - -TripleO Quickstart is more than just a tool for quickly deploying a single machine -TripleO instance; it is an easily extensible framework for deploying OpenStack. - -For a how-to please see :ref:`working-with-extras` - -Setting up libvirt guests only ------------------------------- - -At times it is useful to only setup or provision libvirt guests without installing any -TripleO code or rpms. The tripleo-quickstart git repository is designed to provision -libvirt guest environments. Some may be familiar with an older TripleO tool called -instack-virt-setup, these steps would replace that function. - -To deploy the undercloud node uninstalled and empty or blank overcloud nodes -do the following.:: - - bash quickstart.sh --tags all --playbook quickstart.yml $VIRTHOST - -To only deploy one node, the undercloud node do the following.:: - - bash quickstart.sh --tags all --playbook quickstart.yml -e overcloud_nodes="" $VIRTHOST - -Documentation -------------- - -The full documentation is in the ``doc/source`` directory, it can be built -using:: - - tox -e docs diff --git a/doc/source/conf.py b/doc/source/conf.py deleted file mode 100755 index fa24e6e6b..000000000 --- a/doc/source/conf.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# 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. - -import os -import sys - -sys.path.insert(0, os.path.abspath('../..')) -# -- General configuration ---------------------------------------------------- - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [ - 'openstackdocstheme', - 'sphinx.ext.autodoc', -] - -# autodoc generation is a bit aggressive and a nuisance when doing heavy -# text edit cycles. -# execute "export SPHINX_DEBUG=1" in your terminal to disable - -# The suffix of source filenames. -source_suffix = '.rst' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'tripleo-quickstart' -copyright = u'2013, OpenStack Foundation' - -# If true, '()' will be appended to :func: etc. cross-reference text. -add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -add_module_names = True - -# -- Options for HTML output -------------------------------------------------- - -# The theme to use for HTML and HTML Help pages. Major themes that come with -# Sphinx are currently 'default' and 'sphinxdoc'. -# html_theme_path = ["."] -# html_theme = '_theme' -# html_static_path = ['static'] - -# Output file base name for HTML help builder. -htmlhelp_basename = '%sdoc' % project -html_theme = 'openstackdocs' - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass -# [howto/manual]). -latex_documents = [ - ('index', - '%s.tex' % project, - u'%s Documentation' % project, - u'OpenStack Foundation', 'manual'), -] - -# Example configuration for intersphinx: refer to the Python standard library. -# intersphinx_mapping = {'http://docs.python.org/': None} - -# openstackdocstheme options -openstackdocs_repo_name = 'openstack/tripleo-quickstart' -openstackdocs_auto_name = False -openstackdocs_bug_project = 'tripleo' -openstackdocs_bug_tag = 'documentation' diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst deleted file mode 100644 index 14574f24c..000000000 --- a/doc/source/configuration.rst +++ /dev/null @@ -1,151 +0,0 @@ -.. _configuration: - -Configuration -============= - -The virtual environment deployed by tripleo-quickstart is largely -controlled by variables that get there defaults from the ``common`` -role. - -You configure tripleo-quickstart by placing variable definitions in a -YAML file and passing that to ansible using the ``-e`` command line -option, like this:: - - ansible-playbook playbook.yml -e @/path/myconfigfile.yml - -Specifying custom heat templates --------------------------------- - -The ``overcloud_templates_path`` variable can be used to define a -different path where to get the heat templates. By default this variable -will not be set. - -The ``overcloud_templates_repo`` variable can be used to define the -remote repository from where the templates need to be cloned. When this -variable is set, along with ``overcloud_templates_path``, the templates -will be cloned from that remote repository into the target specified, -and these will be used in overcloud deployment. - -The ``overcloud_templates_branch`` variable can be used to specify the -branch that needs to be cloned from a specific repository. When this -variable is set, git will clone only the branch specified. - -Explicit Teardown ------------------ - -You can select what to delete prior to the run of quickstart adding a ---teardown (or -T) options with the following parameters: - -- nodes: default, remove only undercloud and overcloud nodes -- virthost: same as nodes but network setup is deleted too -- all: same as virthost but user setup in virthost is deleted too -- none: will not teardown anything (useful for testing multiple actions - against a deployed overcloud) - -Undercloud customization ------------------------- - -You can perform extra undercloud customization steps, using a script -that will be applied with ``virt-customize`` on the final undercloud -image. To allow that, you need to pass the ``undercloud_customize_script`` -var, that needs to point to an script living on your filesystem. -That script will be copied to working directory, and applied on the -undercloud. The script can be in Jinja template format, so you can benefit -from ansible var substitutions. - -Overcloud customization ------------------------ - -You can perform extra overcloud customization steps, using a script -that will be applied with ``virt-customize`` on the overcloud-full -image. To allow that, you need to pass the ``overcloud_customize_script`` -var, that needs to point to an script living on your filesystem. -That script will be copied to working directory, and applied on the -overcloud. The script can be in Jinja template format, so you can benefit -from ansible var substitutions. - -Consuming external images -------------------------- - -In the usual workflow, tripleo-quickstart relies on the overcloud -and agent images that are shipped in the undercloud. But for certain -types of tests, it is useful to provide your own images. -To achieve that, set the ``use_external_images`` to True. This will -cause to inject all the images listed in the ``inject_images`` list -into the undercloud, so the system can use it. -Please note that you also need to define all the images you want to -fetch, using the ``images`` setting. You will need to define the name -of the image, the url where to get it, and the image type (qcow2, tar). -As a reference, please look at the `config `_ - -Consuming external/custom vmlinuz and initrd for undercloud ------------------------------------------------------------ - -By default, the kernel executable and initial rootfs for an undercloud VM -are extracted from the overcloud image. In order to switch to custom -``undercloud_custom_initrd`` and ``undercloud_custom_vmlinuz`` images, -set the ``undercloud_use_custom_boot_images`` to True. - -Consuming OpenStack hosted VM instances as overcloud/undercloud nodes ---------------------------------------------------------------------- - -.. note:: This is an experimental advanced feature for custom dev/QE - setups, like pre-provisioned (deployed-server) or a split-stack. It has - yet been tested by TripleO CI jobs. Eventually, we'll add a CI job and - switch some of the OVB jobs in order to start testing this mode as well. - -Nova servers pre-provisioned on openstack clouds may be consumed by -quickstart ansible roles by specifying ``inventory: openstack``. - -You should also provide a valid admin user name, like 'centos' or -'tripleo-admin', and paths to ssh keys in the ``overcloud_user``, -``overcloud_key``, ``undercloud_user``, ``undercloud_key`` variables. - -.. note:: The ``ssh_user`` should be refering to the same value as the - ``undercloud_user``. - -To identify and filter Nova servers by a cluster ID, define the -`clusterid` variable. Note that the Nova servers need to have the -`metadata.clusterid` defined for this to work as expected. - -Then set `openstack_private_network_name` to the private network name, -over which ansible will be connecting the inventory nodes, via the -undercloud/bastion node's floating IP. - -Finally, the host openstack cloud access URL and credentials need to be -configured. Here is an example playbook to generate ansible inventory -file and ssh config given an access URL and credentials: - -.. code-block:: yaml - - --- - - name: Generate static inventory for openstack provider by shade - hosts: localhost - any_errors_fatal: true - gather_facts: true - become: false - vars: - undercloud_user: centos - ssh_user: centos - non_root_user: centos - overcloud_user: centos - inventory: openstack - os_username: fuser - os_password: secret - os_tenant_name: fuser - os_auth_url: 'http://cool_cloud.lc:5000/v2.0' - cloud_name: cool_cloud - clusterid: tripleo_dev - openstack_private_network_name: my_private_net - overcloud_key: '{{ working_dir }}/fuser.pem' - undercloud_key: '{{ working_dir }}/fuser.pem' - roles: - - tripleo-inventory - -Next, you may want to check if the nodes are ready to proceed with the -overcloud deployment steps: - -.. code-block:: bash - - ansible --ssh-common-args='-F $HOME/.quickstart/ssh.config.ansible' \ - -i $HOME/.quickstart/hosts all -m ping diff --git a/doc/source/contributing.rst b/doc/source/contributing.rst deleted file mode 100644 index 94c8c9986..000000000 --- a/doc/source/contributing.rst +++ /dev/null @@ -1,88 +0,0 @@ -Contributing -============ - -Bug reports ------------ - -If you encounter any problems with ``tripleo-quickstart`` or if you have -feature suggestions, please feel free to open a bug report in our `issue -tracker `__. Please add the tag -"quickstart" to the bug. - -Code ----- - -Local testing -````````````` - -Before submitting code to Gerrit you *should* do at least some minimal local -testing, like running ``tox -e linters``. This could be automated if you -activate `pre-commit `__ hooks:: - - pip install --user pre-commit - # to enable automatic run on commit: - pre-commit install --install-hooks - # to uninstall hooks - pre-commit uninstall - -Please note that the pre-commit feature is available only on repositories that -do have `.pre-commit-config.yaml `__ file. - -Running ``tox -e linters`` is recommended as it may include additional linting -commands than just pre-commit. So, if you run tox you don't need to run -pre-commit manually. - -Implementation of pre-commit is very fast and saves a lot of disk space -because internally it does cache any linter-version and reuses it between -repositories, as opposed to tox which uses environments unique to each -repository (usually more than one). Also by design pre-commit always pins -linters, making less like to break code because linter released new version. - -Another reason why pre-commit is very fast is because it runs only -on modified files. You can force it to run on the entire repository via -`pre-commit run -a` command. - -Upgrading linters is done via ``pre-commit autoupdate`` but this should be -done only as a separate change request. - -Submitting code -``````````````` -If you *fix* a problem or implement a new feature, you may submit your -changes via Gerrit. The ``tripleo-quickstart`` project uses the -`OpenStack Gerrit -workflow `__. - -You can anonymously clone the repository via -``git clone https://opendev.org/openstack/tripleo-quickstart.git`` - -If you wish to contribute, you'll want to get setup by following the -documentation available at `How To -Contribute `__. - -Developers are encouraged to install `pre-commit `__ in order -to auto-perform a minimal set of checks on commit. - -Once you've cloned the repository using your account, install the -`git-review `__ -tool, then from the ``tripleo-quickstart`` repository run:: - - git review -s - -After you have made your changes locally, commit them to a feature -branch, and then submit them for review by running:: - - git review - -Your changes will be tested by our automated CI infrastructure, and will -also be reviewed by other developers. If you need to make changes (and -you probably will; it's not uncommon for patches to go through several -iterations before being accepted), make the changes on your feature -branch, and instead of creating a new commit, *amend the existing -commit*, making sure to retain the ``Change-Id`` line that was placed -there by ``git-review``:: - - git ci --amend - -After committing your changes, resubmit the review:: - - git review diff --git a/doc/source/design.rst b/doc/source/design.rst deleted file mode 100644 index 5d3044655..000000000 --- a/doc/source/design.rst +++ /dev/null @@ -1,179 +0,0 @@ -============================================= -Overview for the design of tripleo-quickstart -============================================= - -One of the barriers to entry for trying out TripleO and its derivatives has -been the relative difficulty in getting an environment up quickly and -understanding the steps required. The TripleO team has solved these two -fundamental problems with tripleo-quickstart. This document will -serve as a place to document the high level design of tripleo-quickstart and -how the design solves users problems. - -What is tripleo-quickstart? -=========================== - -When we refer to tripleo-quickstart we often are talking about two separate -projects tripleo-quickstart and tripleo-quickstart-extras. The following is a -brief description of each project. - -* **tripleo-quickstart** is an Ansible tool that provisions the virtual guests, - networking, and other environmental details to enable a kvm guest based - deployment of TripleO. This is very handy for development, test, or proof of - concept (POC) deployments. - -* **tripleo-quickstart-extras** are a set of composable Ansible roles that can - be used to configure, deploy, perform post install actions like scale or - upgrade TripleO. These individual Ansible roles are narrow in scope to do one - thing and one thing well. The tightly scoped roles also allows smart parts of - the project to be easily overridden when required. These roles are designed to - be self documenting and match the official TripleO documentation. - -Problems tripleo-quickstart attempts to solve -============================================= - * Automate the setup and deployment of TripleO - * Make the deployment as fast as possible - * Help make the TripleO deployment easier to understand and welcoming to - newcomers - * Make a tool that is attractive to OpenStack developers - -Scenarios -========= - #. Jake the OpenStack developer has a test computer, he has - installed OpenStack with DevStack but is interested in TripleO. - Jake has some experience with OpenStack but could be considered a - relative newcomer. - #. Joan is an experienced OpenStack developer that is looking to develop - and test her patches to OpenStack in various ways - and testing environments. - -Platform support -================ - * CentOS - * Red Hat Enterprise Linux - * Fedora [*]_ - -TripleO-Quickstart deploys TripleO therefore is also subject to `TripleO's -requirements `_. - -Problem: Automate the setup and deployment of TripleO -===================================================== -There are many tools one can use to automated the deployment -of TripleO, we have chosen `Ansible `_. -The following is a list of design decisions made to solve the problem. - - * Use ansible to provision a libvirt environment in which to deploy OpenStack - with TripleO - * Use ansible's composable roles and playbooks to provide a flexible and - repeatable experience. - - Solve for Scenario #1 - * Focus on virtualization tools available in CentOS and Red Hat Enterprise - Linux, use libvirt - * Create an easy to use script to execute tripleo-quickstart e.g. - quickstart.sh that Jake can just download and execute - - Example::: - - curl -O https://raw.githubusercontent.com/openstack/tripleo-quickstart/master/quickstart.sh - bash quickstart.sh - - Solve for Scenario #2 - * Allow Joan to use libvirt guests, `bare metal `_, or `OpenStack host clouds `_ as test/development environments - * Allow Joan to pull changes from OpenStack gerrit and build and install the - patches into the deployment workflow see the following for details :ref:`devmode`. - the patch(es) into her deployment - * Allow Joan to test her patch with testing tools like `tempest - `_ or `more basic tests `_ - -Problem: Make the deployment as fast as possible -================================================ -A deployment of TripleO by default takes more time to install than let's say -`DevStack `_. -TripleO is a much more robust and capable deployment so with great power -comes great patience. People are not always patient so how can -we speed up the deployment? By building preinstalled images we hope to -improve the install time of TripleO. - - * We have created the `build image `_ ansible role. - * The TripleO team hosts TripleO images for the public at - `ci.centos `_ - and `here `_ - -Problem: Help make the deployment steps easier to understand -============================================================ -Deploying any OpenStack distribution **and** understanding what is happening -behind the scenes is not easy for newcomers. Ideally we would have a tool that -prints out the documentation and executes each step for the user. -This way one would have the commands required for a deployment and the context -to give each command meaning. - - Solve for Scenario #1 - * Provision an environment and `create all the scripts and documentation - `_ one needs for a successful deployment - **without** automatically deploying. Let the user take it **step by - step** while reading and analyzing the commands with the in-line - documentation. - - Solve for Scenario #2 - * Again, allow developers to integrate their patches, reference :ref:`devmode`, - but also allow experienced developers to update the commands, turn on - debug, hand edit code by `providing the scripts `_ to deploy **without** automatically - deploying. - -We could translate the deployment steps into ansible and use OpenStack libraries -built for OpenStack like `shade `_ -Both tools are very well designed and would be more than sufficient to deploy -OpenStack with TripleO. We would be afforded idempotency and other benefits -of ansible, why not use these tools? - - Answer for Scenario #1 - * It's important that users can **directly** map official TripleO - documentation to the steps automated in this tool. The official TripleO - and Red Hat OpenStack Platform both document the deployment using bash - commands. New users may not be able to translate ansible to bash and - vice versa. - - Answer for Scenario #2 - * Not every OpenStack developer is experienced with Ansible. - For the steps that drive a TripleO deployment it was considered ideal - to use traditional OpenStack programming languages like bash and python. - -To ensure this tool only uses supported OpenStack and TripleO commands and -could provide both scripts and documentation to users, -`jinja templated bash `_ was chosen. - -Make a tool that is attractive to OpenStack developers -====================================================== -It is critical that OpenStack developers can develop and test their patches -**outside** of the OpenStack CI system in the same way that they are tested -**inside** the CI system, developers need to be able to recreate CI results. -By abstracting out environments but providing the same inputs one can be assured -to get the same results from tripleo-quickstart whether using upstream -OpenStack CI or a local tripleo-quickstart deployment on libvirt. - - Solve for Scenario #2 - * use composable ansible `roles `_ that have limited scope - and are reusable. Small tools that do one thing and do one thing well has - proven to be a robust model. - * Allow developers to test their patches, reference :ref:`devmode` - * Allow developers to extend code :ref:`working-with-extras` to - suit their own needs - * Allow for multiple tripleo deployments on the same virthost which saves on - hardware resources. - -Footnotes: -========== -.. [*] Fedora may work but is not guaranteed to work as we do not currently - have a CI system that provides Fedora. Changes to TripleO Quickstart - are not gated against Fedora hosts or cloud images. diff --git a/doc/source/devmode-ovb.rst b/doc/source/devmode-ovb.rst deleted file mode 100644 index 62bf3fa87..000000000 --- a/doc/source/devmode-ovb.rst +++ /dev/null @@ -1,10 +0,0 @@ -============================================================================ -Running TripleO Deployments on an OVB Cloud using tripleo-quickstart devmode -============================================================================ - -Brief Instructions -================== - -Please refer to -the `OpenStack Documentation -`_ diff --git a/doc/source/devmode.rst b/doc/source/devmode.rst deleted file mode 100644 index 7651eb0f8..000000000 --- a/doc/source/devmode.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. _devmode: - -Using Quickstart for Development -================================ - -Please refer to -the `OpenStack Documentation -`_ diff --git a/doc/source/environment-configuration.rst b/doc/source/environment-configuration.rst deleted file mode 100644 index 152ca0932..000000000 --- a/doc/source/environment-configuration.rst +++ /dev/null @@ -1,33 +0,0 @@ -.. _environment-configuration: - -Environment Configuration -========================= - -TripleO-Quickstart has the requirement and capacity to execute in several -different environments and using different types of systems to bootstrap -the environments. - -Some known examples of different environments are: - - * upstream OpenStack CI - * CI CentOS (ci.centos.org) - * local libvirt environments - * running OVB based deployments in various clouds - * Using a CentOS or RHEL qcow2 image without preinstalled OpenStack RPMS. - * Developer environments with libvirt in privileged mode - -Anything defined in an environment configuration file should not impact or -overwrite a variable in a featureset, topology or release configuration file. -There should be no intersection of variables between the three types of -configuration. - -You will find environment configuration files under $repo/config/environments. -Some of the environment configuration will be stored in TripleO Quickstart or -TripleO Quickstart Extras, however sometimes the configuration is specific -to CI and may only exist in the environment itself. For example variables -specific to executing TripleO Quickstart in upstream will live in -https://opendev.org/openstack/tripleo-ci/src/branch/master/toci-quickstart - -Example Invocation:: - - quickstart.sh -E config/environments/default_libvirt.yml $VIRTHOST diff --git a/doc/source/feature-configuration-generated.rst b/doc/source/feature-configuration-generated.rst deleted file mode 100644 index c3e6b6bbf..000000000 --- a/doc/source/feature-configuration-generated.rst +++ /dev/null @@ -1,247 +0,0 @@ -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| Fset# | BrowB | Cephd | ConOC | ConUC | HAval | HConv | IPv6 | Idemp | Intro | NIsol | NItyp | PingT | SSLoc | Scen# | Stdln | Temps | UPDoc | UPGff | UPGff | UPGoc | UPGuc | -+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+=======+ -| 001_ | | ❍ | | | | | | | ◉ | ◉ | ☰ | ❍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 002_ | | ❍ | | | | | | ❍ | ◉ | ◉ | ☰ | ❍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 003_ | | | | ❍ | | | | ◉ | | | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 005_ | | | | | | | | | | | | ◍ | | 001 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 006_ | | | | | | | | | | | | ◍ | | 002 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 007_ | | | | | | | | | | | | ◍ | | 003 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 008_ | | | | | | | | | | | | ◍ | | 004 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 009_ | | | | | | | | | | | | ◉ | | 005 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 010_ | | ◍ | ◉ | ◍ | | | ❍ | | | ❍ | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 012_ | | | ❍ | | | | ❍ | | ❍ | ❍ | | ◉ | ❍ | 001 | | | | | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 013_ | | | ❍ | | | | ❍ | | ❍ | ❍ | | ◉ | ❍ | 002 | | | | | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 014_ | | | ❍ | | | | ❍ | | ❍ | ❍ | | ◉ | ❍ | 003 | | | | | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 015_ | | | ❍ | | | | ❍ | | ❍ | ❍ | | ◉ | ❍ | 004 | | | | | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 016_ | | | ◉ | ◍ | | | ❍ | | ❍ | ❍ | | ◍ | ❍ | 001 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 017_ | | | ◉ | ◍ | | | ❍ | | ❍ | ❍ | | ◍ | | 002 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 018_ | | | ◉ | ◍ | | | ❍ | | ❍ | ❍ | | ◍ | ❍ | 003 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 019_ | | | ◉ | ◍ | | | ❍ | | ❍ | ❍ | | ◍ | ❍ | 004 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 020_ | | ◍ | ◍ | ◍ | | | | ◍ | ◉ | ◉ | ☰ | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 021_ | | ❍ | ◍ | ◍ | | | | | ◉ | ◉ | ☰ | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 022_ | | ❍ | ◉ | | | | ❍ | | ◉ | ❍ | | ◉ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 023_ | | | | | | | | | | | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 024_ | | ◉ | | | | | ◉ | | ◉ | ◉ | ☰ | ◉ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 025_ | | ❍ | | | | ◉ | | | ◉ | ◉ | ☰ | ◉ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 026_ | | ❍ | ◉ | | | | ❍ | | | ❍ | | ❍ | ❍ | 006 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 027_ | | ❍ | ❍ | ◉ | | | ❍ | | ❍ | ❍ | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 028_ | | ❍ | ❍ | | | | ❍ | | | ❍ | | ❍ | ❍ | 007 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 030_ | | ❍ | ◉ | ◍ | | | ❍ | | | ❍ | | ❍ | ❍ | 007 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 031_ | | ❍ | ◉ | | | | ❍ | | | ❍ | | ❍ | ❍ | 008 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 032_ | | | ◉ | ◍ | | | ❍ | | | ❍ | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 033_ | | ❍ | ◉ | ◉ | | | ❍ | | | ❍ | | ❍ | ❍ | 009 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 035_ | | ❍ | ◉ | ◍ | | | ◉ | | ◉ | ◉ | ☰ | ❍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 036_ | | | | | | | | | | | | ❍ | | 002 | | | | ◉ | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 037_ | | ◍ | ◉ | ◍ | | | ❍ | | | ❍ | | ❍ | ❍ | 000 | | | ◉ | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 038_ | | | ◉ | ◍ | | | ❍ | | | ❍ | | ❍ | ❍ | 010 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 039_ | | ◍ | ◍ | ◍ | | | | | ◉ | ◉ | ☰ | ◍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 040_ | | | ◉ | ◍ | | | ❍ | | ❍ | | | ❍ | ❍ | 003 | | | | | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 041_ | | ◍ | ◍ | ◍ | ◉ | | | | ◉ | ◉ | ☰ | ◍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 042_ | | ❍ | ◉ | | | | | | ◉ | ◉ | ☰ | ❍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 043_ | | ◍ | ◍ | ◍ | | | | | ◉ | ◉ | ─ | ◍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 045_ | | | ◉ | | | | ❍ | | ❍ | | | ◉ | ❍ | 000 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 047_ | | | ❍ | ❍ | | | | ◉ | | | | ❍ | ❍ | | | | | | | ❍ | ◉ | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 048_ | | ❍ | ◍ | | | | | | ◉ | ❍ | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 049_ | | ◉ | ◉ | | | | | | ❍ | ◉ | ─ | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 050_ | | | ◉ | ◉ | | | | | | | | ❍ | ❍ | | | | | | | ❍ | ◉ | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 051_ | | | ◉ | ◍ | | | ❍ | | ❍ | ❍ | | ❍ | ❍ | 000 | | | | | | ◉ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 052_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 053_ | | | | | | | | | | | | | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 054_ | | | ◉ | | | | ❍ | | | ❍ | | ❍ | ❍ | 012 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 055_ | | | ◉ | | | | ❍ | | ❍ | ❍ | | ◍ | ❍ | 002 | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 056_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 058_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 060_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 061_ | | ❍ | ❍ | ◉ | | | ❍ | | ❍ | ❍ | | ❍ | | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 062_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 063_ | | ◍ | ◍ | ◍ | | | | | ◉ | ◉ | ☰ | ❍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 064_ | | ❍ | ◉ | ◉ | | | | | ◉ | ◉ | ☰ | ❍ | ◉ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 065_ | | | ◉ | ◉ | | | | | | | | ❍ | ❍ | | | | | | ◉ | ❍ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 066_ | | | ◉ | ◉ | | | ❍ | | | ❍ | | ❍ | ❍ | | | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 067_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | ❍ | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ -| 099_ | | | | | | | | | | | | ❍ | | | ◉ | | | | | | | -+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+ - -+---------+----------------------------------+ -| Acronym | Definition | -+=========+==================================+ -| BrowB | Browbeat performance testing | -+---------+----------------------------------+ -| Cephd | Ceph deploy | -+---------+----------------------------------+ -| ConOC | Containerized overcloud | -+---------+----------------------------------+ -| ConUC | Containerized undecloud | -+---------+----------------------------------+ -| HAval | HA Validation | -+---------+----------------------------------+ -| HConv | Undercloud Heat Convergence | -+---------+----------------------------------+ -| IPv6 | Overcloud IPv6 | -+---------+----------------------------------+ -| Idemp | Undercloud Idempotency Check | -+---------+----------------------------------+ -| Intro | Introspection | -+---------+----------------------------------+ -| NIsol | Network Isolation | -+---------+----------------------------------+ -| NItyp | Network Isolation Type | -+---------+----------------------------------+ -| PingT | Ping and ssh tests | -+---------+----------------------------------+ -| SSLoc | Overcloud SSL | -+---------+----------------------------------+ -| Scen# | Scenario ### | -+---------+----------------------------------+ -| Stdln | Standalone Deploy | -+---------+----------------------------------+ -| Temps | run Tempest | -+---------+----------------------------------+ -| UPDoc | Overcloud Update (Minor Upgrade) | -+---------+----------------------------------+ -| UPGff | Fast-forward Overcloud Upgrade | -+---------+----------------------------------+ -| UPGff | Fast-forward Undercloud Upgrade | -+---------+----------------------------------+ -| UPGoc | Overcloud Major Upgrade | -+---------+----------------------------------+ -| UPGuc | Undercloud Upgrade | -+---------+----------------------------------+ - - -+--------+---------------------------------------------------+ -| Symbol | Description | -+========+===================================================+ -| ◉ | Feature enabled in all releases | -+--------+---------------------------------------------------+ -| ◍ | Feature enabled in certain releases only | -+--------+---------------------------------------------------+ -| ❍ | Feature explicitly disabled in all releases | -+--------+---------------------------------------------------+ -| | Feature not found | -+--------+---------------------------------------------------+ -| ☰ | Network isolation multiple network interfacecards | -+--------+---------------------------------------------------+ -| ─ | Network isolation single network interface card | -+--------+---------------------------------------------------+ - - -.. _001: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset001.yml -.. _002: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset002.yml -.. _003: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset003.yml -.. _005: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset005.yml -.. _006: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset006.yml -.. _007: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset007.yml -.. _008: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset008.yml -.. _009: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset009.yml -.. _010: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset010.yml -.. _012: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset012.yml -.. _013: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset013.yml -.. _014: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset014.yml -.. _015: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset015.yml -.. _016: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset016.yml -.. _017: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset017.yml -.. _018: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset018.yml -.. _019: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset019.yml -.. _020: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset020.yml -.. _021: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset021.yml -.. _022: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset022.yml -.. _023: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset023.yml -.. _024: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset024.yml -.. _025: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset025.yml -.. _026: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset026.yml -.. _027: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset027.yml -.. _028: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset028.yml -.. _030: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset030.yml -.. _031: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset031.yml -.. _032: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset032.yml -.. _033: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset033.yml -.. _035: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset035.yml -.. _036: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset036.yml -.. _037: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset037.yml -.. _038: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset038.yml -.. _039: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset039.yml -.. _040: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset040.yml -.. _041: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset041.yml -.. _042: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset042.yml -.. _043: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset043.yml -.. _045: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset045.yml -.. _047: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset047.yml -.. _048: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset048.yml -.. _049: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset049.yml -.. _050: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset050.yml -.. _051: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset051.yml -.. _052: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset052.yml -.. _053: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset053.yml -.. _054: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset054.yml -.. _055: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset055.yml -.. _056: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset056.yml -.. _058: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset058.yml -.. _060: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset060.yml -.. _061: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset061.yml -.. _062: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset062.yml -.. _063: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset063.yml -.. _064: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset064.yml -.. _065: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset065.yml -.. _066: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset066.yml -.. _099: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config//featureset099.yml diff --git a/doc/source/feature-configuration.rst b/doc/source/feature-configuration.rst deleted file mode 100644 index aef30ba76..000000000 --- a/doc/source/feature-configuration.rst +++ /dev/null @@ -1,54 +0,0 @@ -.. _feature-configuration: - -Feature Configuration -===================== - -One can configure the Openstack features installed on either the undercloud -or overcloud by placing variable definitions in a YAML file and passing that -to quickstart using the ``-c`` command line option, like this:: - - quickstart.sh -c config/general_config/featureset001.yml - -Each feature set can also deploy a customized list of Openstack services. These -services are defined by the tripleo-heat-templates used for the overcloud deployment. -A definition of the services can be found -`here `_ - -Below is a table with various features listed in each row and the features enabled -in each feature set configuration file in each column. When adding new configurations -please consult the following `etherpad `_ - -This matrix is automatically generated by `fs-matrix.py` script. -Follow `Updating Feature Configuration`_ to update the featureset configuration matrix. - - -.. include:: feature-configuration-generated.rst - -Notes and known limitations: - -- Featureset011, Featureset004: - - deprecated in favor of standalone jobs - - will most likely fail if used with recent release -- Featureset037, Overcloud Update: - - this doesn't change the container image file. - -.. _MatrixUpdate: - -Updating Feature Configuration -============================== - -The feature configuration matrix is automatically generated by the script fs-matrix.py. -The script reads all yml files from config/general_config/featureset*.yml and creates -an rst formatted output. Whenever an existing featureset file is modified or a new one -is created, the feature configuration matrix must be refreshed. - -In order to update the featureset matrix, run:: - - tox -e docs - -By running this, tox calls fs-matrix.py and redirects output to -doc/source/feature-configuration-generated.rst, which in turn, is included by -doc/source/feature-configuration.rst. - -.. warning:: - DO NOT MODIFY doc/source/feature-configuration-generated.rst manually. diff --git a/doc/source/getting-started.rst b/doc/source/getting-started.rst deleted file mode 100644 index 2be07ef39..000000000 --- a/doc/source/getting-started.rst +++ /dev/null @@ -1,308 +0,0 @@ -.. _getting_started: - -Getting started with TripleO-Quickstart -======================================= - -For the most basic invocations of TripleO-Quickstart please refer to the -:ref:`basic_usage`. This quide will walk you through the basic setup -and execution. - -This document will walk through some more basic invocations of -TripleO-Quickstart once you've had success with the steps outlined in the -guide. - -A step by step deployment with playbooks ----------------------------------------- - -This section will walk a user through a full deployment step by step by running -ansible playbooks for each major part of the full deployment. The major steps -include: - -* Provision a libvirt environment -* Install the Undercloud -* Prepare for the Overcloud deployment -* Deploy the Overcloud -* Validate the Overcloud is functional - -Provision a libvirt guest environment -------------------------------------- - -First things first and in this case we need libvirt guests -setup and running to host the TripleO Undercloud and Overcloud - -.. note:: By default, Quickstart builds the guests' images using qemu - emulation (``LIBGUESTFS_BACKEND_SETTINGS=force_tcg``), which is slow - but just works. In order to enable KVM acceleration, use - ``export LIBGUESTFS_BACKEND_SETTINGS=network_bridge=virbr0``. - It may be like a 4 times faster to build VM images in that mode, - except that you may be hit by bug1743749_. - - .. _bug1743749: https://bugs.launchpad.net/tripleo/+bug/1743749 - -Example:: - - export LIBGUESTFS_BACKEND_SETTINGS=network_bridge=virbr0 - bash quickstart.sh -R master --no-clone --tags all \ - --nodes config/nodes/1ctlr_1comp.yml -p quickstart.yml $VIRTHOST - -Note the use of the option `--nodes 1ctlr_1comp.yml`. The nodes option allows -you to specify the topology of the deployment. Additional topologies can be -found under tripleo-quickstart/config/nodes. - -Reviewing each step in the deployment -------------------------------------- - -Once the environment is provisioned a user can ssh into the Undercloud in each -of the following steps and review the bash shell scripts and logs in the home -directory of the Undercloud. - -Example:: - - ssh -F ~/.quickstart/ssh.config.ansible undercloud - -Install the Undercloud ----------------------- - -Your next step is to install the TripleO Undercloud. We will use the same -command used in the provisioning step but we'll need to indicate to quickstart -to reuse the ansible inventory file and not to teardown any of the nodes we just -provisioned: - -* ``-I`` : retain the ansible inventory and ssh configuration -* ``--teardown none`` : do not shutdown any of the libvirt guests - -Example:: - - bash quickstart.sh -R master --no-clone --tags all --nodes config/nodes/1ctlr_1comp.yml \ - -I --teardown none -p quickstart-extras-undercloud.yml $VIRTHOST - -Backup your environment ( optional ) ------------------------------------- - -When working with the overcloud deployment only many people find -it more efficient to backup the undercloud install versus reinstalling -and starting from the beginning - -In this example the libvirt configurations, images and ssh keys will be -backed up and restored. Thus allowing someone to start with a known -good undercloud without resetting up the undercloud and nodes. - -Backup Example:: - - # logged in as the stack user - virsh autostart --disable undercloud - virsh shutdown undercloud - cd /home/stack/ - tar -cvf qs_backup.tar .config/libvirt/ pool/ volume_pool.xml id_rsa* - - # backup complete, now restart the environment - sudo systemctl start libvirtd - sudo chown stack:stack /run/user/ < need to fix > - virsh start undercloud - ssh -F ~/.quickstart/ssh.config.ansible undercloud - -Restore Example:: - - # logged in as the stack user - virsh destroy undercloud - virsh destroy compute_0 - virsh destroy control_0 - sudo systemctl stop libvirtd - tar -xvf qs_backup.tar - sudo systemctl start libvirtd - sudo chown stack:stack /run/user/ < need to fix > - virsh start undercloud - -Prepare the TripleO Overcloud for deployment --------------------------------------------- - -Once the Undercloud is deployed there are a few additional steps required prior -to deploying the Overcloud. These steps include: - -* configuration preparation -* container preparation -* importing Overcloud images -* ironic introspection of the Overcloud nodes -* creating OpenStack flavors for profile matching the Overcloud nodes. -* network configuration -* SSL configuration - -Example:: - - bash quickstart.sh -R master --no-clone --tags all --nodes config/nodes/1ctlr_1comp.yml \ - -I --teardown none -p quickstart-extras-overcloud-prep.yml $VIRTHOST - -Deploy the TripleO Overcloud ----------------------------- - -This step will execute the steps required to deploy the Overcloud. The -Overcloud deployment can be reexecuted as long as the stack is removed prior to -rerunning. - -Example:: - - bash quickstart.sh -R master --no-clone --tags all --nodes config/nodes/1ctlr_1comp.yml \ - -I --teardown none -p quickstart-extras-overcloud.yml $VIRTHOST - -Validate the TripleO Overcloud is functional --------------------------------------------- - -This step will run tests to determine the quality of the deployment. The -preferred method to determine the quality is to execute tempest however one can -also deploy a test heat stack on the Overcloud that includes a ping test. - -Example:: - - bash quickstart.sh -R master --no-clone --tags all --nodes config/nodes/1ctlr_1comp.yml \ - -I --teardown none -p quickstart-extras-validate.yml $VIRTHOST - -Using tags to atomically execute specific phases of the deployment ------------------------------------------------------------------- - -Developers and testers may be interested in only running discrete tasks in an -atomic fashion. Ansible offers an additional powerful way to control the flow -of execution via ansible tags. -A TripleO-Quickstart with TripleO-Quickstart-Extras deployment can be driven -with tags by using the main playbook ``quickstart-extras.yml``, which contains -the four playbooks mentioned above. -The specific tags that help users to control the workflow are: - - * In ``quickstart.yml``: - - * provision - * environment - * libvirt - * undercloud-inventory - - * In ``quickstart-extras-undercloud.yml``: - - * freeipa-setup - * undercloud-setup - * undercloud-deploy - - * In ``quickstart-extras-overcloud-prep.yml``: - - * overcloud-prep-config - * overcloud-prep-containers - * overcloud-prep-images - * overcloud-prep-flavors - * overcloud-prep-network - * overcloud-ssl - - * In ``quickstart-extras-overcloud.yml``: - - * overcloud-deploy - * overcloud-inventory - * overcloud-check - - * In ``quickstart-extras-validate.yml``: - - * overcloud-validate - -For example, a user may want to only provision their environment::: - - $HOMEDIR/tripleo-quickstart/quickstart.sh \ - --bootstrap \ - --no-clone \ - --working-dir $WORKDIR \ - --config $HOMEDIR/workdir/config.yml \ - --nodes $HOMEDIR/workdir/nodes.yml \ - --playbook quickstart-extras.yml \ - --teardown "all" \ - --tags "provision" \ - --release master \ - $VIRTHOST - -The option ``--tags "provision"`` will execute JUST the provision task on the -``$VIRTHOST`` machine so that a developer, for example, will be able to act on -the ``undercloud.cow2`` image placed in this path::: - - [root@VIRTHOST ~]# ls -la /var/cache/tripleo-quickstart/images/ - total 11889496 - drwxrwxr-x. 2 stack stack 4096 12 giu 12.42 . - drwxrwxr-x. 3 stack stack 20 30 mag 10.46 .. - -rw-rw-r--. 1 stack stack 2891579392 12 giu 12.42 0d2952297e7c562b7e82739e0ad162e9.qcow2 - lrwxrwxrwx. 1 stack stack 75 12 giu 12.42 latest-undercloud.qcow2 -> /var/cache/tripleo-quickstart/images/0d2952297e7c562b7e82739e0ad162e9.qcow2 - -Then it is possible to continue the deployment, but the command line must be -different, it must contain options to preserve what was made before. -Like this::: - - $HOMEDIR/tripleo-quickstart/quickstart.sh \ - --retain-inventory \ - --teardown none \ - --ansible-debug \ - --no-clone \ - --working-dir /path/to/workdir \ - --config /path/to/config.yml \ - --nodes /path/to/nodes.yml \ - --playbook quickstart-extras.yml \ - --release master \ - --tags "environment" \ - $VIRTHOST - -The two main options here are ``--retain-inventory`` which keep all the -previously generated configurations (hosts and ssh files) and -``--teardown none`` which will preserve any previously created virtual machine. -At this point we will be able to list virtual machines as unprivileged user -stack on the ``$VIRTHOST``::: - - [stack@had-05 ~]$ virsh list - Id Name State - ---------------------------------------------------- - -It is also possible to use more than a tag in a single run, like in this case::: - - $HOMEDIR/tripleo-quickstart/quickstart.sh \ - --retain-inventory \ - --teardown none \ - --working-dir /path/to/workdir \ - --config /path/to/config.yml \ - --nodes /path/to/nodes.yml \ - --playbook quickstart-extras.yml \ - --release $RELEASE \ - --tags "libvirt,undercloud-inventory" \ - $VIRTHOST - -In which basically we move on with the deployment, launching the libvirt setup -on the remote host that will deploy the undercloud virtual machine and get its -IP address to be able to include it inside the inventory. -At the end of these steps we will have all the virtual machines prepared, with -the undercloud already running::: - - [stack@had-05 ~]$ virsh list --all - Id Name State - ---------------------------------------------------- - 2 undercloud running - - compute_0 shut off - - compute_1 shut off - - control_0 shut off - - control_1 shut off - - control_2 shut off - -And in addition the ``hosts`` file inside the working directory will be -populated with the new data coming from the newly installed undercloud machine, -making us able to access it like this::: - - ssh -F /path/to/workdir/ssh.config.ansible undercloud - -At this point we're able to proceed with the undercloud configuration part, -following the same approach and using the tags that are relevant to this -specific phase. Looking at ``quickstart-extras-undercloud.yml`` playbook the -tags for our purpose are ``undercloud-setup`` and ``undercloud-deploy``, so -the command line will be::: - - $HOMEDIR/tripleo-quickstart/quickstart.sh \ - --retain-inventory \ - --teardown none \ - --working-dir /path/to/workdir \ - --config /path/to/config.yml \ - --nodes /path/to/nodes.yml \ - --playbook quickstart-extras.yml \ - --release $RELEASE \ - --tags "undercloud-setup,undercloud-deploy" \ - $VIRTHOST - -While the command ends, the user will be able to act on the undercloud and -then when, everything is ready on his side, proceed with the further steps at -the same, atomic, way. diff --git a/doc/source/index.rst b/doc/source/index.rst deleted file mode 100644 index bf52dc68e..000000000 --- a/doc/source/index.rst +++ /dev/null @@ -1,25 +0,0 @@ -Welcome to tripleo-quickstart's documentation! -============================================== - -Contents: - -.. toctree:: - :maxdepth: 2 - - getting-started - basic-usage - configuration - feature-configuration - node-configuration - environment-configuration - accessing-libvirt - accessing-undercloud - accessing-overcloud - unprivileged - devmode - devmode-ovb - design - contributing - working-with-extras - rhosp - troubleshoot diff --git a/doc/source/node-configuration.rst b/doc/source/node-configuration.rst deleted file mode 100644 index 9a7c1e01c..000000000 --- a/doc/source/node-configuration.rst +++ /dev/null @@ -1,174 +0,0 @@ -.. _node-configuration: - -Node Configuration -================== - -This section explains the various ways a user can configure nodes. - -Libvirt Node Configuration --------------------------- - -You configure the overcloud nodes by placing variable definitions in a -YAML file and passing that to ansible using the ``-N`` command line -option, like this:: - - quickstart.sh -N config/nodes/1ctlr_1comp.yml - -Setting number and type of overcloud nodes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ``overcloud_nodes`` variable can be used to change the number and -type of nodes deployed in your overcloud. Begining of the default -`(config/nodes/1ctlr_1comp.yml) `_ looks like this. - -.. code-block:: yaml - - overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - default_name: overcloud-controller-0 - hostnamemap_override: overcloud-controller-foo-0 - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - default_name: overcloud-novacompute-0 - hostnamemap_override: overcloud-novacompute-bar-0 - - -You can use your own config if you want to test a different setup. For -example: - -.. code-block:: yaml - - overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - name: control_1 - flavor: control - virtualbmc_port: 6231 - - name: control_2 - flavor: control - virtualbmc_port: 6232 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6233 - - - name: ceph_0 - flavor: ceph - virtualbmc_port: 6234 - - - name: swift_0 - flavor: objectstorage - virtualbmc_port: 6235 - - -Controlling resources -~~~~~~~~~~~~~~~~~~~~~ - -These variables set the resources that will be assigned to a node by -default, unless overridden by a more specific variable: - -- ``default_disk`` -- ``default_memory`` -- ``default_vcpu`` - -These variables set the resources assigned to the undercloud node: - -- ``undercloud_disk`` -- ``undercloud_memory`` (defaults to **12288**) -- ``undercloud_vcpu`` (defaults to **4**) - -These variables set the resources assigned to controller nodes: - -- ``control_disk`` -- ``control_memory`` -- ``control_vcpu`` - -These variables control the resources assigned to compute nodes: - -- ``compute_disk`` -- ``compute_memory`` -- ``compute_vcpu`` - -These variables control the resources assigned to ceph storage nodes: - -- ``ceph_disk`` -- ``ceph_memory`` -- ``ceph_vcpu`` - -There is another option ``extradisks`` that can be used to create three -additional blockdevices ``vdb``, ``vdc`` and ``vdd`` per node. By default it is -only enabled on the objectstorage node flavor. Note that ironic will pick the -smallest disk available in the node when there are multiple disks attached. You -must either set the same size to all the disks using ``extradisks_size`` or -provide ``root_device_hints`` to set in ironic. - -An example -~~~~~~~~~~ - -To create a minimal environment that would be unsuitable for deploying -anything real nova instances, you could place something like the -following in ``myconfigfile.yml``: - -.. code-block:: yaml - - undercloud_memory: 8192 - control_memory: 6000 - compute_memory: 2048 - - overcloud_nodes: - - name: control_0 - flavor: control - virtualbmc_port: 6230 - - - name: compute_0 - flavor: compute - virtualbmc_port: 6231 - -And then pass that to the ``ansible-playbook`` command as described at -the beginning of this document. - -Baremetal Node Configuration ----------------------------- - -Baremetal deployments are unique from libvirt virtual deployments in that -the hardware, the specs, and network settings can not be adjusted via a -configuration file. These settings for each individual baremetal deployment -are unique and must be stored separately. - -What the baremetal node configuration ``baremetal.yml`` does is essentially -ensuring that no libvirt guests are provisioned setting overcloud_nodes to -null: - -.. code-block:: yaml - - overcloud_nodes: - -The pattern and layout for baremetal hardware configuration can be found -in `this doc `_ - -For additional support with baremetal deployments please visit the #oooq -channel on OFTC irc. - -OpenStack Virtual Baremetal Node Configuration ----------------------------------------------- - -Using OpenStack Virtual Baremetal is a simple node configuration where the -user needs only to define how many cloud instances to run. - -For example, you will find the following config in the node configuration -files: - -.. code-block:: yaml - - # Define the controller node and compute nodes. - # Create three controller nodes and one compute node. - node_count: 4 - -The remaining configuration for the instances like the flavor types are found -in the config/environment/ configuration as this may vary based on your cloud -provider. For an example please reference `this configuration -`_ diff --git a/doc/source/rhosp.rst b/doc/source/rhosp.rst deleted file mode 100644 index 86a274deb..000000000 --- a/doc/source/rhosp.rst +++ /dev/null @@ -1,44 +0,0 @@ -============================================================================ -TripleO deployments and Red Hat OpenStack Platform -============================================================================ - -Brief Introduction -================== - -Production deployments of Red Hat Openstack Platform should be executed by -following the official `Red Hat documentation `_ - -TripleO-Quickstart is a tool to assist development, test and continuous integration -environments and there is no official support for deploying Red Hat OpenStack -Platform with TripleO-Quickstart. - -It is appropriate to use TripleO-Quickstart and the released Red Hat OpenStack -Platform yum repos provided by Red Hat Subscription Manager (RHSM) for development -and test purposes. - -Using TripleO-Quickstart with RHSM yum repos -============================================ - -Under the config/release directory of the TripleO-Quickstart git repository there -is a sample configuration file for RHOSP 11:: - - config/release/rhos-11-rhn-baseos-undercloud.yml.example - - -To use this configuration one must fill out a few values in the configuration:: - - rhsm_username: The rhn/rhsm user account name - rhsm_password: The rhn/rhsm user password - pool_id: the `product or subscription id [1] - -Under the config/environments directory of the TripleO-Quickstart git repository -there is a configuration file for Red Hat Enterprise Linux based deployments:: - - config/environments/base_rhel_libvirt.yml - -An example invocation of TripleO-Quickstart:: - - ./quickstart.sh -R rhos-11-rhn-baseos-undercloud -E baseos_rhel_libvirt --tags all $VIRTHOST - - -[1] `product subscription documentation `_ diff --git a/doc/source/troubleshoot.rst b/doc/source/troubleshoot.rst deleted file mode 100644 index cd994941e..000000000 --- a/doc/source/troubleshoot.rst +++ /dev/null @@ -1,21 +0,0 @@ -================================== -Troubleshooting TripleO Quickstart -================================== - -Cached files in ~/.quickstart -============================= - -When running TripleO Quickstart, some files are generated and stored in -``~/.quickstart``. Those files are not cleaned up on each tool execution to -save some cycles and retain environment. It may be problematic if a bug sneaks -in one of those cached files, because consequent calls to the tool won't fix -it. If you experience unknown errors when deploying with Quickstart, one thing -to try is to run ``quickstart.sh`` with ``-X`` option so that it regenerates -the directory. - - ./quickstart.sh -X [...any other options] - -Alternatively, you can manually remove the directory before executing -``quickstart.sh``. - - rm -r ~/.quickstart diff --git a/doc/source/unprivileged.rst b/doc/source/unprivileged.rst deleted file mode 100644 index 06ea3e827..000000000 --- a/doc/source/unprivileged.rst +++ /dev/null @@ -1,204 +0,0 @@ -Running the quickstart as an unprivileged user -============================================== - -It is possible to run the bulk of the quickstart deployment as an -unprivileged user (a user without root access). In order to do this, -there are a few system configuration tasks that must be performed in -advance: - -- Making sure required packages are installed -- Configuring the required libvirt networks - -Automatic system configuration ------------------------------- - -If you want to perform the system configuration tasks manually, skip -this section and start reading below at "Configure KVM". - -Place the following into ``playbook.yml`` in the ``tripleo-quickstart`` -directory:: - - - hosts: localhost - roles: - - environment/setup - -And run it like this (assuming that you have ``sudo`` access on your -local host):: - - ansible-playbook playbook.yml - -Continue reading at `Deploying Tripleo <#deploying-tripleo>`__. - -Configure KVM -------------- - -You will need to ensure that the ``kvm`` kernel module is loaded, and -that the appropriate process-specific module (``kvm_intel`` or -``kvm_amd``) is loaded. Run the appropriate ``modprobe`` command to load -the module:: - - # modprobe kvm_intel [options...] - -Or:: - - # modprobe kvm_amd [options...] - -Where ``[options...]`` in the above is either empty, or ``nested=1`` if -you want to enable `nested -kvm `__. - -To ensure this module will be loaded next time your system boots, create -``/etc/modules-load.d/oooq_kvm.conf`` with the following content on -Intel systems:: - - kvm_intel - -Or on AMD systems:: - - kvm_amd - -If you want to enable `nested -kvm `__ -persistently, create the file ``/etc/modprobe.d/kvm.conf`` with the -following contents:: - - options kvm_intel nested=1 - options kvm_amd nested=1 - -Required packages ------------------ - -You will need to install the following packages: - -- ``qemu-kvm`` -- ``libvirt`` -- ``libvirt-python`` -- ``libguestfs-tools`` -- ``python-lxml`` - -Once these packages are installed, you need to start ``libvirtd`` -:: - - # systemctl enable libvirtd - # systemctl start libvirtd - -Configuring libvirt networks ----------------------------- - -Quickstart requires two networks. The ``external`` network provides -inbound access into the virtual environment set up by the playbooks. The -``overcloud`` network connects the overcloud hosts to the undercloud, -and is used both for provisioning, inbound access to the overcloud, and -communication between overcloud hosts. - -In the following steps, note that the names you choose for the libvirt -networks are unimportant (because the vms will be wired up to these -networks using bridge names, rather than libvirt network names). - -The external network -^^^^^^^^^^^^^^^^^^^^ - -If you have the standard ``default`` libvirt network, you can just use -that as your ``external`` network. If you would prefer to create a new -one, run something like the following:: - - # virsh net-define /dev/stdin < - external - - - - - - - - - - - - - EOF - # virsh net-start external - # virsh net-autostart external - -The overcloud network -^^^^^^^^^^^^^^^^^^^^^ - -The overcloud network is really just a bridge, so you could simply -configure this through your distributions standard mechanism for -configuring persistent bridge devices. You can also do it via libvirt -like this:: - - # virsh net-define /dev/stdin < - overcloud - - - EOF - # virsh net-start overcloud - # virsh net-autostart overcloud - -Whitelisting bridges -^^^^^^^^^^^^^^^^^^^^ - -Once you have started the libvirt networks, you need to enter the bridge -names in the ``/etc/qemu/bridge.conf`` file, which makes these bridges -available to unprivileged users via the `qemu bridge -helper `__. Note -that on some systems this file will be called -``/etc/qemu-kvm/bridge.conf``. - -Add an ``allow`` line for each bridge you created in the previous steps:: - - allow brext - allow brovc - -Deploying TripleO ------------------ - -With all of the system configuration tasks out of the way, the rest of -the process can be run as an unprivileged user. You will need to create -a YAML document that describes your network configuration and that -optionally changes any of the default values used in the quickstart -deployment. To describe the network resources we created above, I would -create a file called ``config.yml`` with the following content:: - - networks: - - name: external - bridge: brext - address: 192.168.23.1 - netmask: 255.255.255.0 - - - name: overcloud - bridge: brovc - -You must have one network named ``external`` and one network named -``overcloud``. The ``address`` and ``netmask`` values must match the -values you used to create the libvirt networks. - -Place the following into a file ``playbook.yml`` in your -``tripleo-quickstart`` directory:: - - - hosts: localhosts - roles: - - libvirt/setup - - tripleo/undercloud - - tripleo/overcloud - -And run it like this:: - - ansible-playbook playbook.yml -e @config.yml - -This will deploy the default virtual infrastructure, which includes an -undercloud node, three controllers, one compute node, and one ceph node, -and which requires at least 32GB of memory. If you want to deploy a -smaller environment, you could use the ``minimal.yml`` settings we use -in our CI environment:: - - ansible-playbook playbook.yml -e @config.yml \ - -e playbooks/centosci/minimal.yml - -This will create a virtual environment with a single controller and a -single compute node, with a total memory footprint of around 22GB. - -See :ref:`configuration` for more information. diff --git a/doc/source/working-with-extras.rst b/doc/source/working-with-extras.rst deleted file mode 100644 index 95d1a348c..000000000 --- a/doc/source/working-with-extras.rst +++ /dev/null @@ -1,97 +0,0 @@ -.. _working-with-extras: - -Working With Quickstart Extras -============================== - -There are several additional roles compatible with tripleo-quickstart that -extend the capability of TripleO Quickstart beyond setting up the basic -deployment structure on a virthost. There are roles for doing end-to-end -deployments and deployment validation both for virthost and baremetal machines -and a few auxiliary roles for doing CI related tasks. - -These roles are hosted at the tripleo-quickstart-extras_ repository. - -.. _tripleo-quickstart-extras: https://opendev.org/openstack/tripleo-quickstart-extras/ - -Extras can be installed manually using Python setuptools, but ``quickstart.sh`` -provides an automated system for building the Python virtual environment and -pulling in additional dependencies using ``pip install`` and the -``quickstart-extras-requirements.txt`` file. - -To run a full end-to-end deployment including verification, add these command -line options when running ``quickstart.sh``:: - - --tags all - -See ``quickstart.sh --help`` for a full list of options, but here is a full -example using some common developer settings:: - - ./quickstart.sh --requirements quickstart-extras-requirements.txt \ - --tags all \ - --teardown all \ - --release master \ - --no-clone \ - --clean \ - --config config/general_config/pacemaker.yml \ - virthost.example.com - -This uses the currently cloned tripleo-quickstart repository instead of -re-cloning it in the working directory, doing the following: - -* deletes the working directory at `~/.quickstart` -* this forces quickstart to create the virtual environment and redownload all - the requirements fresh, including the extras -* it does a thorough cleanup of the `virthost.example.com` machine, - reinstalling libvirt, deleting networks and VMs -* downloads the master image and creates new VMs based that -* deploys both the undercloud and the overcloud -* verifies the deployed environment in a quick and simple way - -Developing new roles --------------------- - -Developing new roles is possible by submitting new reviews for this repo, or -creating it anywhere and adding a reference to the end of the -``quickstart-extras-requirements.txt`` file:: - - git+https://github.com/organization/ansible-role-example.git/#egg=ansible-role-example - -To import a role that you are developing locally use the following syntax:: - - file:///home/user/folder/ansible-role-example/#egg=ansible-role-example - -Once added to the role requirements file ``quickstart.sh`` will automatically -install the specified extras into the local working directory, which is a -Python virtual environment managed by quickstart. By default this environment -will be placed in ``~/.quickstart`` but you can specify its location using the -``--working-dir`` argument. - -To invoke quickstart with a playbook of your own or from a preexisting role run -the following command:: - - ./quickstart.sh --requirements $REQUIREMENTS --playbook playbook.yml \ - --working-dir $WORKSPACE $VIRTHOST - -If the virtual environment in ``$WORKSPACE`` has not -already been setup then ``quickstart.sh`` will create it and install all the extras. -This will only happen the first time you run quickstart against that workspace. If you -need to add more dependencies or update existing ones, source the virtual -and then run the ``setup.py`` for the role:: - - source $WORKSPACE/bin/activate - cd $ROLE - python setup.py install - -Deleting the environment and allowing quickstart to regenerate it entirely also works. -Both ``$REQUIREMENTS`` and ``$WORKSPACE`` should be absolute paths. - -The playbook ``quickstart-extras.yml`` is the most complete playbook offered by default, it -will perform all tasks up to deployment and testing the overcloud using this same method. - -While editing existing playbooks is a good way to become familiar with quickstart for actual usage -it's suggested that you include a default playbook at the start of your own instead of duplicating -it in your extra. The example shown below would provide a fully functioning cloud for the rest of -your playbook to run against:: - - - name: Setup the cloud - include_tasks: quickstart-extras.yml diff --git a/fs-matrix.py b/fs-matrix.py deleted file mode 100644 index 62eb075d0..000000000 --- a/fs-matrix.py +++ /dev/null @@ -1,181 +0,0 @@ -#!/bin/python3 -# -# Copyright Red Hat, Inc. All Rights Reserved. -# -# 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. -# -# -*- coding: utf-8 -*- - -# fs-matrix.py automatically reads featureset configuration -# files from config/general_config and builds a matrix w/ the corresponding -# features. For new configuration files, just re-run the script and submit the -# new generated doc/source/feature-configuration-generated.rst file. - -# You may need to change this script when adding new features that are -# not mapped. Look for *features_map* below to see the featureset mapping. - -# This script should be automatically called by tox -e docs -# The output generated by this script is a rst formatted file that is -# included in doc/source/feature-configuration.rst. - -# You may look for the following when running tox -e docs: -# 'python fs-matrix.py > doc/source/feature-configuration-generated.rst' -# Once *feature-configuration-generated.rst* is updated, submit a review. - -import os -from texttable import Texttable -import yaml - -# featureset mapping to match fs configuration files -# : [, , ] -features_map = { - 'overcloud_ipv6': ['true', 'IPv6', 'Overcloud IPv6'], - 'ssl_overcloud': ['true', 'SSLoc', 'Overcloud SSL'], - 'network_isolation': ['true', 'NIsol', 'Network Isolation'], - 'network_isolation_type': ['single-nic-vlans|multiple-nics|bond', - 'NItyp', 'Network Isolation Type'], - 'step_introspect': ['true', 'Intro', 'Introspection'], - 'undercloud_check_idempotency': ['true', 'Idemp', - 'Undercloud Idempotency Check'], - 'containerized_undercloud': ['true', 'ConUC', 'Containerized undecloud'], - 'containerized_overcloud': ['true', 'ConOC', 'Containerized overcloud'], - 'undercloud_upgrade': ['true', 'UPGuc', 'Undercloud Upgrade'], - 'containerized_overcloud_upgrade': ['true', 'UPGoc', - 'Overcloud Major Upgrade'], - 'overcloud_update': ['true', 'UPDoc', 'Overcloud Update (Minor Upgrade)'], - 'ffu_overcloud_upgrade': ['true', 'UPGff', - 'Fast-forward Overcloud Upgrade'], - 'ffu_undercloud_upgrade': ['true', 'UPGff', - 'Fast-forward Undercloud Upgrade'], - 'ffu_standalone_upgrade': ['Standalone.yaml', 'UPGff', - 'Fast-forward Standalone Upgrade'], - 'standalone_role': ['Standalone.yaml', 'Stdln', 'Standalone Deploy'], - 'test_ping': ['true', 'PingT', 'Ping and ssh tests'], - 'run_tempest': ['true', 'Temps', 'run Tempest'], - 'composable_scenario': ['', 'Scen#', 'Scenario ###'], - 'extra_args': ['ceph', 'Cephd', 'Ceph deploy'], - 'undercloud_heat_convergence': ['true', 'HConv', - 'Undercloud Heat Convergence'], - 'enable_minimal_browbeat': ['true', 'BrowB', - 'Browbeat performance testing'], - 'validate_ha_overcloud': ['true', 'HAval', 'HA Validation'], -} - -symbol_map = { - 'single-nic-vlans': [u'─', 'Network isolation single network interface' - ' card'], - 'multiple-nics': [u'☰', 'Network isolation multiple network interface' - 'cards'], - 'release': [u'◍', 'Feature enabled in certain releases only'], - 'enabled': [u'◉', 'Feature enabled in all releases'], - 'disabled': [u'❍', 'Feature explicitly disabled in all releases'], - 'not-found': [u' ', 'Feature not found'], -} - - -def load_fs(): - t = Texttable() - # headers/columns - columns = ['Fset#'] - for k, h in sorted(features_map.items(), key=lambda kv: kv[1][1]): - columns.append(h[1]) - - matrix_length = len(columns) - t.set_cols_width([5] * matrix_length) - t.set_cols_align(['c'] * matrix_length) - t.set_cols_valign(['m'] * matrix_length) - t.set_cols_dtype(['t'] * matrix_length) - - root_path = os.path.dirname(os.path.realpath(__file__)) - fs_dir = os.path.join(root_path, 'config/general_config/') - - for fs_filename in sorted(os.listdir(fs_dir)): - fs_dict = {} - if fs_filename.startswith('featureset0') and \ - fs_filename.endswith('.yml'): - with open(os.path.join(fs_dir, fs_filename)) as fs_file: - fs_dict = yaml.load(fs_file, yaml.SafeLoader) - datarow = get_data_from_yaml(fs_dict, fs_filename) - t.add_rows([columns, datarow]) - fs_list.append(fs_filename[10:13]) - print(t.draw()) - print('\n') - - -def get_data_from_yaml(fs_dict, fs_filename): - """Get data from fs yaml file - - :param ds_dict: featureset dictonary read from yaml file - :param fs_filename: featureset yaml config file - :returns list -- list of features read from yaml file - """ - # Add XXX_ link to first column e.g. 001_ - datarow = [fs_filename[10:13] + '_'] - for k, v in sorted(features_map.items(), key=lambda kv: kv[1][1]): - if k in fs_dict: - # value = what the fs file has - value = str.lower(str(fs_dict[k])) - # enabled = what it should have to be active - enabled = str.lower(str(v[0])) - - # get digits only from scenarioXXX in composable_scenario setting - if k == 'composable_scenario': - datarow.append(''.join([n for n in value if n.isdigit()])) - # expects substr in extra_args e.g. 'ceph' - elif k == 'extra_args' and enabled in value: - datarow.append(symbol_map['enabled'][0]) - # fields that expects exact value e.g. 'true' - elif value == enabled: - datarow.append(symbol_map['enabled'][0]) - # expects a substr, transform it into a symbol - elif value in enabled and value in symbol_map: - datarow.append(symbol_map[value][0]) - # enabled in certain releases - elif value.startswith('{%') and 'release' in value: - datarow.append(symbol_map['release'][0]) - else: - # feature is present but disabled e.g. 'false' - datarow.append(symbol_map['disabled'][0]) - # feature not found in fs file - else: - datarow.append(symbol_map['not-found'][0]) - return datarow - - -def acronyms_and_symbols(): - at = Texttable() - columns = ['Acronym', 'Definition'] - for k, acr in sorted(features_map.items(), key=lambda kv: kv[1][1]): - at.add_rows([columns, [acr[1], acr[2]]]) - print(at.draw()) - print('\n') - - st = Texttable() - columns = ['Symbol', 'Description'] - for k, symdef in sorted(symbol_map.items(), key=lambda kv: kv[1][1]): - st.add_rows([columns, [symdef[0], symdef[1]]]) - print(st.draw()) - print('\n') - - baseurl = 'https://opendev.org/openstack/tripleo-quickstart' - path = 'src/branch/master/config/general_config/' - for f in fs_list: - print(".. _{0}: {1}/{2}/featureset{0}.yml".format(f, baseurl, path)) - - -### - -if __name__ == '__main__': - fs_list = [] - load_fs() - acronyms_and_symbols() diff --git a/install-deps.sh b/install-deps.sh deleted file mode 100755 index 9b8279295..000000000 --- a/install-deps.sh +++ /dev/null @@ -1,324 +0,0 @@ -#!/bin/bash -# Formally part of quickstart.sh -# Now broken out for more reuse -# install-deps.sh - -# atm mvp for the reproducer is python2 only -# expect this option to be removed once -# python2 and python3 have been validated - -print_sudo_warning() { - echo -e "\e[31m WARNING: SUDO user is not passwordless.\ -\n export USER_OVERRIDE_SUDO_CHECK=1 \n to be prompted for sudo \ -password. \e[0m" -} - -python_cmd() { - distribution=unknown - distribution_major_version=unknown - # we prefer python2 because on few systems python->python3 - - if [ -f /etc/os-release ]; then - . /etc/os-release - distribution_major_version=${VERSION_ID%.*} - distribution=${ID} - PYTHON_CMD=python2 - PYTHON_VIRTUALENV_CMD=virtualenv - # check /etc/os-release to see how these variables are set - case ${ID} in - rhel) - distribution="RedHat" - if [ "$distribution_major_version" -ge "9" ]; then - PYTHON_CMD=python3 - PYTHON_VIRTUALENV_CMD=venv - elif [ "$distribution_major_version" -eq "8" ]; then - PYTHON_CMD=python3 - fi - ;; - centos) - distribution="CentOS" - if [ "$distribution_major_version" -ge "9" ]; then - PYTHON_CMD=python3 - PYTHON_VIRTUALENV_CMD=venv - elif [ "$distribution_major_version" -eq "8" ]; then - PYTHON_CMD=python3 - elif [ "$distribution_major_version" -eq "7" ]; then - release_val=$(cat /etc/centos-release | awk '{print $4 }' | grep '^7.8\|^7.9') - python_val=$(rpm -q python3) - if [ ! -z $release_val ] && [[ $python_val =~ "python3-" ]]; then - # declare centos7 python3 variable: - centos7py3=true - PYTHON_CMD=python3 - fi - fi - ;; - fedora) - distribution="Fedora" - if [ "$distribution_major_version" -ge "28" ]; then - PYTHON_CMD=python3 - fi - ;; - ubuntu) - distribution="Ubuntu" - ;; - debian) - distribution="Debian" - ;; - esac - python_cmd=${USER_PYTHON_OVERRIDE:-$PYTHON_CMD} - elif [ -f /etc/lsb-release ]; then - . /etc/lsb-release - distribution=${DISTRIB_ID}xx - distribution_major_version=${DISTRIB_RELEASE%.*} - elif [ -f /etc/debian_version ]; then - distribution="Debian" - distribution_major_version=$(cat /etc/debian_version | cut -d. -f1) - else - # Covers for FreeBSD and many others - distribution=$(uname -s) - if [ $distribution = Darwin ]; then - distribution="MacOSX" - distribution_major_version=$(sw_vers -productVersion | cut -d. -f1) - fi - which $python_cmd 2>&1 >/dev/null || { - python_cmd=/usr/local/bin/python2.7 - } - fi - echo $python_cmd -} - -package_manager() { - PKG="$(command -v dnf || command -v yum)" - if [[ "$(python_cmd)" =~ "python3" ]]; then - echo "${PKG} -y --exclude='python2*' $*" - else - echo "${PKG} -y --exclude='python3*' $*" - fi -} - -check_python_module () { - # validate module import and print package versions on single final line - $(python_cmd) -c "from __future__ import print_function; import $1; print('$1:%s ' % $1.__version__, end='')" -} - - -install_deps () { - # zuul no longer provides the git hash for checked out repos. - # tell me the hash of tripleo-quickstart that is running - echo "Print out the commit hash of the git repo" - git show --summary 2>/dev/null || true - - # If sudo isn't installed assume we already are a super user - # install it anyways so that the install of the other deps succeeds - - # install enough rpms for the appropriate python version to - # enable bindep and python environments - echo "Python Command is:" - python_cmd - echo "Running install_deps" - PYTHON_PACKAGES=() - if [ "$PYTHON_VIRTUALENV_CMD" == "venv" ]; then - MODULE_NAMES="pip setuptools" - else - MODULE_NAMES="pip virtualenv setuptools" - fi - rpm -q sudo || $(package_manager) install sudo - sudo -n true && passwordless_sudo="1" || passwordless_sudo="0" - if [[ "$passwordless_sudo" == "1" ]] || [ "$USER_OVERRIDE_SUDO_CHECK" == "1" ]; then - if [[ "$(python_cmd)" =~ "python3" ]]; then - echo "setting up for python3" - # possible bug in ansible, f29 python 3 env fails - # w/o both python-libselinux packages installed - # https://bugs.launchpad.net/tripleo/+bug/1812324 - PYTHON_PACKAGES+=("python3-libselinux") - PYTHON_PACKAGES+=("python3-PyYAML") - PYTHON_PACKAGES+=("python3-devel") - SETUPTOOLS_PACKAGE=python3-setuptools - if [ -z $centos7py3 ]; then - VIRTUALENV_PACKAGE=python3-virtualenv - fi - PIP_PACKAGE=python3-pip - if [ -e "/usr/bin/pip3" ]; then - # centos-8 installs pip as pip3 - sudo alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 - fi - else - echo "setting up for python2" - PYTHON_PACKAGES+=("libselinux-python") - SETUPTOOLS_PACKAGE=python2-setuptools - VIRTUALENV_PACKAGE=python2-virtualenv - PIP_PACKAGE=python-pip - fi - echo "Installing RPM packages ${PYTHON_PACKAGES[@]} $SETUPTOOLS_PACKAGE \ - $VIRTUALENV_PACKAGE $PIP_PACKAGE" | tr -s [:space:] - sudo $(package_manager) install ${PYTHON_PACKAGES[@]} \ - $SETUPTOOLS_PACKAGE \ - $PIP_PACKAGE - # Install python3 virtualenv via pip on CentOS7 - if [ -z $centos7py3 ]; then - if [ "$PYTHON_VIRTUALENV_CMD" == "virtualenv" ]; then - sudo $(package_manager) install $VIRTUALENV_PACKAGE - fi - else - sudo $(python_cmd) -m pip install virtualenv - sudo $(package_manager) install gcc python3-devel - fi - - else - print_sudo_warning - fi - - # pip is a special case because centos-7 repos do not have an rpm for - # it but EPEL or OSP repos do, so we attempt to install the rpm and - # fallback to easy_install before failing - echo "checking python modules" - check_python_module pip &> /dev/null || { - if yum provides pip 2>&1 | grep 'No matches found' >/dev/null; then - sudo easy_install pip - fi - } - - MISSING_MODULES=() - for module_name in $MODULE_NAMES; do - check_python_module $module_name || MISSING_MODULES+=("$module_name") - done - if [[ -n $MISSING_MODULES ]]; then - echo "ERROR: ${MISSING_MODULES[@]} not installed" 1>&2 - return 1 - else - echo -e "\n\e[32m SUCCESS: install-deps succeeded. \e[0m" - fi -} - -install_virtual_env(){ - # Activate the virtualenv only when it is not already activated otherwise - # It create the virtualenv and then activate it. - export PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command - export PIP_DISABLE_PIP_VERSION_CHECK=1 - # Avoids WARNING: The script ... is installed in '/home/zuul/.local/bin' which is not on PATH. - export PIP_OPTS="${PIP_OPTS:---no-warn-script-location}" - - if [[ -z ${VIRTUAL_ENV+x} ]]; then - - if [[ -f $OPT_WORKDIR/bin/activate ]]; then - echo "Warning: $OPT_WORKDIR virtualenv already exists, just activating it." - else - echo "Creating virtualenv at $OPT_WORKDIR" - $(python_cmd) -m $PYTHON_VIRTUALENV_CMD \ - $( [ "$OPT_SYSTEM_PACKAGES" = 1 ] && printf -- "--system-site-packages\n" )\ - $OPT_WORKDIR - fi - - . $OPT_WORKDIR/bin/activate - # With python3 native venv wheel is not installed by default, - # so let's install explicitly, without it uninstall/reinstall - # of a project may clean files in shared directories owned by - # other projects - if [[ "$PYTHON_VIRTUALENV_CMD" == "venv" ]]; then - $(python_cmd) -m pip install wheel - fi - - else - echo "Warning: VIRTUAL_ENV=$VIRTUAL_ENV was found active and is being reused." - fi - - # Latest pip break Centos7 details in Bug: #1889357, Pin pip to last good version - 20.1.1 for C7 - if [[ $(python_cmd) == 'python2' ]]; then - $(python_cmd) -m pip install pip==20.1.1 - else - export LANG=en_US.UTF8 # https://bugs.launchpad.net/tripleo/+bug/1938079 - $(python_cmd) -m pip install pip --upgrade - fi - - echo "Installing bindep" - $(python_cmd) -m pip install bindep --upgrade - - # In order to do any filesystem operations on the system running ansible (if it has SELinux installed) - # we need the python bindings in the venv. The pypi version of the module is a shim that loads - # the original version from outside the virtualenv. - $(python_cmd) -c "import selinux" 2>/dev/null || - $(python_cmd) -m pip install selinux --upgrade -} - -install_bindep(){ - # --user installs fail from a virtenv - echo "Running install_bindep" - $(python_cmd) -m pip install --user bindep --upgrade - export PATH=$PATH:$HOME/.local/bin - echo -e "\n\e[32m SUCCESS: installed bindep. \e[0m" -} - -install_package_deps_via_bindep(){ - echo "install_package_deps_via_bindep" - sudo -n true && passwordless_sudo="1" || passwordless_sudo="0" - if [ "$passwordless_sudo" == "1" ] || [ "$USER_OVERRIDE_SUDO_CHECK" == "1" ]; then - PATH=$PATH:~/.local/bin bindep -b || sudo $(package_manager) install `bindep -b`; - # EPEL will NOT be installed on any nodepool nodes. - # EPEL could be installed in the same transaction as other packages on CentOS/RHEL - # This can leave the system with an older ansible version. Ansible 2.7+ required - # Run through the deps and update them - yum-config-manager --enable epel || true - sudo $(package_manager) update `bindep -b -l newline` - else - print_sudo_warning - fi - echo -e "\n\e[32m SUCCESS: installed required packages via bindep. \e[0m" - -} - -bootstrap_ansible_via_rpm(){ - echo "Running bootstrap_ansible_via_rpm" - if [[ "$(python_cmd)" =~ "python3" ]]; then - PACKAGES="python3-libselinux ansible ansible-python3 git rsync python3-netaddr" - elif [ "$(python_cmd)" == "python2" ]; then - PACKAGES=("python2-libselinux ansible git rsync python2-netaddr.noarch") - else - echo "ERROR: invalid python version" - fi - sudo -n true && passwordless_sudo="1" || passwordless_sudo="0" - if [ "$passwordless_sudo" == "1" ] || [ "$USER_OVERRIDE_SUDO_CHECK" == "1" ]; then - sudo $(package_manager) install $PACKAGES; - else - print_sudo_warning - fi -} - -install_ansible_collections(){ - echo "Installing Ansible Collections" - if [[ -d ../tripleo-repos ]]; then - echo "Installing tripleo.repos from local clone" - # Replace with single step install once we have ansible>=2.10 - ansible-galaxy collection build ../tripleo-repos - # Currently without -p, ansible collection is getting installed in - # $OPT_WORKDIR/collections (where tripleo-quickstart repo is getting clonned) - # ansible looks for ansible collections at two default paths - # 1. ~/.ansible/collections and 2. /usr/share/ansible/collections - # Above $OPT_WORKDIR/collections path is not discoved by ansible so we are installing - # the collection at user level in ~/.ansible/collections, so that ansible can discover - # it and will avoid usage of custom path. - # https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths - ansible-galaxy collection install -vvv -f ./tripleo-repos-*.tar.gz -p ~/.ansible/collections - rm ./tripleo-repos-*.tar.gz - else - ansible-galaxy collection install -vvv "tripleo.repos:>=0.0.4" - ansible-galaxy collection install -vvv "tripleo.repos:>=0.0.4" -p ~/.ansible/collections - fi -} - -# This enables a user to install rpm dependencies directly -# from this script. - -if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then - # This is not meant be an interactive script - # however, if users want to install by hand - # the option is provided. - - # install just enough python - install_deps - # install bindep - install_bindep - # checks the $PWD for a file named - # bindep_python[2,3].txt and installs - # dependencies listed in the file. - install_package_deps_via_bindep -fi diff --git a/library/generate_macs.py b/library/generate_macs.py deleted file mode 100644 index f304c6f75..000000000 --- a/library/generate_macs.py +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/python -# 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. - -# generate_baremetal_macs method ripped from -# openstack/tripleo-incubator/scripts/configure-vm - -import math -import random - -DOCUMENTATION = ''' ---- -module: generate_macs -version_added: "2.0" -short_description: Generate a list of Ethernet MAC addresses -description: - - Generate a list of Ethernet MAC addresses suitable for baremetal testing. -''' - -MAX_NUM_MACS = math.trunc(0xff / 2) - - -def generate_baremetal_macs(nodes, networks): - """Generate an Ethernet MAC address suitable for baremetal testing.""" - # NOTE(dprince): We generate our own bare metal MAC address's here - # instead of relying on libvirt so that we can ensure the - # locally administered bit is set low. (The libvirt default is - # to set the 2nd MSB high.) This effectively allows our - # fake baremetal VMs to more accurately behave like real hardware - # and fixes issues with bridge/DHCP configurations which rely - # on the fact that bridges assume the MAC address of the lowest - # attached NIC. - # MACs generated for a given machine will also be in sequential - # order, which matches how most BM machines are laid out as well. - # Additionally we increment each MAC by two places. - macs = [] - count = len(nodes) * len(networks) - - if count > MAX_NUM_MACS: - raise ValueError("The MAX num of MACS supported is %i " - "(you specified %i)." % (MAX_NUM_MACS, count)) - - base_nums = [0x00, - random.randint(0x00, 0xff), - random.randint(0x00, 0xff), - random.randint(0x00, 0xff), - random.randint(0x00, 0xff)] - base_mac = ':'.join(map(lambda x: "%02x" % x, base_nums)) - - start = random.randint(0x00, 0xff) - if (start + (count * 2)) > 0xff: - # leave room to generate macs in sequence - start = 0xff - count * 2 - for num in range(0, count * 2, 2): - mac = start + num - macs.append(base_mac + ":" + ("%02x" % mac)) - - result = {} - for node in nodes: - result[node['name']] = {} - for network in networks: - result[node['name']][network['name']] = macs.pop(0) - - return result - - -def main(): - module = AnsibleModule( - argument_spec=dict( - nodes=dict(required=True, type='list'), - networks=dict(required=True, type='list') - ) - ) - result = generate_baremetal_macs(module.params["nodes"], - module.params["networks"]) - module.exit_json(**result) - -# see http://docs.ansible.com/developing_modules.html#common-module-boilerplate -from ansible.module_utils.basic import AnsibleModule # noqa - - -if __name__ == '__main__': - main() diff --git a/molecule-requirements.txt b/molecule-requirements.txt deleted file mode 100644 index a3e7a666f..000000000 --- a/molecule-requirements.txt +++ /dev/null @@ -1,104 +0,0 @@ -ansi2html==1.6.0 -ansible==4.10.0 -ansible-core==2.11.7 -appdirs==1.4.4 -arrow==1.2.1 -attrs==21.4.0 -bcrypt==3.2.0 -binaryornot==0.4.4 -Cerberus==1.3.4 -certifi==2021.10.8 -cffi==1.15.0 -chardet==4.0.0 -charset-normalizer==2.0.10 -clg==3.1.0 -click==8.0.3 -click-completion==0.5.2 -click-help-colors==0.9.1 -clif==0.2.2 -cmd2==2.3.3 -colorama==0.4.4 -cookiecutter==1.7.3 -coverage==6.2 -cryptography==36.0.1 -debtcollector==2.3.0 -decorator==5.1.1 -distro==1.6.0 -docker==5.0.3 -dogpile.cache==1.1.4 -execnet==1.9.0 -fasteners==0.16.3 -futurist==2.4.0 -idna==3.3 -iniconfig==1.1.1 -iso8601==1.0.2 -Jinja2==3.0.3 -jinja2-time==0.2.0 -jmespath==0.10.0 -jsonpatch==1.32 -jsonpointer==2.2 -jsonschema==3.2.0 -keystoneauth1==4.4.0 -MarkupSafe==2.0.1 -mock==4.0.3 -molecule==3.0.8 -more-itertools==8.12.0 -msgpack==1.0.3 -munch==2.5.0 -netaddr==0.8.0 -netifaces==0.11.0 -openstacksdk==0.61.0 -os-client-config==2.1.0 -os-service-types==1.7.0 -oslo.config==8.7.1 -oslo.i18n==5.1.0 -oslo.serialization==4.2.0 -oslo.utils==4.12.0 -packaging==21.3 -paramiko==2.9.2 -pathspec==0.9.0 -pbr==5.8.0 -pexpect==4.8.0 -pluggy==0.13.1 -poyo==0.5.0 -ptyprocess==0.7.0 -py==1.11.0 -pycparser==2.21 -PyNaCl==1.5.0 -pyparsing==3.0.6 -pyperclip==1.8.2 -pyrsistent==0.18.0 -pytest==6.2.5 -pytest-cov==3.0.0 -pytest-forked==1.4.0 -pytest-html==3.1.1 -pytest-metadata==1.11.0 -pytest-molecule==1.2.6 -pytest-plus==0.2 -pytest-xdist==2.5.0 -python-dateutil==2.8.2 -python-gilt==1.2.3 -python-slugify==5.0.2 -pytz==2021.3 -PyYAML==5.4.1 -requests==2.27.1 -requestsexceptions==1.4.0 -resolvelib==0.5.4 -rfc3986==1.5.0 -selinux==0.2.1 -sh==1.13.1 -shellingham==1.4.0 -six==1.16.0 -stevedore==3.5.0 -tabulate==0.8.9 -text-unidecode==1.3 -toml==0.10.2 -tomli==1.2.3 -tree-format==0.1.2 -urllib3==1.26.8 -warlock==1.3.3 -wcwidth==0.2.5 -websocket-client==1.2.3 -wrapt==1.13.3 -yamllint==1.26.3 -yamlordereddictloader==0.4.0 diff --git a/molecule/install-deps/converge.yml b/molecule/install-deps/converge.yml deleted file mode 100644 index 093e6581d..000000000 --- a/molecule/install-deps/converge.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- - -- name: Converge - hosts: all - tasks: - - - name: deploy install-deps.sh - copy: - src: ../../install-deps.sh - dest: install-deps.sh - mode: 0744 - - - name: "runs install-deps.sh" - shell: bash -x install-deps.sh - args: - warn: false - tags: - - skip_ansible_lint diff --git a/molecule/install-deps/molecule.yml b/molecule/install-deps/molecule.yml deleted file mode 100644 index 4992f5a74..000000000 --- a/molecule/install-deps/molecule.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -driver: - name: docker -log: true -platforms: - - # Warning: do not put pre-baked images for install-deps role because it will - # fail to validate what happens on pure/clean systems. - - name: centos7 - hostname: centos7 - image: centos:7 - environment: &env - http_proxy: "{{ lookup('env', 'http_proxy') }}" - https_proxy: "{{ lookup('env', 'https_proxy') }}" - - - name: centos8 - hostname: centos8 - image: quay.io/centos/centos:stream8 - environment: *env - volumes: - - /etc/pki/rpm-gpg:/etc/pki/rpm-gpg - - /etc/dnf/vars:/etc/dnf/vars - -provisioner: - name: ansible - env: - ANSIBLE_STDOUT_CALLBACK: yaml - -scenario: - test_sequence: - - destroy - - create - - prepare - - converge - - destroy diff --git a/playbooks/build-images-and-quickstart.yml b/playbooks/build-images-and-quickstart.yml deleted file mode 100644 index 3d3a25bee..000000000 --- a/playbooks/build-images-and-quickstart.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- import_playbook: build-images.yml -- import_playbook: quickstart-extras.yml diff --git a/playbooks/build-images.yml b/playbooks/build-images.yml deleted file mode 100644 index 27a4e5443..000000000 --- a/playbooks/build-images.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Add virthost to inventory - hosts: localhost - roles: - - provision/local - -- name: Add the virthost node to the generated inventory - hosts: localhost - gather_facts: true - roles: - - tripleo-inventory - -- name: Setup the virthost to build images then build them - hosts: virthost - gather_facts: true - roles: - - parts/kvm - - parts/libvirt - # TODO(trown): It is not ideal that we need to set this - # variable directly on the role. However, we have the - # same variable used in the tripleo-quickstart roles - # with a different meaning. We should namespace the - # variables better so that they can both be set separately - # in a config file or extra-vars passed to ansible. - - {role: "image-build", working_dir: "/var/lib/oooq-images"} diff --git a/playbooks/libvirt-nodepool.yml b/playbooks/libvirt-nodepool.yml deleted file mode 100644 index 2eaad48b1..000000000 --- a/playbooks/libvirt-nodepool.yml +++ /dev/null @@ -1,33 +0,0 @@ -# create 2 libvirt domains (VM's) to mimic upstream CI's nodepool instances -# This is used for tripleo CI reproducer capability - ---- -- name: Destroy previous setup - hosts: virthost - gather_facts: true - vars: - - libvirt_nodepool: true - roles: - - libvirt/teardown/nodes - become: true - -- name: Setup undercloud and baremetal vms and networks in libvirt - hosts: virthost - gather_facts: true - vars: - - libvirt_nodepool: true - roles: - - role: libvirt/setup/overcloud - environment: - SUPERMIN_KERNEL_VERSION: "{{ lookup('env', 'SUPERMIN_KERNEL_VERSION') }}" - SUPERMIN_KERNEL: "{{ lookup('env', 'SUPERMIN_KERNEL') }}" - SUPERMIN_MODULES: "{{ lookup('env', 'SUPERMIN_MODULES') }}" - LIBGUESTFS_BACKEND: "{{ lookup('env', 'LIBGUESTFS_BACKEND') }}" - LIBGUESTFS_BACKEND_SETTINGS: "{{ lookup('env', 'LIBGUESTFS_BACKEND_SETTINGS') }}" - become: true - -- name: Add nodes to the generated inventory - hosts: localhost - gather_facts: true - roles: - - tripleo-inventory diff --git a/playbooks/libvirt-setup.yml b/playbooks/libvirt-setup.yml deleted file mode 100644 index e876f6d55..000000000 --- a/playbooks/libvirt-setup.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: Setup undercloud and baremetal vms and networks in libvirt - hosts: virthost - gather_facts: true - roles: - - libvirt/setup - -- name: Add nodes to the generated inventory - hosts: localhost - gather_facts: true - roles: - - tripleo-inventory diff --git a/playbooks/libvirt-teardown.yml b/playbooks/libvirt-teardown.yml deleted file mode 100644 index 62662d0e9..000000000 --- a/playbooks/libvirt-teardown.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: Teardown previous libvirt setup - hosts: virthost - gather_facts: false - roles: - - libvirt/teardown diff --git a/playbooks/noop.yml b/playbooks/noop.yml deleted file mode 100644 index 0d061c4b0..000000000 --- a/playbooks/noop.yml +++ /dev/null @@ -1,9 +0,0 @@ -# Do a quickstart run without any further actions, useful for -# basic syntax check and environment setup. - -- name: noop playbook - hosts: localhost - tasks: - - name: display noop - debug: - msg: noop diff --git a/playbooks/provision.yml b/playbooks/provision.yml deleted file mode 100644 index b300404be..000000000 --- a/playbooks/provision.yml +++ /dev/null @@ -1,54 +0,0 @@ ---- -# This playbooks is responsible for preparing a target host. -# -# Create an inventory entry for the target host -- name: Add virthost to inventory - hosts: localhost - roles: - - provision/local - tags: - - provision - -# Create non root user on the virthost -- name: Create non root user on the virthost - hosts: virthost - roles: - - provision/user - tags: - - provision - -- name: Create target user on virt host - hosts: virthost - roles: - - provision/remote - tags: - - provision - -- name: Add the virthost node to the generated inventory - hosts: localhost - gather_facts: true - roles: - - tripleo-inventory - tags: - - provision - -# Allow the user to optionally perform a yum repo setup -# the virthost_repo_setup variable by default is set to false -- import_playbook: repo-setup-virthost.yml - when: virthost_repo_setup|bool - -- name: Check if the target virthost distro is supported (RHEL or CentOS) - hosts: virthost - roles: - - provision/support_check - tags: - - provision - -# We need to force-refresh fact gathering because we are now connecting -# as a different user ('stack' instead of 'root'), which affects -# things like ansible_user_id and other facts. -- name: Run setup again on virthost - hosts: virthost - tasks: - - name: Force-refresh facts - setup: diff --git a/playbooks/quickstart.yml b/playbooks/quickstart.yml deleted file mode 100644 index 77c08a80c..000000000 --- a/playbooks/quickstart.yml +++ /dev/null @@ -1,82 +0,0 @@ ---- -# This is the playbook used by the `quickstart.sh` script. - -# Add the virthost to the in-memory inventory. The inventory is not -# written out to disk unless you call the `tripleo-inventory` role. -- name: Add the virthost to the inventory - hosts: localhost - tasks: - - name: Add virthost - add_host: - name: "{{ virthost }}" - groups: "virthost" - ansible_fqdn: "{{ virthost }}" - ansible_user: "root" - ansible_host: "{{ virthost }}" - tags: - - provision - - teardown-all - - teardown-nodes - - teardown-provision - - teardown-environment - -- import_playbook: teardown-provision.yml - -# The `provision.yml` playbook is responsible for -# creating an inventory entry for our `virthost` and for creating an -# unprivileged user on that host for use by our virtual environment. -- import_playbook: provision.yml - -# These teardown tasks only make sense after running provision.yml, -# because they assume they are connecting as the `stack` user rather -# than `root`. -- import_playbook: teardown-nodes.yml -- import_playbook: teardown-environment.yml - -# The `environment/setup` role performs any tasks that require `root` -# access on the target host. -- name: Install libvirt packages and configure networks - hosts: virthost - gather_facts: true - tags: - - environment - roles: - - environment/setup - -# The `libvirt/setup` role creates the undercloud and overcloud -# virtual machines. -- name: Setup undercloud, overcloud, and supplemental vms - hosts: virthost - gather_facts: true - tags: - - libvirt - roles: - - libvirt/setup - - -- name: Add the undercloud node to the generated inventory - hosts: localhost - gather_facts: true - tags: - - undercloud-inventory - roles: - - tripleo-inventory - -# Make sure the undercloud is up before we collect facts -- name: Wait until ssh is available on undercloud node - gather_facts: false - hosts: undercloud - tasks: - - name: Wait for undercloud to be ssh-able - wait_for_connection: - timeout: 300 - -# Setup the virtual bmc -# This must be done after inventory is run for the first time -- name: Create the virtual BMC - hosts: undercloud - gather_facts: true - tags: - - libvirt - roles: - - virtbmc diff --git a/playbooks/repo-setup-virthost.yml b/playbooks/repo-setup-virthost.yml deleted file mode 100644 index 9052bcc9a..000000000 --- a/playbooks/repo-setup-virthost.yml +++ /dev/null @@ -1,8 +0,0 @@ -# This will optionally setup yum repos on the virthost -- name: setup yum repos on virthost - hosts: virthost - gather_facts: true - roles: - - repo-setup - tags: - - provision diff --git a/playbooks/teardown-environment.yml b/playbooks/teardown-environment.yml deleted file mode 100644 index c15483b91..000000000 --- a/playbooks/teardown-environment.yml +++ /dev/null @@ -1,8 +0,0 @@ -# This teardown role will destroy libvirt networks -- name: Tear down environment - hosts: virthost - roles: - - environment/teardown - tags: - - teardown-environment - - teardown-all diff --git a/playbooks/teardown-nodes.yml b/playbooks/teardown-nodes.yml deleted file mode 100644 index 61832ae5c..000000000 --- a/playbooks/teardown-nodes.yml +++ /dev/null @@ -1,10 +0,0 @@ -# This teardown role will destroy all vms defined in the overcloud_nodes -# key, and the undercloud -- name: Tear down undercloud and overcloud vms - hosts: virthost - gather_facts: true - roles: - - libvirt/teardown - tags: - - teardown-nodes - - teardown-all diff --git a/playbooks/teardown-provision.yml b/playbooks/teardown-provision.yml deleted file mode 100644 index 0f14c916e..000000000 --- a/playbooks/teardown-provision.yml +++ /dev/null @@ -1,9 +0,0 @@ -# Finally, we conditionally remove basic setup (users, -# groups, directories)to start from scratch -- name: Tear down non-root user on virt host - hosts: virthost - roles: - - provision/teardown - tags: - - teardown-provision - - teardown-all diff --git a/playbooks/teardown.yml b/playbooks/teardown.yml deleted file mode 100644 index 041f27f1d..000000000 --- a/playbooks/teardown.yml +++ /dev/null @@ -1,29 +0,0 @@ -# This teardown role will destroy all vms defined in the overcloud_nodes -# key, and the undercloud -- name: Teardown undercloud and overcloud vms - hosts: virthost - gather_facts: true - roles: - - libvirt/teardown - tags: - - teardown-all - - teardown-nodes - -# This teardown role will destroy libvirt networks -- name: Tear down environment - hosts: virthost - roles: - - environment/teardown - tags: - - teardown-all - - teardown-environment - -# Finally, we conditionally remove basic setup (users, -# groups, directories)to start from scratch -- name: Teardown user setup on virt host - hosts: virthost - roles: - - provision/teardown - tags: - - teardown-provision - - teardown-all diff --git a/quickstart-extras-requirements.txt b/quickstart-extras-requirements.txt deleted file mode 100644 index 5d0c64849..000000000 --- a/quickstart-extras-requirements.txt +++ /dev/null @@ -1,18 +0,0 @@ -git+https://opendev.org/openstack/tripleo-quickstart-extras/#egg=tripleo-quickstart-extras -git+https://opendev.org/openstack/tripleo-ha-utils/#egg=tripleo-ha-utils -# browbeat is no longer supported integrated w/ tq -#git+https://opendev.org/x/browbeat/#egg=browbeat -# TODO(rcastillo): Install ansible-role-collect-log through galaxy -git+https://opendev.org/openstack/ansible-role-collect-logs/#egg=ansible-role-collect-logs -git+https://opendev.org/openstack/openstack-tempest-skiplist/#egg=openstack-tempest-skiplist -git+https://opendev.org/openstack/tripleo-ci/#egg=tripleo-ci -# NOTE: tripleo-ansible, tripleo-ipa are required for some jobs -# (including standalone deployed with TLS). -# The user is expected to install those repos manually as they are -# used in standalone deployment jobs - which are manual only install -# -# let's experiment with an alternative method to include the role -# See: -# https://review.opendev.org/673926 -# https://review.rdoproject.org/r/21670 -# git+https://github.com/nkinder/ansible-keycloak diff --git a/quickstart-role-requirements.txt b/quickstart-role-requirements.txt deleted file mode 100644 index 8a5716cf5..000000000 --- a/quickstart-role-requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -# This requirements file is deprecated, see quickstart-extras-requirements.txt - -# Roles -git+https://github.com/redhat-openstack/ansible-role-tripleo-cleanup-nfo.git/#egg=ansible-role-tripleo-cleanup-nfo -git+https://github.com/redhat-openstack/ansible-role-tripleo-collect-logs.git/#egg=ansible-role-tripleo-collect-logs -git+https://github.com/redhat-openstack/ansible-role-tripleo-gate.git#egg=ansible-role-tripleo-gate -git+https://github.com/redhat-openstack/ansible-role-tripleo-overcloud.git@0a9c8d06e1c126e2469f5eaa10331bead9e9cd6d#egg=ansible-role-tripleo-overcloud -git+https://github.com/redhat-openstack/ansible-role-tripleo-overcloud-validate.git#egg=ansible-role-tripleo-overcloud-validate -git+https://github.com/redhat-openstack/ansible-role-tripleo-overcloud-upgrade.git#egg=ansible-role-tripleo-overcloud-upgrade -git+https://github.com/redhat-openstack/ansible-role-tripleo-overcloud-scale-nodes.git#egg=ansible-role-tripleo-overcloud-scale-nodes -git+https://github.com/redhat-openstack/ansible-role-tripleo-tempest.git#egg=ansible-role-tripleo-tempest -git+https://github.com/redhat-openstack/ansible-role-tripleo-undercloud-post.git#egg=ansible-role-tripleo-undercloud-post - -# To pull in local development changes -#file:////ansible-role-foo/#egg=ansible-role-foo diff --git a/quickstart.sh b/quickstart.sh deleted file mode 100755 index 05762041d..000000000 --- a/quickstart.sh +++ /dev/null @@ -1,704 +0,0 @@ -#!/bin/bash -# Show colored output if running interactively -if [ -t 1 ] ; then - export ANSIBLE_FORCE_COLOR=true -fi -# Log everything from this script into _quickstart.log -echo "$0 $@" > _quickstart.log -exec &> >(tee -i -a _quickstart.log ) - -# With LANG set to everything else than C completely undercipherable errors -# like "file not found" and decoding errors will start to appear during scripts -# or even ansible modules -LANG=C - -DEFAULT_OPT_TAGS="untagged,provision,environment,libvirt,undercloud-scripts,undercloud-inventory,overcloud-scripts,undercloud-setup,undercloud-install,undercloud-post-install,tripleoui-validate,notest,nested_virt" -DEFAULT_OPT_OVERCLOUD_PREP_TAGS="overcloud-prep-config,overcloud-prep-images,overcloud-prep-flavors,overcloud-prep-containers,overcloud-prep-network,overcloud-scripts,overcloud-ssl,nested_virt" -ZUUL_CLONER=/usr/zuul-env/bin/zuul-cloner - -: ${OPT_BOOTSTRAP:=0} -: ${OPT_CLEAN:=0} -: ${OPT_PLAYBOOK:=quickstart-extras.yml} -: ${OPT_RELEASE:=master} -: ${OPT_RETAIN_INVENTORY_FILE:=0} -: ${OPT_SYSTEM_PACKAGES:=0} -: ${OPT_TAGS:=$DEFAULT_OPT_TAGS} -: ${OPT_TEARDOWN:=nodes} -: ${OPT_WORKDIR:=~/.quickstart} -: ${OPT_LIST_TASKS_ONLY=""} -: ${USER_OVERRIDE_SUDO_CHECK:=0} -# disable pip implicit version check, if we need min version we should mention it -export PIP_DISABLE_PIP_VERSION_CHECK=${PIP_DISABLE_PIP_VERSION_CHECK:=1} - -clean_virtualenv() { - if [ -d $OPT_WORKDIR ]; then - echo "WARNING: Removing $OPT_WORKDIR. Triggering virtualenv bootstrap." - rm -rf $OPT_WORKDIR - fi -} - -retry() { - local -r -i max_attempts="$1"; shift - local -i attempt_num=1 - until "$@"; do - if ((attempt_num==max_attempts)); then - echo "Max attempt ${max_attempts} reached, '$@' still failing, abandonning." - exit 1 - fi - echo "Attemp ${attempt_num} failed. Retrying..." - sleep $((attempt_num++)) - done -} - -: ${OOOQ_BASE_REQUIREMENTS:=requirements.txt} -: ${OOOQ_EXTRA_REQUIREMENTS:=quickstart-extras-requirements.txt} - -# Our docs support running quickstart.sh as a standalone script. -# We have to download install-deps.sh to support that use case. -ABSDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" - -if [[ ! -e ${ABSDIR}/install-deps.sh ]]; then - echo "install-deps.sh was not found, in the same directory ($ABSDIR) as quickstart.sh" - echo "downloading install-deps.sh to ${ABSDIR}/install-deps.sh" - curl -o ${ABSDIR}/install-deps.sh https://opendev.org/openstack/tripleo-quickstart/raw/branch/master/install-deps.sh - curl -o ${ABSDIR}/bindep.txt https://opendev.org/openstack/tripleo-quickstart/raw/branch/master/bindep.txt -fi -source ${ABSDIR}/install-deps.sh - -print_logo () { - -if [ `TERM=${TERM:-vt100} tput cols` -lt 105 ]; then - -cat <" - echo " playbook to run, relative to playbooks directory" - echo " (default=$OPT_PLAYBOOK)" - echo " -r, --requirements " - echo " install requirements with pip, can be used" - echo " multiple times. By using this flag you override " - echo " both requirements.txt and quickstart-extras-requirements.txt." - echo " The user assumes responsibility for the requirements. " - echo " -u, --url-requirements " - echo " Pip format URL for requirements to install for quickstart" - echo " For example: -u git+https://opendev.org/openstack/tripleo-upgrade#egg=tripleo-upgrade" - echo " -R, --release OpenStack release to deploy (default=$OPT_RELEASE)" - echo " -c, --config " - echo " specify the config file that contains the node" - echo " configuration, can be used only once" - echo " (default=config/general_config/minimal.yml)" - echo " -N, --nodes " - echo " specify the number of nodes that should be created by" - echo " the provisioner. " - echo " -E, --environment " - echo " specify additional configuration that is specific to" - echo " the environment where TripleO-Quickstart is running." - echo " -e, --extra-vars =" - echo " additional ansible variables, can be used multiple times" - echo " -w, --working-dir " - echo " directory where the virtualenv, inventory files, etc." - echo " are created (default=$OPT_WORKDIR)" - echo "" - echo "Advanced options:" - echo " -v, --ansible-debug" - echo " invoke ansible-playbook with -vvvv" - echo " -y, --dry-run" - echo " dry run of playbook, invoke ansible with --list-tasks" - echo " -X, --clean discard the working directory on start" - echo " -b, --bootstrap force creation of the virtualenv and the installation" - echo " of requirements without discarding the working directory" - echo " -n, --no-clone skip cloning the tripleo-quickstart repo, use quickstart" - echo " code from \$PWD" - echo " -g, --gerrit " - echo " check out for the tripleo-quickstart repo" - echo " before running the playbook" - echo " -q, --override_sudo_check" - echo " If passwordless sudo is not enabled, prompt for " - echo " the user password while installing packages" - echo " -I, --retain-inventory" - echo " keep the ansible inventory on start, used for consecutive" - echo " runs of quickstart on the same environment" - echo " -s, --system-site-packages" - echo " give access to the global site-packages modules" - echo " to the virtualenv" - echo " -t, --tags [,,...]" - echo " only run plays and tasks tagged with these values," - echo " specify 'all' to run everything" - echo " (default=$OPT_TAGS)" - echo " -o, --tags-overcloud-prep" - echo " Include the overcloud prep tags automatically in" - echo " addition to the default tags" - echo " -T, --teardown [ all | virthost | nodes | none ]" - echo " parts of a previous deployment to tear down before" - echo " starting a new one, see the docs for full description" - echo " (default=$OPT_TEARDOWN)" - echo " -S, --skip-tags [,,...]" - echo " only run plays and tasks whose tags do" - echo " not match these values" - echo " -l, --print-logo print the TripleO logo and exit" - echo " -h, --help print this help and exit" - -} - -OPT_VARS=() -OPT_ENVIRONMENT=() - -while [ "x$1" != "x" ]; do - case "$1" in - --install-deps|-i) - OPT_INSTALL_DEPS=1 - ;; - - --system-site-packages|-s) - OPT_SYSTEM_PACKAGES=1 - ;; - - --requirements|-r) - OPT_REQARGS+=("-r") - OPT_REQARGS+=("$2") - shift - ;; - - --url-requirements|-u) - OPT_REQARGS+=("$2") - shift - ;; - - --release|-R) - OPT_RELEASE=$2 - shift - ;; - - --bootstrap|-b) - OPT_BOOTSTRAP=1 - ;; - - --ansible-debug|-v) - OPT_DEBUG_ANSIBLE=1 - ;; - - --working-dir|-w) - OPT_WORKDIR=$(realpath $2) - shift - ;; - - --tags|-t) - OPT_TAGS=$2 - shift - ;; - - --skip-tags|-S) - OPT_SKIP_TAGS=$2 - shift - ;; - - --tags-overcloud-prep|-o) - OPT_TAGS="${OPT_TAGS:+$OPT_TAGS,$DEFAULT_OPT_OVERCLOUD_PREP_TAGS}" - shift - ;; - - --config|-c) - OPT_CONFIG=$2 - shift - ;; - - --override_sudo_check|-q) - USER_OVERRIDE_SUDO_CHECK=1 - ;; - - --nodes|-N) - OPT_NODES=$2 - shift - ;; - - --environment|-E) - OPT_ENVIRONMENT+=("-e") - OPT_ENVIRONMENT+=("@$2") - shift - ;; - - --clean|-X) - OPT_CLEAN=1 - ;; - - --playbook|-p) - OPT_PLAYBOOK=$2 - shift - ;; - - --extra-vars|-e) - OPT_VARS+=("-e") - OPT_VARS+=("$2") - shift - ;; - - --teardown|-T) - OPT_TEARDOWN=$2 - shift - ;; - - --help|-h) - usage - exit - ;; - - # developer options - - --gerrit|-g) - OPT_GERRIT=$2 - OPT_BOOTSTRAP=1 - shift - ;; - - --dry-run|-y) - OPT_LIST_TASKS_ONLY=" --list-tasks" - ;; - - --no-clone|-n) - OPT_NO_CLONE=1 - ;; - - --retain-inventory|-I) - OPT_RETAIN_INVENTORY_FILE=1 - ;; - - --print-logo|-l) - PRINT_LOGO=1 - ;; - - --) shift - break - ;; - - -*) echo "ERROR: unknown option: $1" >&2 - usage >&2 - exit 2 - ;; - - *) break - ;; - esac - - shift -done - -if [ -z "$OPT_REQARGS" ]; then - OPT_REQARGS=("-r" "$OOOQ_BASE_REQUIREMENTS" "-r" "$OOOQ_EXTRA_REQUIREMENTS") -else - OPT_REQARGS+=("-r" "$OOOQ_BASE_REQUIREMENTS" "-r" "$OOOQ_EXTRA_REQUIREMENTS") -fi - -if [ "$PRINT_LOGO" = 1 ]; then - print_logo - echo "..." - echo "Nothing more to do" - exit -fi - - -if [ "$OPT_NO_CLONE" = 1 ]; then - OOOQ_DIR=$ABSDIR -else - OOOQ_DIR=$OPT_WORKDIR/tripleo-quickstart -fi - -if [ "$OPT_CLEAN" = 1 -a "$OPT_RETAIN_INVENTORY_FILE" = 0 ]; then - clean_virtualenv -fi - -if [ "$OPT_TEARDOWN" = "all" ]; then - OPT_TAGS="${OPT_TAGS:+$OPT_TAGS,}teardown-all" -elif [ "$OPT_TEARDOWN" = "virthost" ]; then - OPT_TAGS="${OPT_TAGS:+$OPT_TAGS,}teardown-nodes,teardown-environment" -elif [ "$OPT_TEARDOWN" = "nodes" ]; then - OPT_TAGS="${OPT_TAGS:+$OPT_TAGS,}teardown-nodes" -elif [ "$OPT_TEARDOWN" = "none" ]; then - OPT_SKIP_TAGS="${OPT_SKIP_TAGS:+$OPT_SKIP_TAGS,}teardown-all" -fi - -# Set this default after option processing, because the default depends -# on another option. -# Default general configuration -: ${OPT_CONFIG:=$OPT_WORKDIR/config/general_config/minimal.yml} -# Default Nodes -: ${OPT_NODES:=$OPT_WORKDIR/config/nodes/1ctlr_1comp.yml} -# Default Environment -: ${OPT_ENVIRONMENT:=-e @$OPT_WORKDIR/config/environments/default_libvirt.yml} - -# allow the deprecated config files to work -OLD_CONFIG="" -if [[ "$OPT_CONFIG" =~ (^|.*/)ha.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/pacemaker.yml; - OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_1comp.yml; -elif [[ "$OPT_CONFIG" =~ (^|.*/)ceph.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/minimal.yml; - OPT_NODES=$OPT_WORKDIR/config/nodes/1ctlr_1comp_1ceph.yml; -elif [[ "$OPT_CONFIG" =~ (^|.*/)ha_big.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/pacemaker.yml; - OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_3comp.yml; -elif [[ "$OPT_CONFIG" =~ (^|.*/)fake_ha_ipa.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/ipa.yml; - OPT_NODES=$OPT_WORKDIR/config/nodes/1ctlr_1comp_1supp.yml; -elif [[ "$OPT_CONFIG" =~ (^|.*/)ha_ipa.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/ipa.yml; - OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_1comp.yml; -elif [[ "$OPT_CONFIG" =~ (^|.*/)ha_ipv6.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/ipv6.yml; - OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_1comp.yml; -elif [[ "$OPT_CONFIG" =~ (^|.*/)minimal_pacemaker.yml$ ]]; then - OLD_CONFIG=$OPT_CONFIG - OPT_CONFIG=$OPT_WORKDIR/config/general_config/pacemaker.yml; -fi - -if [ "$OLD_CONFIG" != "" ]; then - echo "******************** PLEASE READ ****************************" >&2 - echo "" >&2 - echo "DEPRECATION NOTICE: $OLD_CONFIG has been deprecated" >&2 - echo "" >&2 - sleep 3; -fi - -if [ "$OPT_INSTALL_DEPS" = 1 ]; then - echo "NOTICE: installing dependencies" >&2 - install_deps - install_bindep - install_package_deps_via_bindep - exit $? -fi - -if [ "$OPT_BOOTSTRAP" = 1 ] || ! [ -f "$OPT_WORKDIR/bin/activate" ]; then - bootstrap - - if [ $? -ne 0 ]; then - echo "ERROR: bootstrap failed; try \"$0 --install-deps\"" >&2 - echo " to install package dependencies or \"$0 --clean\"" >&2 - echo " to remove $OPT_WORKDIR and start over" >&2 - exit 1 - fi -fi - -if [ "$#" -lt 1 ]; then - if [ "${VIRTHOST:-}" == "" ]; then - echo "ERROR: You didn't specify a target machine and VIRTHOST is not defined" >&2 - usage >&2 - exit 2 - else - echo "NOTICE: Using VIRTHOST=$VIRTHOST as target machine" >&2 - fi -else - VIRTHOST=$1 -fi - -if [ $VIRTHOST == "127.0.0.1" ] || [ $VIRTHOST == "localhost" ]; then - echo "ERROR: Please use 127.0.0.2 to deploy to localhost" >&2 - exit 2 -fi - -if [ "$#" -gt 2 ]; then - usage >&2 - exit 2 -fi - - -print_logo -echo "Installing OpenStack ${OPT_RELEASE:+"$OPT_RELEASE "}on host $VIRTHOST" -echo "Using directory $OPT_WORKDIR for a local working directory" -echo "Current run is logged in _quickstart.log file in current directory" - -set -ex - -activate_venv - -export ANSIBLE_CONFIG=$OOOQ_DIR/ansible.cfg -export ANSIBLE_INVENTORY=$OPT_WORKDIR/hosts -export ARA_DATABASE="sqlite:///${OPT_WORKDIR}/ara.sqlite" - -#set the ansible ssh.config options if not already set. -source $OOOQ_DIR/ansible_ssh_env.sh - -if [ "$OPT_RETAIN_INVENTORY_FILE" = 0 -a -z "$OPT_LIST_TASKS_ONLY" ]; then - # Clear out inventory file to avoid tripping over data - # from a previous invocation - cat >$ANSIBLE_INVENTORY <&2 - exit 1 -fi - -ansible-playbook -$VERBOSITY $OPT_WORKDIR/playbooks/$OPT_PLAYBOOK \ - -e @$OPT_WORKDIR/config/release/$OPT_RELEASE.yml \ - -e @$OPT_NODES \ - -e @$OPT_CONFIG \ - ${OPT_ENVIRONMENT[@]} \ - -e local_working_dir=$OPT_WORKDIR \ - ${OPT_LIST_TASKS_ONLY} \ - -e virthost=$VIRTHOST \ - ${OPT_VARS[@]} \ - ${OPT_TAGS:+-t $OPT_TAGS} \ - ${OPT_SKIP_TAGS:+--skip-tags $OPT_SKIP_TAGS} - -# We only print out further usage instructions when using the default -# tags, since this is for new users (and not even applicable to some tags). - -set +x - -if ! [[ "overcloud-deploy" =~ .*$OPT_TAGS.* ]] && [[ $OPT_PLAYBOOK == quickstart-extras.yml ]]; then - -cat < - 2.0.0 is the final release for Ocata. - It's the first release where release notes are added. -features: - - Added ability to use an overcloud-full.qcow2 as an undercloud image, doing - the conversion at runtime. - - Added ability to deploy an overcloud with ssl - - Added support for using a partition image undercloud.qcow2. - - Added support for Ironic's VirtualBMC driver instead of the deprecated - pxe_ssh driver. - - Added support for using novajoin on the undercloud. -upgrade: - - Each entry in the overcloud_nodes dict needs to be updated with a - virtualbmc_port entry. See `c8c6e57ca2aad70c859505e02213ddfe40223e19 - `__ -deprecations: - - roles/tripleo/undercloud redirects to the undercloud-deploy role in - tripleo-quickstart-extras, but that redirect will be removed in the Queens - release. -fixes: - - Fixes `bug 1626707 - `__ SSH can - fail wehn the user has many SSH keys - - Fixes `bug 1649272 - `__ Undercloud - ssh check timeout might be too short - - Fixes `bug 1657232 - `__ tq libvirt - role fails to mark ooo_pool autostart -other: - - Cleaned up instackenv.json template. - - Started using tripleo-quickstart-extras repo for roles outside of the scope - of setting up a libvirt developer environment. - - Updated to Ansible 2.2.0 - - Converted fetch-images and convert-image to roles to allow for easier - reuse. - - Undercloud deploy role moved to tripleo-quickstart-extras - - Added repo configuration to the release configs for usage by the repo-setup - role in tripleo-quickstart-extras diff --git a/releasenotes/notes/Add-supplemental-node-role-0b6ad8afe82e327d.yaml b/releasenotes/notes/Add-supplemental-node-role-0b6ad8afe82e327d.yaml deleted file mode 100644 index 5382f3a97..000000000 --- a/releasenotes/notes/Add-supplemental-node-role-0b6ad8afe82e327d.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Add ability to deploy supplmental node alongside the undercloud. - Add ability to deploy FreeIPA on supplemental node and enable TLS - Everywhere. diff --git a/releasenotes/notes/Support-for-virtualport-types-431c390fcf390107.yaml b/releasenotes/notes/Support-for-virtualport-types-431c390fcf390107.yaml deleted file mode 100644 index 12fb468c3..000000000 --- a/releasenotes/notes/Support-for-virtualport-types-431c390fcf390107.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - Support for virtualport types, such as openvswitch, added. -upgrade: - - | - Ansible >= 2.2 required for openvswitch virtualport customisation. diff --git a/releasenotes/notes/add-ability-to-set-dns-on-tls-everywhere-supp-node-9f61fc635dd09070.yaml b/releasenotes/notes/add-ability-to-set-dns-on-tls-everywhere-supp-node-9f61fc635dd09070.yaml deleted file mode 100644 index f4f981641..000000000 --- a/releasenotes/notes/add-ability-to-set-dns-on-tls-everywhere-supp-node-9f61fc635dd09070.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -features: - - Added ability to set the DNS server for eth0 as defined in the - tls_everywhere_provisioner.sh.j2 script. Default <192.168.23.1> can be - overridden by setting the `supplemental_tls_everywhere_dns_server` var. -fixes: - - The `bug 1712081 `__ - SSH connection to supplemental ipa VM takes minutes; was fixed. diff --git a/releasenotes/notes/add-fs038-for-octavia-c3fef2c3e65c0a55.yaml b/releasenotes/notes/add-fs038-for-octavia-c3fef2c3e65c0a55.yaml deleted file mode 100644 index 232f3f93f..000000000 --- a/releasenotes/notes/add-fs038-for-octavia-c3fef2c3e65c0a55.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - | - Add a featureset038 to support testing Octavia. diff --git a/releasenotes/notes/add-ovb-devmode-f2126fd97caa00c1.yaml b/releasenotes/notes/add-ovb-devmode-f2126fd97caa00c1.yaml deleted file mode 100644 index e9bc5d4ff..000000000 --- a/releasenotes/notes/add-ovb-devmode-f2126fd97caa00c1.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -features: - - | - Added functionality to run OVB deployments from - devmode.sh - including options to remove old stacks - and keypairs from the host cloud environment, include - DLRN changes, and deploy in custom host cloud - environments. - Added two new switches to devmode.sh, - --ovb (runs devmode through the OVB workflow) - --delete-all-stacks (removes stacks and key pairs in the - host cloud environment) diff --git a/releasenotes/notes/break-out-general-config-8a02f40113e58dbc.yaml b/releasenotes/notes/break-out-general-config-8a02f40113e58dbc.yaml deleted file mode 100644 index afbe4db91..000000000 --- a/releasenotes/notes/break-out-general-config-8a02f40113e58dbc.yaml +++ /dev/null @@ -1,25 +0,0 @@ ---- -features: - - Configuration files in general_config were separated - into feature sets (to be specified with --config - argument )and nodes configuration (to be specified with - --nodes configuration) - Featureset files should contain only the list of flags - that enable features we want to test in the deployment, - the overcloud nodes configuration, and all that involves - their set up, should be put into nodes configuration - files. - The nodes file should follow the scheme - N[_N[_N]...].yml - Where N is the number of nodes of a certain , - could be one of ctlr for controllers, comp for - compute nodes, ceph for ceph nodes, and so on. - It's advised to add a node_count variable to the nodes - configuration file -deprecations: - - All old configuration files are deprecated. Any new - configuration should put the topology part into nodes/ - dir and the part that configures the features to be - tested into featureset files. For example, the old - minimal.yml file was split into no_netiso.yml and - 1ctlr_1comp.yml diff --git a/releasenotes/notes/consolidate-general-configurations-4748e1b2fbd6d5c9.yaml b/releasenotes/notes/consolidate-general-configurations-4748e1b2fbd6d5c9.yaml deleted file mode 100644 index 0e1803da8..000000000 --- a/releasenotes/notes/consolidate-general-configurations-4748e1b2fbd6d5c9.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -features: - - update the config/general_config/minimal.yml and config/general_config/pacemaker.yml - configuration files to more closely match what is executed upstream. -deprecations: - - The configurations that be default did not use containers for releases that - supported containers ( pike++ ) are now deprecrated. Specifically the - configuration file in tripleo-quickstart-extras config/general_config/containers_minimal.yml - and config/general_config/containers_undercloud_minimal.yml are deprecrated. diff --git a/releasenotes/notes/enable_tripleo-validations-5d8064acb2460cf0.yaml b/releasenotes/notes/enable_tripleo-validations-5d8064acb2460cf0.yaml deleted file mode 100644 index c02a0434d..000000000 --- a/releasenotes/notes/enable_tripleo-validations-5d8064acb2460cf0.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -features: - - | - TripleO-QuickStart has now the ability to run TripleO-Validations through - the Mistral Framework (pre-introspection, pre-deployment and post-deployment). - TripleO-Quickstart will also be able to run a bunch of negative tests using Ansible - directly. diff --git a/releasenotes/notes/enable_vnc_console_default_true-3b4431043e231df0.yaml b/releasenotes/notes/enable_vnc_console_default_true-3b4431043e231df0.yaml deleted file mode 100644 index 257ee4b15..000000000 --- a/releasenotes/notes/enable_vnc_console_default_true-3b4431043e231df0.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -other: - - Enable the VNC console by default for the undercloud - and overcloud VMs. In previous versions the VNC console - was disabled by default. diff --git a/releasenotes/notes/generic-convert-image-5605efaea6828aad.yaml b/releasenotes/notes/generic-convert-image-5605efaea6828aad.yaml deleted file mode 100644 index 24df63d1d..000000000 --- a/releasenotes/notes/generic-convert-image-5605efaea6828aad.yaml +++ /dev/null @@ -1,9 +0,0 @@ ---- -features: - - | - Added the ability to better control what happens when converting an - overcloud-full.qcow2 image into an undercloud image. It is now possible to - change whether an update is run (convert_image_update|bool), what packages - should be removed (convert_image_remove_pkgs|list), what packages should - be installed (convert_image_install_pkgs|list, and what tempest plugins - should be installed (convert_image_tempest_plugins|list). diff --git a/releasenotes/notes/image-cache-directory-clenup-1eb6c00f50a5809a.yaml b/releasenotes/notes/image-cache-directory-clenup-1eb6c00f50a5809a.yaml deleted file mode 100644 index 0116146d5..000000000 --- a/releasenotes/notes/image-cache-directory-clenup-1eb6c00f50a5809a.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -features: - - | - Added conditional removing of all files in image cache directory - 'image_cache_dir_cleanup' or removing files older more than N days - (by default 14) 'image_cache_expire_days'. diff --git a/releasenotes/notes/ipmi-hw-type-dd4397735dbc2152.yaml b/releasenotes/notes/ipmi-hw-type-dd4397735dbc2152.yaml deleted file mode 100644 index fb251a407..000000000 --- a/releasenotes/notes/ipmi-hw-type-dd4397735dbc2152.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -features: - - | - Starting with the Pike release, the ``ipmi`` hardware type is used for - virtual nodes instead of the old ``pxe_ipmitool`` driver. diff --git a/releasenotes/notes/mitaka-eol-b3e3ea7f649011c2.yaml b/releasenotes/notes/mitaka-eol-b3e3ea7f649011c2.yaml deleted file mode 100644 index 21145a183..000000000 --- a/releasenotes/notes/mitaka-eol-b3e3ea7f649011c2.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -prelude: > - This will be the final release that supports Mitaka. Consumers of - tripleo-quickstart that need Mitaka support will need to maintain their own - branch starting from this commit. diff --git a/releasenotes/notes/nova_cellv2_multicell-faef8f0157dcecf0.yaml b/releasenotes/notes/nova_cellv2_multicell-faef8f0157dcecf0.yaml deleted file mode 100644 index 28dffc086..000000000 --- a/releasenotes/notes/nova_cellv2_multicell-faef8f0157dcecf0.yaml +++ /dev/null @@ -1,16 +0,0 @@ ---- -features: - - | - This introduce needed changes to be able to deploy an additional - cell via oooq. If additional_cell is set to true after the - overcloud got deployed the additional cell gets deployed. Todo - this information gets extracted from the overcloud stack, which - is requried as input to the second heat stack, where the additional - cell is managed with. As a reference [1] is the scenario which - is installed adding a single additional cell. - - config/general_config/featureset063.yml is used for the configuration - and config/nodes/1ctlr_1cellctrl_1comp.yml has a nova config - example. - - [1] https://docs.openstack.org/project-deploy-guide/tripleo-docs/latest/features/deploy_cellv2_basic.html diff --git a/releasenotes/notes/openstack-shade-static-inventory-88e9985286162ccb.yaml b/releasenotes/notes/openstack-shade-static-inventory-88e9985286162ccb.yaml deleted file mode 100644 index ab0070c31..000000000 --- a/releasenotes/notes/openstack-shade-static-inventory-88e9985286162ccb.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -features: - - | - An experimental provider of an openstack static inventory and SSH config. - Is a feature for advanced dev/QE setups, like pre-provisioned VMs on - OpenStack clouds (deployed-servers) or a split-stack. It has yet been - tested by TripleO CI jobs. Eventually, we'll add a CI job and switch some - of the OVB jobs in order to start testing this mode as well. - - In order to enable the feature for the 'tripleo-inventory' role, define - `inventory: openstack`. diff --git a/releasenotes/notes/scenario006-d88221af1bcd26f0.yaml b/releasenotes/notes/scenario006-d88221af1bcd26f0.yaml deleted file mode 100644 index 75b08a4f1..000000000 --- a/releasenotes/notes/scenario006-d88221af1bcd26f0.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -features: - - Create featureset026 that will deploy COE on the overcloud instead - of OpenStack services (scenario006). diff --git a/releasenotes/notes/scenario009-883d1575a561bb1a.yaml b/releasenotes/notes/scenario009-883d1575a561bb1a.yaml deleted file mode 100644 index 010a4ba76..000000000 --- a/releasenotes/notes/scenario009-883d1575a561bb1a.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -features: - - Create a scenario for running tests on top of OpenShift diff --git a/releasenotes/notes/tags_for_all_tasks-7797e4ba6492794e.yaml b/releasenotes/notes/tags_for_all_tasks-7797e4ba6492794e.yaml deleted file mode 100644 index fa1a06c4a..000000000 --- a/releasenotes/notes/tags_for_all_tasks-7797e4ba6492794e.yaml +++ /dev/null @@ -1,13 +0,0 @@ ---- -features: - - | - Tags were added in all the playbooks so that it is possible to control - atomically the flow of the entire process. - The *DEFAULT_OPT_TAGS* variable used in quickstart.sh has been changed to - reflect all the available tags, which are *untagged*, *provision*, - *environment*, *libvirt*, *undercloud-inventory*, *overcloud-scripts*, - *undercloud-install* and *undercloud-post-install*. -deprecations: - - | - The old tag named *undercloud-scripts* has been replaced with the more - self-explaining *undercloud-inventory*. diff --git a/releasenotes/notes/use-repo-setup-f3a3ce9d9d3bbf63.yaml b/releasenotes/notes/use-repo-setup-f3a3ce9d9d3bbf63.yaml deleted file mode 100644 index 6dfe1e202..000000000 --- a/releasenotes/notes/use-repo-setup-f3a3ce9d9d3bbf63.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- -fixes: - - | - Updated repo injection code to use the repo-setup role. This allows for - configuring what repos get injected to the provided images rather than - relying on hardcoded repo setup. diff --git a/releasenotes/source/_static/.gitkeep b/releasenotes/source/_static/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/releasenotes/source/conf.py b/releasenotes/source/conf.py deleted file mode 100644 index 17be4ef40..000000000 --- a/releasenotes/source/conf.py +++ /dev/null @@ -1,271 +0,0 @@ -# -*- coding: utf-8 -*- -# 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. -# -# flake8: noqa - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) - -# -- General configuration ------------------------------------------------ - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom -# ones. -extensions = [ - 'openstackdocstheme', - 'reno.sphinxext', -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'tripleo-quickstart Release Notes' -copyright = u'2017, TripleO Developers' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The full version, including alpha/beta/rc tags. -release = '' -# The short X.Y version. -version = '' - -# The full version, including alpha/beta/rc tags. - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all -# documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'native' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - -# If true, keep warnings as "system message" paragraphs in the built documents. -#keep_warnings = False - - -# -- Options for HTML output ---------------------------------------------- - -# The theme to use for HTML and HTML Help pages. See the documentation for -# a list of builtin themes. -html_theme = 'openstackdocs' - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -#html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -#html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -#html_title = None - -# A shorter title for the navigation bar. Default is the same as html_title. -#html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -#html_logo = None - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -#html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ['_static'] - -# Add any extra paths that contain custom files (such as robots.txt or -# .htaccess) here, relative to this directory. These files are copied -# directly to the root of the documentation. -#html_extra_path = [] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -#html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -#html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -#html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -#html_additional_pages = {} - -# If false, no module index is generated. -#html_domain_indices = True - -# If false, no index is generated. -#html_use_index = True - -# If true, the index is split into individual pages for each letter. -#html_split_index = False - -# If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -#html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -#html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -#html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -#html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = 'tripleo-quickstartReleaseNotesdoc' - - -# -- Options for LaTeX output --------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, -# author, documentclass [howto, manual, or own class]). -latex_documents = [ - ('index', 'tripleo-quickstartReleaseNotes.tex', u'tripleo-quickstart Release Notes Documentation', - u'2017, TripleO Developers', 'manual'), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -#latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -#latex_use_parts = False - -# If true, show page references after internal links. -#latex_show_pagerefs = False - -# If true, show URL addresses after external links. -#latex_show_urls = False - -# Documents to append as an appendix to all manuals. -#latex_appendices = [] - -# If false, no module index is generated. -#latex_domain_indices = True - - -# -- Options for manual page output --------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [ - ('index', 'tripleo-quickstartreleasenotes', u'tripleo-quickstart Release Notes Documentation', - [u'2017, TripleO Developers'], 1) -] - -# If true, show URL addresses after external links. -#man_show_urls = False - - -# -- Options for Texinfo output ------------------------------------------- - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ('index', 'tripleo-quickstartReleaseNotes', u'tripleo-quickstart Release Notes Documentation', - u'2017, TripleO Developers', 'tripleo-quickstartReleaseNotes', 'Ansible based project for setting up TripleO virtual environments', - 'Miscellaneous'), -] - -# Documents to append as an appendix to all manuals. -#texinfo_appendices = [] - -# If false, no module index is generated. -#texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -#texinfo_show_urls = 'footnote' - -# If true, do not generate a @detailmenu in the "Top" node's menu. -#texinfo_no_detailmenu = False - -# -- Options for Internationalization output ------------------------------ -locale_dirs = ['locale/'] - -# openstackdocstheme options -openstackdocs_repo_name = 'openstack/tripleo-quickstart' -openstackdocs_auto_name = False -openstackdocs_bug_project = 'tripleo' -openstackdocs_bug_tag = 'documentation' diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst deleted file mode 100644 index 792c1956e..000000000 --- a/releasenotes/source/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -================================================ -Welcome to tripleo-quickstart Release Notes! -================================================ - -Contents -======== - -.. toctree:: - :maxdepth: 2 - - unreleased - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`search` diff --git a/releasenotes/source/unreleased.rst b/releasenotes/source/unreleased.rst deleted file mode 100644 index 2334dd5cf..000000000 --- a/releasenotes/source/unreleased.rst +++ /dev/null @@ -1,5 +0,0 @@ -============================== - Current Series Release Notes -============================== - - .. release-notes:: diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index bbf5f7253..000000000 --- a/requirements.txt +++ /dev/null @@ -1,18 +0,0 @@ -cmd2>=0.8.5 -ansible-core>=2.11,<2.12 -jmespath -netaddr>=0.7.18 -os-client-config -pbr>=5.4.3 -setuptools>=11.3 -warlock!=1.3.2 -futurist<=1.10.0;python_version=='2.7' # Apache-2.0 -futurist;python_version>='3.6' # Apache-2.0 -cliff<=2.18.0;python_version=='2.7' # Apache-2.0 -clif;python_version>='3.6' # Apache-2.0 -oslo.serialization<=2.29.2;python_version=='2.7' # Apache-2.0 -oslo.serialization;python_version>='3.6' # Apache-2.0 -oslo.utils<=3.42.1;python_version=='2.7' # Apache-2.0 -oslo.utils;python_version>='3.6' # Apache-2.0 -oslo.config<=7.0.0;python_version=='2.7' # Apache-2.0 -oslo.config;python_version>='3.6' # Apache-2.0 diff --git a/roles/common/defaults/main.yml b/roles/common/defaults/main.yml deleted file mode 100644 index 45c8e16b2..000000000 --- a/roles/common/defaults/main.yml +++ /dev/null @@ -1,274 +0,0 @@ ---- -# This directory is used to store a variety of files generated -# during the deploy process (ansible inventory, ssh configuration, ssh -# key files, etc) -local_working_dir: "{{ lookup('env', 'HOME') }}/.quickstart" - -# this will define the user that ansible will connect with -ssh_user: stack - -# This defines the users that deploys the overcloud from the undercloud -# and accesses overcloud as the orchestration admin user -undercloud_user: stack -overcloud_user: tripleo-admin - -# This is where we store generated artifacts (like ssh config files, -# keys, deployment scripts, etc) on the undercloud. -working_dir: "/home/{{ undercloud_user }}" - -# This is a directory no the virthost in which we store the downloaded -# undercloud image. -image_cache_dir: "/var/cache/tripleo-quickstart/images/{{ release }}" - -image_fetch_dir: "{{ working_dir }}" - -# This determines whether to download a pre-built undercloud.qcow2 or -# whether to instead use an overcloud qcow2 and convert it on -# the fly. The default is to use a pre-built undercloud.qcow2. -overcloud_as_undercloud: false - -# This determines whether or not to treat the undercloud.qcow2 as a -# stock CentOS or RHEL image. The default is a pre-built undercloud.qcow2 -baseos_as_undercloud: false - -# optionally setup the yum repos on the virthost -virthost_repo_setup: false - -# When a base os image is used in lieu of a quickstart prepared image -# additional setup steps are required for the undercloud install. -undercloud_setup: false - -# Set selinux, by default RDO builds are always set to selinux permissive -selinux_enforcing: false - -# These defaults are used if there are no flavor-specific -# overrides configured. -default_disk: 50 -default_memory: 8192 - -# Setting controller and compute nodes to 2 vcpus, so we have more processing -# power to run the tests -default_vcpu: 2 - -# The undercloud needs more than the default amount of memory -# and disk. -undercloud_memory: 12288 -undercloud_disk: 50 -# Setting undercloud to 6 cpus, so we continue to have around 10 vcpus -# by default -undercloud_vcpu: 6 - -# The default deployment has flavors for compute, controllers, ceph -# nodes, and undercloud nodes. All flavors defined in the `flavors` -# key will be created with an `oooq_` prefix to avoid conflicts with -# the pre-defined flavors created by `openstack install undercloud`. -flavors: - compute: - memory: '{{ compute_memory|default(default_memory) }}' - disk: '{{ compute_disk|default(default_disk) }}' - vcpu: '{{ compute_vcpu|default(default_vcpu) }}' - - control: - memory: '{{ control_memory|default(default_memory) }}' - disk: '{{ control_disk|default(default_disk) }}' - vcpu: '{{ control_vcpu|default(default_vcpu) }}' - - cellcontrol: - memory: '{{ cellcontrol_memory|default(default_memory) }}' - disk: '{{ cellcontrol_disk|default(default_disk) }}' - vcpu: '{{ cellcontrol_vcpu|default(default_vcpu) }}' - - ceph: - memory: '{{ ceph_memory|default(default_memory) }}' - disk: '{{ ceph_disk|default(default_disk) }}' - vcpu: '{{ ceph_vcpu|default(default_vcpu) }}' - extradisks: true - - blockstorage: - memory: '{{ block_memory|default(default_memory) }}' - disk: '{{ block_disk|default(default_disk) }}' - vcpu: '{{ block_vcpu|default(default_vcpu) }}' - - objectstorage: - memory: '{{ objectstorage_memory|default(default_memory) }}' - disk: '{{ objectstorage_disk|default(default_disk) }}' - vcpu: '{{ objectstorage_vcpu|default(default_vcpu) }}' - extradisks: true - - undercloud: - memory: '{{ undercloud_memory|default(undercloud_memory) }}' - disk: '{{ undercloud_disk|default(undercloud_disk) }}' - vcpu: '{{ undercloud_vcpu|default(undercloud_vcpu) }}' - -# We create a single undercloud node. -undercloud_node: - name: undercloud - flavor: undercloud - -# Do not deploy supplemental nodes by default. -deploy_supplemental_node: false - -# Do not deploy FreeIPA server by default. -enable_tls_everywhere: false - -# allow the nic model to be overridden by environment variable -overcloud_libvirt_nic_model: virtio - -# The overcloud will have three controllers, one compute node, -# and a ceph storage node. -overcloud_nodes: - - name: control_0 - flavor: control - - name: control_1 - flavor: control - - name: control_2 - flavor: control - - - name: compute_0 - flavor: compute - - - name: ceph_0 - flavor: ceph - -# Describe our virtual networks. These networks will be attached to -# the undercloud node and to the overcloud nodes in the order in which -# they are defined with the following caveats: -# * If no networks are using forward_mode: 'nat', then the default libvirt -# network will be attached to the undercloud. This is required to ssh from the -# virt host to the undercloud -# * The first bridge network defined will be used for pxe booting -# * Networks with forward_mode: 'nat' will not be attached to overcloud -# nodes unless force_ovc: true is used in network's definition. -# -external_network_cidr: 192.168.23.0/24 -default_networks: - - name: overcloud - bridge: brovc - - name: external - bridge: brext - forward_mode: nat - force_ovc: false - address: "{{ external_network_cidr|nthhost(1) }}" - netmask: "{{ external_network_cidr|ipaddr('netmask') }}" - dhcp_range: - - "{{ external_network_cidr|nthhost(10) }}" - - "{{ external_network_cidr|nthhost(50) }}" - nat_port_range: - - 1024 - - 65535 - -extra_networks_count: >- - {% if network_isolation_type == 'multiple-nics-vlans' -%} - 5 - {%- else -%} - 0 - {%- endif %} - -extra_networks: |- - {%- set calc_extra_networks = namespace(value=[]) -%} - {% if network_isolation_type == 'multiple-nics-vlans' -%} - {%- for idx in range(extra_networks_count|int) -%} - {%- set nw = [{ "name": "overcloud" + idx|string, "bridge": "brovc" + idx|string }] -%} - {%- set calc_extra_networks.value = calc_extra_networks.value + nw -%} - {%- endfor -%} - {%- endif %} - {{ calc_extra_networks.value }} - -networks: "{{ default_networks + extra_networks }}" - -# Enable network isolation with single-nic-vlans for virtualized deployments -undercloud_network_cidr: 192.168.24.0/24 -undercloud_external_network_cidr: >- - {%- if overcloud_ipv6|bool %}2001:db8:fd00:1000::/64{% else %}10.0.0.1/24{% endif -%} -# undercloud_external_network_cidr_ipv4 is only used for routing when -# the overcloud is ipv6 -undercloud_external_network_cidr_ipv4: 10.0.0.1/24 -undercloud_networks: - external: - address: "{{ undercloud_external_network_cidr|nthhost(1) }}" - netmask: "{{ undercloud_external_network_cidr|ipaddr('netmask') }}" - address6: "{{ undercloud_external_network_cidr6|nthhost(1) }}" - device_type: ovs - type: OVSIntPort - ovs_bridge: br-ctlplane - ovs_options: '"tag=10"' - tag: 10 - -network_isolation: true -network_isolation_type: 'single-nic-vlans' -enable_pacemaker: false -ipv6: false - -# This enables the deployment of the overcloud with SSL. -ssl_overcloud: false -# If ssl_overcloud is True, then the overcloud public vip must be explicitly -# specified as part of the deployment configuration. Note that the VIP used has -# to be set accordingly with the `undercloud_external_network_cidr`. -overcloud_public_vip: 10.0.0.5 -overcloud_public_vip6: 2001:db8:fd00:1000::14 - -# This enables the deployment of an additonal nova cellv2 -additional_cell: false -# name of the cell -cell_name: cell1 -# If ssl_overcloud and additional_cell is True, then the cell public vip must be -# explicitly specified as part of the deployment configuration. Note that the -# VIP used has to be set accordingly with the `undercloud_external_network_cidr`. -cell_public_vip: 10.0.0.6 -cell_public_vip6: 2001:db8:fd00:1000::15 - -# Enable the virt_bmc ( virtual baremetal controllers ) -enable_vbmc: true - -# Set this to `false` if you don't want your undercloud and overcloud vms -# to have a VNC console available. -enable_vnc_console: true - -# We have some version specific behaviors, so we need a release variable -# -# TODO(trown): It would be better to write a release into the image itself -# and set this variable from there. -release: queens - -# This option controls whether or not to use the repo setup for TripleO -# development. Since this requires some other options to be functional, -# it is best to specify release master-tripleo-ci rather than -# just flipping this to true. -devmode: false - -# Tuned profile set while provisioning remote hosts to optimize for deployment -tuned_profile: 'virtual-host' - -# This is the name of the user the `provision` role will create on the -# remote host. -non_root_user: stack -non_root_group: "{{ non_root_user }}" - -# Path for volume storage -libvirt_volume_path: "{{ working_dir }}/pool" - -libvirt_uri: qemu:///session -libvirt_session_socket: libvirt-sock - -# Whether to give permissive access to files owned by the non_root_user. -# This is required if the non_root_user is not used to run libvirt tasks. -# The most common case for this is when openvswitch is used for networks -# on the virthost. This requires running libvirt tasks as the root user so -# that they have sufficient privileges to connect to ovs bridges. -non_root_chown: false - -# Enable port forwarding for tripleo-ui access -# It is safe to mark this as default true as it only runs on a virthost -# This variable is set to true in config/environments/default_libvirt.yml -enable_port_forward_for_tripleo_ui: false - -# Update undercloud and overcloud images with the repos provided via the -# release config. -update_images: false - -# If running in chroot-like environments (containers) -chrooted: false - -# moved from tqe -undercloud_generate_service_certificate: true -overcloud_image: overcloud-full diff --git a/roles/convert-image/README.md b/roles/convert-image/README.md deleted file mode 100644 index ad280670b..000000000 --- a/roles/convert-image/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Convert an overcloud-full.qcow2 into an image to boot an undercloud from - -The `convert-image` role transforms an overcloud image into one which an -undercloud can be booted from in order to save time on package installs, while -not needing to maintain/host a specific undercloud image. - -## Variables - -* `convert_image_base`: -- base image to convert into an undercloud image -* `convert_image_working_dir`: -- directory to be used for image conversion -* `convert_image_template`: jinja template for the script which does the - conversion -* `convert_image_update`: Boolean controlling whether to run an update as part - of the image conversion -* `convert_image_remove_pkgs`: List of packages that need to be removed from - the overcloud image -* `convert_image_install_pkgs`: List of packages that need to be installed on - the overcloud image -* `convert_image_tempest_plugins`: List of tempest plugins to install (This is - separate from the install list so that it can be allowed to fail without - failing the conversion) -* `overcloud_full_root_pwd`: If set the defined password will - set for the root user on the overcloudl image. The - resulting overcloud and undercloud instances will have - the password set. diff --git a/roles/convert-image/defaults/main.yml b/roles/convert-image/defaults/main.yml deleted file mode 100644 index e567eb7eb..000000000 --- a/roles/convert-image/defaults/main.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -# By default do image conversion in the global working_dir -convert_image_working_dir: "{{ working_dir }}" -convert_image_template: convert_image.sh.j2 - -# Do a yum update when converting overcloud to undercloud -convert_image_update: true - -# List of packages that should be removed from the overcloud image -convert_image_remove_pkgs: - - cloud-init - - python-django-horizon - - openstack-dashboard - -# List of packages that should be installed to convert overcloud to undercloud -convert_image_install_pkgs: - - "{{ 'python3-tripleoclient' if ansible_distribution_major_version is version(8, '>=') else 'python-tripleoclient' }}" - -convert_image_tempest_plugins: [] -convert_image_host_memory: 2048 -guest_partition: /dev/sda - -# Image to use as base -convert_image_base: "{{ overcloud_image }}" diff --git a/roles/convert-image/meta/main.yml b/roles/convert-image/meta/main.yml deleted file mode 100644 index 846c11f2f..000000000 --- a/roles/convert-image/meta/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Include the `common` role as a dependency. -dependencies: - - common diff --git a/roles/convert-image/tasks/main.yml b/roles/convert-image/tasks/main.yml deleted file mode 100644 index 31b7640a0..000000000 --- a/roles/convert-image/tasks/main.yml +++ /dev/null @@ -1,57 +0,0 @@ ---- -- name: generate convert script - template: - src: "{{ convert_image_template }}" - dest: "{{ convert_image_working_dir }}/convert_image.sh" - -- name: "check if we have an {{ convert_image_base }}.qcow2 to start from" - stat: - path: "{{ convert_image_working_dir }}/{{ convert_image_base }}.qcow2" - register: overcloud_full_qcow2 - -# This tasks is not be used in CI or on any public systems -# Only use this option when debugging locally on a secure system -- name: set root password for image - command: > - virt-customize --smp 2 -m {{ convert_image_host_memory }} - -a {{ convert_image_working_dir }}/{{ convert_image_base }}.qcow2 - --root-password password:{{ overcloud_full_root_pwd }} - when: - - overcloud_full_root_pwd is defined - - overcloud_full_qcow2.stat.exists - -- name: "copy {{ convert_image_base }}.qcow2 to undercloud.qcow2" - command: > - cp {{ convert_image_working_dir }}/{{ convert_image_base }}.qcow2 - {{ convert_image_working_dir }}/undercloud.qcow2 - changed_when: true - when: overcloud_full_qcow2.stat.exists and overcloud_as_undercloud|bool - -# Resize the undercloud image using qemu-img resize -- name: Resize the undercloud image using qemu-image resize - command: > - qemu-img resize {{ convert_image_working_dir }}/undercloud.qcow2 - {{ flavors[undercloud_node.name].disk }}G - changed_when: true - -- name: convert image - command: > - virt-customize -v --smp 2 -m {{ convert_image_host_memory }} - -a {{ convert_image_working_dir }}/undercloud.qcow2 - --run convert_image.sh - changed_when: true - args: - chdir: "{{ convert_image_working_dir }}" - environment: - LIBGUESTFS_BACKEND: direct - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -- name: collect diagnostic log from undercloud image - shell: > - virt-cat -a undercloud.qcow2 /tmp/builder.log > builder-undercloud.log 2>&1; - changed_when: true - args: - chdir: "{{ convert_image_working_dir }}" - environment: - LIBGUESTFS_BACKEND: direct - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" diff --git a/roles/convert-image/templates/convert_image.sh.j2 b/roles/convert-image/templates/convert_image.sh.j2 deleted file mode 100644 index 5d33a1040..000000000 --- a/roles/convert-image/templates/convert_image.sh.j2 +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/bash - -set -eux - -FS_TYPE=`findmnt -o FSTYPE -fn /` - -if [ "$FS_TYPE" = "xfs" ]; then - xfs_growfs / -elif [ "$FS_TYPE" = "ext4" ]; then - resize2fs {{ guest_partition }} || true -else - echo "ERROR: Unknown filesystem, cannot resize." - exit 1 -fi - -{% if not undercloud_setup|bool %} - -{{ ansible_pkg_mgr }} clean all -{% if convert_image_update|bool %} -{{ ansible_pkg_mgr }} update -y -{% endif %} - -{{ ansible_pkg_mgr }} remove -y {{ convert_image_remove_pkgs|join(" ") }} -{{ ansible_pkg_mgr }} install -y {{ convert_image_install_pkgs|join(" ") }} -{% if convert_image_tempest_plugins is defined and convert_image_tempest_plugins|length %} -{# keep plugins install isolated from previous yum install to ease debugging #} -{{ ansible_pkg_mgr }} install -y {{ convert_image_tempest_plugins|join(" ") }} -{% endif %} - -{% endif %} - -{% if overcloud_as_undercloud|bool %} -# Create ifcfg file if not exist, as it's removed in overcloud prep -# https://review.opendev.org/q/I3b8cb5f8c413c109da1228878db9cff4d439273b -if [ ! -f /etc/sysconfig/network-scripts/ifcfg-eth0 ]; then -cat >/etc/sysconfig/network-scripts/ifcfg-eth0< /etc/sudoers.d/{{ undercloud_user }} -chmod 0440 /etc/sudoers.d/{{ undercloud_user }} - -mkdir /home/{{ undercloud_user }}/.ssh - -echo "127.0.0.1 undercloud localhost" > /etc/hosts -echo "HOSTNAME=undercloud" >> /etc/sysconfig/network -echo "undercloud" > /etc/hostname - -chown -R {{ undercloud_user }}:{{ undercloud_user }} /home/{{ undercloud_user }}/ - -# Add a 4GB swap file to the Undercloud -dd if=/dev/zero of=/swapfile bs=1024 count=4194304 -mkswap /swapfile -chmod 600 /swapfile -# Enable it on start -echo "/swapfile swap swap defaults 0 0" >> /etc/fstab - -{% if not selinux_enforcing|bool %} - -sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config - -{% endif %} diff --git a/roles/environment/README.md b/roles/environment/README.md deleted file mode 100644 index 87aaf16c3..000000000 --- a/roles/environment/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# Configure libvirt environment - -The `environment/setup` role will: - -- Install libvirt and any dependencies -- Configure and load the `kvm` module (and arch-specific `kvm_intel` - or `kvm_amd` module) -- Configure the libvirt networks defined in the `networks` variable -- Whitelist the libvirt network bridges in `/etc/qemu/bridge.conf` (or - equivalent file) - -The `environment/teardown` role will: - -- Remove whitelist entries from `/etc/qemu/bridge.conf` -- Destroy and undefine the libvirt networks - -The `cleanup` role *will not* remote packages or attempt to undo the -KVM configuration, because these things may have been configured -prior to running the script and we do not want to break an existing -environment. diff --git a/roles/environment/meta/main.yml b/roles/environment/meta/main.yml deleted file mode 100644 index 2083f0e12..000000000 --- a/roles/environment/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - common diff --git a/roles/environment/setup/meta/main.yml b/roles/environment/setup/meta/main.yml deleted file mode 100644 index 63962c1c2..000000000 --- a/roles/environment/setup/meta/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -# Include the roles for installing KVM and libvirt (as well as -# anything required by our parent `environment` module). -dependencies: - - parts/kvm - - parts/libvirt - - environment diff --git a/roles/environment/setup/tasks/main.yml b/roles/environment/setup/tasks/main.yml deleted file mode 100644 index ffea9c65b..000000000 --- a/roles/environment/setup/tasks/main.yml +++ /dev/null @@ -1,107 +0,0 @@ -# If virtualport_type is defined for any networks, include OVS dependencies -- when: networks|selectattr('virtualport_type', 'defined')|map(attribute='name')|list|length > 0 - block: - - # Install OVS dependencies - - name: Install OVS dependencies - include_role: - name: 'parts/ovs' - - # Create any OVS Bridges that have been defined - - name: Create OVS Bridges - openvswitch_bridge: - bridge: "{{ item.bridge }}" - state: present - when: item.virtualport_type is defined and item.virtualport_type == "openvswitch" - with_items: "{{ networks }}" - become: true - -# Create the global, root-managed libvirt networks to which we will -# attach the undercoud and overcloud virtual machines. -- name: Create libvirt networks - virt_net: - command: define - state: present - name: "{{ item.name }}" - xml: '{{ lookup("template", "network.xml.j2") }}' - with_items: "{{ networks }}" - become: true - -- name: Start libvirt networks - virt_net: - command: start - name: "{{ item.name }}" - state: active - with_items: "{{ networks }}" - become: true - -- name: Mark libvirt networks as autostarted - virt_net: - name: "{{ item.name }}" - autostart: "yes" - with_items: "{{ networks }}" - become: true - register: net_autostart - ignore_errors: true - -# https://bugs.launchpad.net/tripleo-quickstart/+bug/1581676 -# There is a bug w/ virt_net and RHEL where the network xml -# file is not written to /etc/libvirt/qemu/networks/ This causes -# network to be considered transient. -- when: not net_autostart.changed - block: - - - name: Check if "virsh net-autostart" was successful - debug: msg="Some libvirt networks were not set to autostart. Please see - https://bugs.launchpad.net/tripleo-quickstart/+bug/1581676" - - # get the network xml from the running network - - name: Get libvirt networks xml - virt_net: - command: get_xml - name: "{{ item.name }}" - with_items: "{{ networks }}" - register: net_xml - become: true - - # copy the xml to a file - - name: copy network-xml to file - copy: content={{ item.get_xml }} dest=/tmp/network-{{ item.item.name }}.xml - with_items: "{{ net_xml.results }}" - become: true - - # redefine the network w/ virsh, this will write the xml file to - # /etc/libvirt/qemu/networks/ and it will no longer be transient - - name: redefine the libvirt networks so the config is written to /etc/libvirt - command: virsh net-define /tmp/network-{{ item.name }}.xml - with_items: "{{ networks }}" - become: true - - # Now we're ready to mark the network autostart - - name: Mark libvirt networks as autostarted - virt_net: - name: "{{ item.name }}" - autostart: "yes" - with_items: "{{ networks }}" - become: true - -# Whitelist the bridges associated with these networks for -# access using qemu [helper networking][helper]. Later on we -# create virtual machines use an unprivileged `qemu://session` -# connection, and we connect to the networks using the bridge names. -# -# [helper]: http://wiki.qemu.org/Features-Done/HelperNetworking -- name: Whitelist bridges for unprivileged access - lineinfile: - dest: "{{ qemu_bridge_conf }}" - line: "allow {{ item.bridge }}" - with_items: "{{ networks }}" - become: true - -# We're going to want to store things in `working_dir` so ensure it -# exists first. `working_dir` is a directory on the target host. -- name: Ensure remote working dir exists - file: - path: "{{ working_dir }}" - state: directory - become: true diff --git a/roles/environment/setup/templates/network.xml.j2 b/roles/environment/setup/templates/network.xml.j2 deleted file mode 100644 index f4b9bf71a..000000000 --- a/roles/environment/setup/templates/network.xml.j2 +++ /dev/null @@ -1,33 +0,0 @@ -{% set stp = item.stp|default('off') %} -{% set delay = item.delay|default('0') %} -{% set nat_port_range = item.nat_port_range|default([1024, 65535]) %} -{% set netmask = item.netmask|default('255.255.255.0') %} - - {{ item.name }} -{% if item.forward_mode is defined and item.forward_mode != 'nat' %} - -{% else %} - -{% endif %} -{% if item.forward_mode is defined %} - -{% if item.forward_mode == 'nat' %} - - - -{% endif %} - -{% endif %} -{% if item.virtualport_type is defined %} - -{% endif %} -{% if item.address is defined %} - -{% if item.dhcp_range is defined %} - - - -{% endif %} - -{% endif %} - diff --git a/roles/environment/tasks/main.yml b/roles/environment/tasks/main.yml deleted file mode 100644 index 1d7064b2e..000000000 --- a/roles/environment/tasks/main.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -# This layered system specific config loading pattern alllows us to minimize -# configuration changes by defining var in optimal location. Each more -# specific config file can override variables from previous ones. Keep in mind -# that dictionaries are not combined, as this allows us to remove elements. -# -# vars/redhat.yml <-- all RedHat distros -# vars/redhat-8.yml <-- would be loaded by RHEL & CentOS 8 -# vars/centos.yml -# vars/centos-7.yml -# vars/centos-7-6.yml <-- good for a specific config override -# vars/centos-7-6-1810.yml <-- very unlikely but posible -- name: Include OS specific variables - include_vars: "{{ item }}" - failed_when: false - loop: - - "{{ ansible_os_family | lower }}.yml" - - "{{ ansible_os_family | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - - "{{ ansible_distribution | lower }}.yml" - - "{{ ansible_distribution | lower }}-{{ ansible_distribution_major_version | lower }}.yml" - - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version.split('.')[0:2] | join('-') | lower }}.yml" - - "{{ ansible_distribution | lower }}-{{ ansible_distribution_version.split('.')[0:3] | join('-') | lower }}.yml" diff --git a/roles/environment/teardown/meta/main.yml b/roles/environment/teardown/meta/main.yml deleted file mode 100644 index e0c65c40b..000000000 --- a/roles/environment/teardown/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - environment diff --git a/roles/environment/teardown/tasks/main.yml b/roles/environment/teardown/tasks/main.yml deleted file mode 100644 index 574a1a2f5..000000000 --- a/roles/environment/teardown/tasks/main.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -# Tear down the virtual environment that was created by the -# `environment/setup` role. -# -# NB: We use `virsh` here instead of the `virt_net` module because -# these tasks may be called before the dependencies of the `virt_net` -# module are satisfied. - -- name: Check if libvirt is available - command: > - virsh uri - ignore_errors: true - register: libvirt_check - changed_when: false - -# If libvirt is not available, we can skip the rest of the tasks. -- when: libvirt_check is success - block: - - # Check to see if the networks exist. - - name: Check libvirt networks - command: > - virsh net-uuid "{{ item.name }}" - with_items: "{{ networks }}" - register: network_check - ignore_errors: true - become: true - - # If the networks exist, stop them, undefine them, and remove the - # bridges devices from the qemu whitelist. - - name: Stop libvirt networks - command: > - virsh net-destroy "{{ item.item.name }}" - when: libvirt_check is success and item is success - with_items: "{{ network_check.results }}" - ignore_errors: true # noqa ignore-errors - become: true - - - name: Undefine libvirt networks - command: > - virsh net-undefine "{{ item.item.name }}" - when: libvirt_check is success and item is success - with_items: "{{ network_check.results }}" - ignore_errors: true # noqa ignore-errors - become: true - - - name: Remove bridge whitelisting from qemu bridge helper - lineinfile: - dest: "{{ qemu_bridge_conf }}" - line: "allow {{ item.bridge }}" - state: absent - with_items: "{{ networks }}" - become: true - -- name: Delete any existing dstat log file - file: - dest: "/var/log/extra/{{ item }}" - state: absent - with_items: - - dstat-csv.log - - dstat.html - - dstat.txt - become: true - -- name: Delete OVS Bridges - openvswitch_bridge: - bridge: "{{ item.bridge }}" - state: absent - when: item.virtualport_type is defined and item.virtualport_type == "openvswitch" - with_items: "{{ networks }}" - become: true diff --git a/roles/environment/vars/centos-7.yml b/roles/environment/vars/centos-7.yml deleted file mode 100644 index 7bd1ce563..000000000 --- a/roles/environment/vars/centos-7.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -qemu_bridge_conf: /etc/qemu-kvm/bridge.conf -libvirt_packages: - - qemu-kvm - - libvirt - - libvirt-python - - libguestfs-tools - - python-lxml - - polkit-pkla-compat - - python-netaddr diff --git a/roles/environment/vars/centos-8.yml b/roles/environment/vars/centos-8.yml deleted file mode 100644 index a500c6063..000000000 --- a/roles/environment/vars/centos-8.yml +++ /dev/null @@ -1,17 +0,0 @@ -libvirt_packages: - - libvirt - - libvirt-daemon - - qemu-kvm-common - - qemu-kvm - - libvirt-daemon-kvm - - libvirt-daemon-driver-network - - libvirt-daemon-driver-qemu - - libguestfs-tools - - python3 - - python3-lxml - - python3-netaddr - - python3-pip - - python3-devel - - python3-libvirt - -ansible_pkg_mgr: dnf diff --git a/roles/environment/vars/fedora.yml b/roles/environment/vars/fedora.yml deleted file mode 100644 index ec0a783ad..000000000 --- a/roles/environment/vars/fedora.yml +++ /dev/null @@ -1,21 +0,0 @@ -libvirt_packages: - - libvirt - - libvirt-daemon - - qemu-kvm - - libvirt-daemon-kvm - - libvirt-daemon-driver-network - - libvirt-daemon-driver-qemu - - libguestfs-tools - - python3 - - python3-lxml - - python3-netaddr - - python3-pip - - python3-devel - - python3-libvirt - -virtualbmc_packages: - - python3-virtualbmc - -ansible_pkg_mgr: dnf - -qemu_bridge_conf: /etc/qemu/bridge.conf diff --git a/roles/environment/vars/main.yml b/roles/environment/vars/main.yml deleted file mode 100644 index 5241d4389..000000000 --- a/roles/environment/vars/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -qemu_bridge_conf: /etc/qemu/bridge.conf diff --git a/roles/environment/vars/redhat-7.yml b/roles/environment/vars/redhat-7.yml deleted file mode 100644 index a04751ec0..000000000 --- a/roles/environment/vars/redhat-7.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -qemu_bridge_conf: /etc/qemu-kvm/bridge.conf -libvirt_packages: - - qemu-kvm - - libvirt - - libvirt-python - - libguestfs-tools - - python-lxml - - polkit-pkla-compat - - python-netaddr - -virtualbmc_packages: - - python2-virtualbmc diff --git a/roles/environment/vars/redhat-8.yml b/roles/environment/vars/redhat-8.yml deleted file mode 100644 index 0b84d01a5..000000000 --- a/roles/environment/vars/redhat-8.yml +++ /dev/null @@ -1,20 +0,0 @@ -libvirt_packages: - - libvirt - - libvirt-daemon - - qemu-kvm-common - - qemu-kvm - - libvirt-daemon-kvm - - libvirt-daemon-driver-network - - libvirt-daemon-driver-qemu - - libguestfs-tools - - python3 - - python3-lxml - - python3-netaddr - - python3-pip - - python3-devel - - python3-libvirt - -virtualbmc_packages: - - python3-virtualbmc - -ansible_pkg_mgr: dnf diff --git a/roles/environment/vars/redhat-9.yml b/roles/environment/vars/redhat-9.yml deleted file mode 100644 index 0b84d01a5..000000000 --- a/roles/environment/vars/redhat-9.yml +++ /dev/null @@ -1,20 +0,0 @@ -libvirt_packages: - - libvirt - - libvirt-daemon - - qemu-kvm-common - - qemu-kvm - - libvirt-daemon-kvm - - libvirt-daemon-driver-network - - libvirt-daemon-driver-qemu - - libguestfs-tools - - python3 - - python3-lxml - - python3-netaddr - - python3-pip - - python3-devel - - python3-libvirt - -virtualbmc_packages: - - python3-virtualbmc - -ansible_pkg_mgr: dnf diff --git a/roles/environment/vars/redhat.yml b/roles/environment/vars/redhat.yml deleted file mode 100644 index 22011eb66..000000000 --- a/roles/environment/vars/redhat.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -qemu_bridge_conf: /etc/qemu-kvm/bridge.conf diff --git a/roles/fetch-images/defaults/main.yml b/roles/fetch-images/defaults/main.yml deleted file mode 100644 index b10adbe9f..000000000 --- a/roles/fetch-images/defaults/main.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -# After fetching images remove cache directory -image_cache_dir_cleanup: false -# After fetching images remove files older than image_cache_expire_days -image_cache_expire_days: 14 diff --git a/roles/fetch-images/meta/main.yml b/roles/fetch-images/meta/main.yml deleted file mode 100644 index 2083f0e12..000000000 --- a/roles/fetch-images/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - common diff --git a/roles/fetch-images/tasks/fetch.yml b/roles/fetch-images/tasks/fetch.yml deleted file mode 100644 index b03c7fc57..000000000 --- a/roles/fetch-images/tasks/fetch.yml +++ /dev/null @@ -1,210 +0,0 @@ ---- -- name: image name - debug: - msg: "checking for image {{ image.name }}" - -# Set some convenience variables here to avoid boilerplate code -# elsewhere in this file. These are all set unconditionally to avoid -# any cruft leftover from a previous call to this file. -- name: set local variables - set_fact: - _force_cached_image: >- - {{ force_cached_images|default(false)|bool - or image.force_cached|default(false)|bool }} - _latest: >- - {{ image_cache_dir }}/latest-{{ image.name }}.{{ image.type }} - cacheable: true - -# This looks for the latest image symlink that may have been created -# by a previous run of this tasklist. -- name: Check if we have a latest image - command: > - test -f {{ _latest }} - args: - chdir: "{{ image_cache_dir }}" - ignore_errors: true - register: latest_exists - changed_when: false - -# If we want to use the most recent image in the local cache -# (`_force_cached_image` is `true`) *and* such an image exists, point -# `image_cache_path` at `latest-{{ image.name }}.qcow2`. -- name: Set path to cached image [local] - set_fact: - image_cache_path: "{{ _latest }}" - cacheable: true - when: latest_exists is success and _force_cached_image - -# The md5sum for base OS images are not hosted, they are defined in a configuration file. -# Handle base os images slightly differently -- when: image.md5sum is defined - block: - - # Get the expected checksum from settings vs. pulling the md5sum. - - name: Get image expected checksum for base OS images - set_fact: - md5_expected: "{{ image.md5sum.split()[0] }}" - cacheable: true - - - name: Set path to cached image - set_fact: - image_cache_path: "{{ image_cache_dir }}/{{ md5_expected }}.{{ image.type }}" - cacheable: true - - # See if a matching image exists locally. - - name: Check for base OS image in cache - command: > - test -f {{ image_cache_path }} - args: - chdir: "{{ image_cache_dir }}" - ignore_errors: true - register: base_image_exists - changed_when: false - -# Otherwise, check if there's a new image available. -- when: - - image.md5sum is not defined - - not _force_cached_image or latest_exists is failed - block: - - # Get the expected checksum for the remote image. - - name: Get image expected checksum - # noqa: 303 - command: > - curl -skfL {{ image.url }}.md5 - register: md5_expected - until: md5_expected.rc not in [18, 56, 22] - retries: 10 - delay: 15 - - - name: sanitize the md5sum - set_fact: - md5_expected: "{{ md5_expected.stdout.split()[0] }}" - cacheable: true - - - name: Set path to cached image [upstream] - set_fact: - image_cache_path: "{{ image_cache_dir }}/{{ md5_expected }}.{{ image.type }}" - cacheable: true - - # See if a matching image exists locally. - - name: Check for image in cache - command: > - test -f {{ image_cache_path }} - args: - chdir: "{{ image_cache_dir }}" - ignore_errors: true - register: image_exists - changed_when: false - -# Looks like we're going to have to download the image after all. - -# Note.. image_exists and base_image_exists are required variables because -# even unused variables will overwrite each other. -- when: image_exists is defined and (image_exists is failed or base_image_exists is failed) - block: - - name: Display the image url - debug: - msg: "will download {{ image.url }} with md5sum of {{ md5_expected }}" - - # This task will download the image. We're using `curl` here - # rather than `wget` because while `wget` has built-in retry - # capabilities, it is unable to handle `file://` URLs. We instead - # use an ansible `until` loop, combined with curl's `-C-` option - # to continue interrupted downloads. - - name: Get image - # noqa: 303 - command: > - curl -skfL -C- -o _{{ image.name }}.{{ image.type }} {{ image.url }} - args: - chdir: "{{ image_cache_dir }}" - register: curl_result - until: curl_result.rc not in [18, 56] - retries: 20 - delay: 5 - - # Compute the md5 checksum of the image we just downloaded - - name: Get actual md5 checksum of image - command: > - md5sum -b _{{ image.name }}.{{ image.type }} - args: - chdir: "{{ image_cache_dir }}" - register: md5_actual - - - name: sanitize the md5sum for the downloaded image - set_fact: - md5_actual: "{{ md5_actual.stdout.split()[0] }}" - cacheable: true - - # Verify that what we have is what we wanted. - - name: Verify image checksum - fail: - msg: image checksum does not match - when: > - image_exists is failed and - (md5_expected != md5_actual) - - - name: Cache image by checksum - command: > - mv _{{ image.name }}.{{ image.type }} {{ image_cache_path }} - args: - chdir: "{{ image_cache_dir }}" - - - name: Update "latest" symlink - file: - path: "{{ _latest }}" - state: link - src: "{{ image_cache_path }}" - - # This is a workaround for ansible issue [15625][]. - # - # [15625]: https://github.com/ansible/ansible/issues/15625 - rescue: - - - name: Note that there was a failure. - set_fact: - image_fetch_failed: true - cacheable: true - - # Ensure that even if there are failures we still clean up our - # temporary image file. - always: - - - name: Clean up temporary image file - file: - path: "{{ image_cache_dir }}/_{{ image.name }}.{{ image.type }}" - state: absent - - - name: Propagate failure - fail: - when: image_fetch_failed|default(false) - -# Use `image_cache_path`, which was set by one of the above tasks, and -# copy it to `undercloud.qcow2 in our `{{ image_fetch_dir }}`. -- name: Get qcow2 image from cache - command: > - cp {{ image_cache_path }} {{ image_fetch_dir }}/{{ image.name }}.{{ image.type }} - when: image.type == "qcow2" and image.md5sum is not defined - -# Same as the above just copy the base os image to the fetch_dir as undercloud -- name: Get base OS qcow2 image from cache - command: > - cp {{ image_cache_path }} {{ image_fetch_dir }}/undercloud.{{ image.type }} - when: image.type == "qcow2" and image.md5sum is defined - -- name: Get tar images from cache - unarchive: - src: "{{ image_cache_path }}" - copy: false - dest: "{{ image_fetch_dir }}" - list_files: true - when: image.type == "tar" - -- name: Clean image cache directory - shell: >- - set -o pipefail; - find {{ image_cache_dir }} -type f - {% if not image_cache_dir_cleanup|bool %} - -mtime +{{ image_cache_expire_days|int - 1 }} {% endif %} | - xargs --no-run-if-empty -t rm -rf - changed_when: true diff --git a/roles/fetch-images/tasks/main.yml b/roles/fetch-images/tasks/main.yml deleted file mode 100644 index 0bff684bf..000000000 --- a/roles/fetch-images/tasks/main.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -# Fetching the undercloud images can take a long time. This -# role caches images in `{{ image_cache_dir }}` if an image is -# (a) downloaded successfully and (b) successfully verifies against -# the checksum. Images are cached using the checksum as the filename, -# and subsequent playbook runs will use the cached copy rather than -# trying to fetch the remote copy. - -# This checks that the image_cache_dir directory exists. When running -# the full quickstart, this is created by the provision/remote role. -# If you are running this role by itself, you will need to ensure that -# either the directory exists ahead of time or that ansible has the -# permissions to create the directory. -- name: Ensure image cache directory exists - file: - path: "{{ image_cache_dir }}" - state: directory - owner: "{{ non_root_user }}" - group: "{{ non_root_group }}" - mode: "ug+rwx" - become: true - -- name: Get dlrn hash when fetch-images is run before repo-setup - include_role: - name: repo-setup - tasks_from: get-dlrn-hash - when: dlrn_hash_tag is defined and dlrn_task_run is not defined - -- name: Get dlrn hash newest when fetch-images is run before repo-setup - include_role: - name: repo-setup - tasks_from: get-dlrn-hash-newest - when: dlrn_hash_tag_newest is defined and dlrn_task_run_newest is not defined - -- include_tasks: fetch.yml - vars: - image: "{{ item }}" - with_items: "{{ images }}" diff --git a/roles/libvirt/defaults/main.yml b/roles/libvirt/defaults/main.yml deleted file mode 100644 index cfc448fa9..000000000 --- a/roles/libvirt/defaults/main.yml +++ /dev/null @@ -1,73 +0,0 @@ ---- -# Which image should we download? -release: queens -undercloud_image_url: http://artifacts.ci.centos.org/rdo/images/{{ release }}/delorean/consistent/stable/undercloud.qcow2 -overcloud_image_url: http://artifacts.ci.centos.org/rdo/images/{{ release }}/delorean/consistent/stable/overcloud-full.tar -ipa_image_url: http://artifacts.ci.centos.org/rdo/images/{{ release }}/delorean/consistent/stable/ironic-python-agent.tar - -# If `force_cached_image` is `true`, always use the most recent image -# available locally rather than checking for updated images. -force_cached_images: false - -# You can also control the caching behavior per-image by setting the -# `force_cached` key. -images: - - name: undercloud - url: "{{ undercloud_image_url }}" - type: qcow2 - -# These are keys that we generate; `virt_power_key` is used *by the -# undercloud* to start/stop virtual machines on the virthost. -# `undercloud_key` is used to log in to the undercloud. -virt_power_key: "{{ local_working_dir }}/id_rsa_virt_power" -undercloud_key: "{{ local_working_dir }}/id_rsa_undercloud" - -# Which libvirt session should we use? Using `qemu://session` does -# not require privileged access (but does require the setup performed by the -# `environment/setup` role). -libvirt_volume_pool: oooq_pool -libvirt_domain_type: kvm -libvirt_diskdev: vda -libvirt_diskbus: virtio -libvirt_arch: x86_64 -libvirt_cpu_mode: host-model - -# how many times to try getting the undercloud ip -# address before giving up. -undercloud_ip_retries: 20 - -# controls either to inject instackenv.json or omit it, which may be the case -# for virtual undercloud deployments w/o overcloud nodes (neither virtual, -# nor BM, nor OVB hosted). -undercloud_instackenv_template: instackenv.json.j2 -inject_instackenv: true - -# set to true if you want to inject additional overcloud -# and ipa images. You will need to define the images and -# mapping, and inject_images list as well -use_external_images: false - -# how many disks should be created when using extradisks -extradisks_list: - - vdb - - vdc - - vdd - -# size of the disks to create when using extradisks -extradisks_size: 8G - -# template for zuul-hosts file -zuul_hosts_template: zuul-hosts.yaml.j2 - -# Required for refactor inject_images for whole disk images -whole_disk_images: false - -# Set the libvirt_boot_mode to uefi or bios -# On 'train', 'ussuri', 'victoria' set to bios -# otherwise uefi -libvirt_boot_mode: >- - {% if release is defined and release not in ['train', 'ussuri', 'victoria'] -%} - uefi - {%- else -%} - bios - {%- endif -%} diff --git a/roles/libvirt/meta/main.yml b/roles/libvirt/meta/main.yml deleted file mode 100644 index 90c79051c..000000000 --- a/roles/libvirt/meta/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -# Include the `common` role as a dependency. This makes sure the -# variables defined in that role are available here. -dependencies: - - common - - extras-common diff --git a/roles/libvirt/setup/common/tasks/main.yml b/roles/libvirt/setup/common/tasks/main.yml deleted file mode 100644 index c6f9f2654..000000000 --- a/roles/libvirt/setup/common/tasks/main.yml +++ /dev/null @@ -1,56 +0,0 @@ ---- -# Create a libvirt volume pool. This is where we'll be creating -# images for the undercloud and overcloud. -# Note: the virt_pool module is not working properly on rhel-7.2 -# https://bugs.launchpad.net/tripleo-quickstart/+bug/1597905 -- name: ensure libvirt volume path exists - become: true - file: - path: "{{ libvirt_volume_path }}" - state: directory - mode: 0755 - -- name: Check volume pool - command: > - virsh pool-uuid "{{ libvirt_volume_pool }}" - register: pool_check - ignore_errors: true - changed_when: false - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -- name: create the volume pool xml file - template: - src: volume_pool.xml.j2 - dest: "{{ working_dir }}/volume_pool.xml" - when: pool_check is failed - -- name: Define volume pool - command: "virsh pool-define {{ working_dir }}/volume_pool.xml" - when: pool_check is failed - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -- name: Start volume pool - virt_pool: - command: start - state: active - name: "{{ libvirt_volume_pool }}" - uri: "{{ libvirt_uri }}" - -# In some cases the pool_check can pass and the pool xml config is absent -# In this case it is required to dump the xml and redefine the pool. -- name: ensure tripleo-quickstart volume pool is defined - shell: > - set -o pipefail; - virsh pool-dumpxml {{ libvirt_volume_pool }} | - virsh pool-define /dev/stdin - changed_when: true - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -- name: Mark volume pool for autostart - virt_pool: - name: "{{ libvirt_volume_pool }}" - autostart: "yes" - uri: "{{ libvirt_uri }}" diff --git a/roles/libvirt/setup/common/templates/volume_pool.xml.j2 b/roles/libvirt/setup/common/templates/volume_pool.xml.j2 deleted file mode 100644 index eb1981086..000000000 --- a/roles/libvirt/setup/common/templates/volume_pool.xml.j2 +++ /dev/null @@ -1,11 +0,0 @@ - - {{ libvirt_volume_pool }} - - {{ libvirt_volume_path }} - - 0755 - -1 - -1 - - - diff --git a/roles/libvirt/setup/meta/main.yml b/roles/libvirt/setup/meta/main.yml deleted file mode 100644 index 0a2eb1609..000000000 --- a/roles/libvirt/setup/meta/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -# Include settings from the libvirt role, and include all the -# `setup/*` roles. This means that when your playbook has: -# -# roles: -# - libvirt/setup -# -# You also get: -# -# - `libvirt/setup/user` -# - `libvirt/setup/overcloud` -# - `libvirt/setup/undercloud` -# - `libvirt/setup/supplemental` -dependencies: - - {role: libvirt} - - {role: setup/user} - - {role: setup/overcloud} - - {role: setup/undercloud} - - {role: setup/supplemental, when: deploy_supplemental_node|bool} diff --git a/roles/libvirt/setup/overcloud/files/get-domain-ip.sh b/roles/libvirt/setup/overcloud/files/get-domain-ip.sh deleted file mode 100644 index 68c4f7929..000000000 --- a/roles/libvirt/setup/overcloud/files/get-domain-ip.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -# This script will attempt to get the ip address of the a given libvirt guest. - -set -eu - -PATH=$PATH:/usr/sbin:/sbin - -VMNAME=$1 - -# Get the MAC address of the first interface by looking for looking for the -# `/dev/null | awk 'BEGIN {FS="ipv[46]|/"} {gsub(/ /,""); if ($2) print $2}') -fi - -if [ -z "$ip" ]; then - echo "undercloud ip is not available" >&2 - exit 1 -fi - -echo $ip diff --git a/roles/libvirt/setup/overcloud/meta/main.yml b/roles/libvirt/setup/overcloud/meta/main.yml deleted file mode 100644 index 96a4bda62..000000000 --- a/roles/libvirt/setup/overcloud/meta/main.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -dependencies: - - libvirt - - common - - libvirt/setup/common -galaxy_info: - author: Red Hat, Inc. - license: Apache - description: libvirt setup overcloud - platforms: - - name: CentOS - versions: - - 7 - min_ansible_version: 2.4 diff --git a/roles/libvirt/setup/overcloud/tasks/libvirt_nodepool.yml b/roles/libvirt/setup/overcloud/tasks/libvirt_nodepool.yml deleted file mode 100644 index 0fc2b117a..000000000 --- a/roles/libvirt/setup/overcloud/tasks/libvirt_nodepool.yml +++ /dev/null @@ -1,206 +0,0 @@ ---- - -- name: check pub_key exists - stat: - path: "{{ pub_key }}" - register: stat_pub_key - -- name: use ssh-agent first reported key if local pub_key not found - when: not stat_pub_key.stat.exists - block: - - - name: dump first ssh-agent key - become: false - # ^ non false could break agent by causing: - # Could not open a connection to your authentication agent. - shell: | - ssh-add -L | head -1 > {{ pub_key }}.agent - test -s {{ pub_key }}.agent - # ^ fail if the file is empty - - - name: reassign pub_key to point to ssh-agent key - set_fact: - pub_key: "{{ pub_key }}.agent" - -- name: Fetch a CentOS image to use for libvirt nodepool nodes - include_role: - name: fetch-images - -- name: Resize undercloud image (create target image) - command: > - qemu-img create -f qcow2 -o preallocation=off - '{{ working_dir }}/undercloud-resized.qcow2' - '80G' - changed_when: true - -- name: Test libguestfs - shell: libguestfs-test-tool > {{ working_dir }}/libguestfs-test.log 2>&1; - ignore_errors: true - register: libguestfs - changed_when: false - -- name: Compose libguestfs env vars - template: - src: libguestfs-env.sh.j2 - dest: "{{ working_dir }}/libguestf-env.sh" - -- name: Resize undercloud image (call virt-resize) - shell: > - set -eo pipefail; - source {{ working_dir }}/libguestf-env.sh; - virt-resize -x --verbose --expand /dev/sda1 - '{{ working_dir }}/undercloud.qcow2' - '{{ working_dir }}/undercloud-resized.qcow2' - 2>&1 | tee -a {{ working_dir }}/virt-resize.log - register: result - no_log: true - changed_when: true - -- name: Rename resized image to original name - command: > - mv -f '{{ working_dir }}/undercloud-resized.qcow2' - '{{ working_dir }}/undercloud.qcow2' - changed_when: true - -- name: Manage password file - when: modify_image_vc_root_password is not defined - block: - - name: Calculate password hash - no_log: true - shell: > - import crypt; - print(crypt.crypt("{{ vm_pass }}", "$1$SecretSalt$")) - args: - executable: "/usr/bin/python{{ ansible_python['version']['major'] }}" - register: hash - changed_when: false - - - name: Copy generated password to file - copy: - content: "{{ hash.stdout }}" - dest: "{{ working_dir }}/pwtemp" - mode: 0600 - -- name: Inject password into the image - shell: > - source {{ working_dir }}/libguestf-env.sh && - virt-customize -v -a {{ working_dir }}/undercloud.qcow2 - {% if modify_image_vc_root_password is defined -%} - --root-password password:{{ modify_image_vc_root_password }} - {% else -%} - --root-password file:"{{ working_dir }}/pwtemp" - {% endif -%} - >> {{ working_dir }}/virt-customize.log 2>&1 - register: root_password - changed_when: true - -- name: Remove root password file - file: - path: "{{ working_dir }}/pwtemp" - state: absent - -- name: Resize the filesystem - shell: > - source {{ working_dir }}/libguestf-env.sh && - virt-customize -v -a {{ working_dir }}/undercloud.qcow2 - --run-command 'FS_TYPE=`findmnt -o FSTYPE -fn /`; - if [ "$FS_TYPE" = "xfs" ]; then xfs_growfs /; - elif [ "$FS_TYPE" = "ext4" ]; then resize2fs /dev/sda1; - else echo "ERROR: Unknown filesystem $FSTYPE, cannot resize."; - exit 1; fi' - >> {{ working_dir }}/virt-customize.log 2>&1 - when: resize_qcow_filesystem|default(true)|bool - changed_when: true - -- name: Disable cloud-init - shell: > - source {{ working_dir }}/libguestf-env.sh && - virt-customize -v -a {{ working_dir }}/undercloud.qcow2 - --run-command "grubby --update-kernel=ALL --args=\"cloud-init=disabled\"" - >> {{ working_dir }}/virt-customize.log 2>&1 - changed_when: true - -- name: Inject ssh public key into the image - shell: > - source {{ working_dir }}/libguestf-env.sh && - virt-customize -v -a {{ working_dir }}/undercloud.qcow2 - --mkdir /root/.ssh/ - --upload {{ pub_key }}:/root/.ssh/authorized_keys - --run-command 'chown -R root:root /root/.ssh' - --run-command 'chmod 0700 /root/.ssh' - --run-command 'chmod 0600 /root/.ssh/authorized_keys' - --selinux-relabel - >> {{ working_dir }}/virt-customize.log 2>&1 - changed_when: true - -# note upstream images may be in use and have the zuul user created -- name: Add zuul user to the image - shell: > - source {{ working_dir }}/libguestf-env.sh && - virt-customize -v -a {{ working_dir }}/undercloud.qcow2 - --run-command 'id -u zuul &>/dev/null || useradd zuul' - --mkdir /home/zuul/.ssh - --run-command 'cp /root/.ssh/authorized_keys /home/zuul/.ssh/' - --run-command 'chown -R zuul:zuul /home/zuul/.ssh' - --run-command 'chmod 0700 /home/zuul/.ssh' - --run-command 'chmod 0600 /home/zuul/.ssh/authorized_keys' - --run-command 'echo "zuul ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/zuul' - --run-command 'chmod 0440 /etc/sudoers.d/zuul' - --selinux-relabel - >> {{ working_dir }}/virt-customize.log 2>&1 - # we should NOT create symlinks between python->python3 - # see https://www.python.org/dev/peps/pep-0394/ - # --run-command 'ln -s /usr/bin/python3 /usr/bin/python' - changed_when: true - -- name: Install and enable qemu-guest-agent - shell: > - source {{ working_dir }}/libguestf-env.sh && - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --run-command '$(command -v dnf || command -v yum) install -y qemu-guest-agent' - --run-command 'systemctl enable qemu-guest-agent' - >> {{ working_dir }}/virt-customize.log 2>&1 - changed_when: true - failed_when: false - -- name: Display message - debug: - msg: "Add basic packages we need to the image" - -- environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - # Create libvirt volumes and upload them to libvirt. - - name: Create libvirt nodepool volumes - command: > - virsh vol-create-as {{ libvirt_volume_pool }} - {{ item.name }}.qcow2 - {{ flavors[item.flavor].disk }}G --format qcow2 - with_items: "{{ overcloud_nodes }}" - - - name: Upload the volume to storage pool - command: > - virsh -k 0 vol-upload --pool '{{ libvirt_volume_pool }}' - '{{ item.name }}.qcow2' - '{{ local_working_dir }}/undercloud.qcow2' - async: 600 - poll: 10 - with_items: "{{ overcloud_nodes }}" - -- name: Start libvirt nodepool nodes - virt: - name: "{{ item.name }}" - command: start - autostart: true - state: running - uri: "{{ libvirt_uri }}" - with_items: "{{ overcloud_nodes }}" - -- include_tasks: register_vm.yml - with_items: "{{ overcloud_nodes }}" - -- name: Create inventory suitable for zuul-jobs/multinode - template: - src: "{{ zuul_hosts_template }}" - dest: "{{ local_working_dir }}/zuul-hosts.yaml" - mode: 0755 diff --git a/roles/libvirt/setup/overcloud/tasks/main.yml b/roles/libvirt/setup/overcloud/tasks/main.yml deleted file mode 100644 index 62ca518d3..000000000 --- a/roles/libvirt/setup/overcloud/tasks/main.yml +++ /dev/null @@ -1,98 +0,0 @@ ---- -- name: Include vars for libvirt-libvirt-nodepool - include_vars: - file: libvirt_nodepool_vars.yml - when: libvirt_nodepool|default(false) - -- when: overcloud_nodes - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - - # Generate MAC addresses that we'll use for the overcloud nodes. - # By generating these in advance we can populate the - # `instackenv.json` file with MAC addresses without running - # introspection. - - name: get a list of MACs to use - generate_macs: - nodes: "{{ overcloud_nodes }}" - networks: "{{ networks }}" - register: node_mac_map - - # Create libvirt volumes for the overcloud hosts. - - name: Check if overcloud volumes exist - command: > - virsh vol-info --pool '{{ libvirt_volume_pool }}' '{{ item.name }}.qcow2' - register: overcloud_vol_check - ignore_errors: true - with_items: "{{ overcloud_nodes }}" - - - name: Create overcloud vm storage - command: > - virsh vol-create-as '{{ libvirt_volume_pool }}' - '{{ item.item.name }}'.qcow2 '{{ flavors[item.item.flavor].disk }}'G - --format qcow2 - when: - - item is failed - - not libvirt_nodepool_vms|default("false")|bool - with_items: "{{ overcloud_vol_check.results }}" - - # Define (but do not start) the overcloud nodes. These will be - # booted later by ironic during the provisioning process. - - name: Define overcloud vms - virt: - name: "{{ item.name }}" - command: define - xml: "{{ lookup('template', 'baremetalvm.xml.j2') }}" - uri: "{{ libvirt_uri }}" - with_items: "{{ overcloud_nodes }}" - when: not libvirt_nodepool_vms|default("false")|bool - - - name: Define overcloud vms - virt: - name: "{{ item.name }}" - command: define - xml: "{{ lookup('template', 'libvirtnodepoolvm.xml.j2') }}" - uri: "{{ libvirt_uri }}" - with_items: "{{ overcloud_nodes }}" - when: libvirt_nodepool_vms|default("false")|bool - - - include_tasks: libvirt_nodepool.yml - when: libvirt_nodepool_vms|default("false")|bool - - # Create additional blockdevices for each objectstorage flavor node - # These are sparse files, not using space if unused - - name: Create additional blockdevice for objectstorage nodes - command: > - dd if=/dev/zero of={{ libvirt_volume_path }}/{{ item[0].name }}_{{ item[1] }}.img bs=1 count=0 seek={{ extradisks_size }} - when: flavors[item[0].flavor].extradisks|default(false) - with_nested: - - "{{ overcloud_nodes }}" - - "{{ extradisks_list }}" - - - name: Check if additional blockdevices are attached - command: > - virsh domblkinfo {{ item[0].name }} {{ libvirt_volume_path }}/{{ item[0].name }}_{{ item[1] }}.img - when: flavors[item[0].flavor].extradisks|default(false) - changed_when: false - ignore_errors: true - register: overcloud_extradisks_check - with_nested: - - "{{ overcloud_nodes }}" - - "{{ extradisks_list }}" - - - name: Attach additional blockdevices to overcloud objectstorage VMs - command: > - virsh attach-disk --config {{ item.item[0].name }} {{ libvirt_volume_path }}/{{ item.item[0].name }}_{{ item.item[1] }}.img {{ item.item[1] }} - when: item is failed - with_items: "{{ overcloud_extradisks_check.results }}" - -# Generate the `instackenv.json` configuration file. Note that this -# task *must* occur after the above overcloud tasks, because if -# `overcloud_nodes` is defined the template depends on the -# `node_mac_map` variable. -- name: Write instackenv script - template: - src: "{{ undercloud_instackenv_template }}" - dest: "{{ working_dir }}/instackenv.json" - when: create_instackenv_json|default("true")|bool diff --git a/roles/libvirt/setup/overcloud/tasks/register_vm.yml b/roles/libvirt/setup/overcloud/tasks/register_vm.yml deleted file mode 100644 index c02c04efa..000000000 --- a/roles/libvirt/setup/overcloud/tasks/register_vm.yml +++ /dev/null @@ -1,60 +0,0 @@ -- name: Get libvirt nodepool IP addresses - script: "get-domain-ip.sh {{ item.name }}" - register: "ip_result" - until: "ip_result is success" - retries: "{{ libvirt_wait_retries }}" - delay: "{{ libvirt_wait_delay }}" - -- name: Set_fact for undercloud ip # noqa: var-naming - set_fact: - "{{ item.name.replace('-', '_') }}_ip": "{{ ip_result.stdout_lines[0] }}" - cacheable: true - -- name: Wait until ssh is available - wait_for: - host: "{{ ip_result.stdout_lines[0] }}" - state: started - port: 22 - timeout: 600 - -- name: Add {{ item.name }} to inventory - add_host: - name: "{{ item.name }}" - groups: subnodes - ansible_host: "{{ ip_result.stdout_lines[0] }}" - ansible_fqdn: "{{ ip_result.stdout_lines[0] }}" - ansible_user: zuul - subnode_private_ip: "{{ ip_result.stdout_lines[0] }}" - subnode_public_ip: "{{ ip_result.stdout_lines[0] }}" - -- name: Add {{ item.name }} to known_hosts - known_hosts: - name: "{{ ip_result.stdout_lines[0] }}" - key: "{{ lookup('pipe', 'ssh-keyscan - -t ecdsa-sha2-nistp256 ' + ip_result.stdout_lines[0]) }}" - -- name: Set hostname correctly for {{ item.name }} - delegate_to: "{{ item.name }}" - shell: | - echo "127.0.0.1 {{ item.name }} localhost" > /etc/hosts - echo "HOSTNAME={{ item.name }}" >> /etc/sysconfig/network - echo "{{ item.name }}" > /etc/hostname - hostnamectl set-hostname {{ item.name }} - become: true - changed_when: true - -- name: Set resolv.conf for {{ item.name }} - delegate_to: "{{ item.name }}" - shell: | - echo "nameserver {{ custom_nameserver }}" > /etc/resolv.conf - echo "prepend domain-name-servers {{ custom_nameserver }};" >> /etc/dhcp/dhclient.conf - become: true - changed_when: true - when: custom_nameserver is defined - -- name: Ensure resolv.conf is immutable. - delegate_to: "{{ item.name }}" - become: true - file: - path: /etc/resolv.conf - attr: +i diff --git a/roles/libvirt/setup/overcloud/templates/baremetalvm.xml.j2 b/roles/libvirt/setup/overcloud/templates/baremetalvm.xml.j2 deleted file mode 100644 index 4297fe72b..000000000 --- a/roles/libvirt/setup/overcloud/templates/baremetalvm.xml.j2 +++ /dev/null @@ -1,62 +0,0 @@ - - {{ item.name }} - {{ flavors[item.flavor].memory }} - {{ flavors[item.flavor].vcpu }} - - {{baremetal_vm_xml|default('')}} - - -{% if libvirt_boot_mode == 'uefi' %} - hvm - /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd - -{% else %} - hvm -{% endif %} - - - - - - - - - - - destroy - restart - restart - - - - - - -{% for network in networks %} -{% if ( (network.force_ovc|default(false)|bool) or (network.forward_mode is not defined) or - (network.forward_mode is defined and network.forward_mode != 'nat') ) %} - - - - -{% if network.virtualport_type is defined %} - -{% endif %} - -{% endif %} -{% endfor %} - - - -{% if enable_vnc_console|bool %} - - - -{% endif %} - - {{baremetal_vm_device_xml|default('')}} - - - diff --git a/roles/libvirt/setup/overcloud/templates/instackenv.json.j2 b/roles/libvirt/setup/overcloud/templates/instackenv.json.j2 deleted file mode 100644 index bf2797319..000000000 --- a/roles/libvirt/setup/overcloud/templates/instackenv.json.j2 +++ /dev/null @@ -1,52 +0,0 @@ -{% set lvars = { 'host_ip' : '192.168.122.1', 'pxe_network' : False} %} -{% for network in networks %} -{% if (not (network.forward_mode is defined and network.forward_mode == 'nat') and lvars['pxe_network'] == False) %} -{% if lvars.update({'pxe_network' : network.name}) %}{% endif %} -{% endif %} -{% if network.address is defined and lvars['host_ip'] == '192.168.122.1' %} -{% if lvars.update({'host_ip' : network.address}) %}{% endif %} -{% endif %} -{% endfor %} -{ - "nodes": [ - {% for node in overcloud_nodes %} - { - "name": "{{ node.name|replace('_', '-') }}", - {% if release in ['newton'] %} - "pm_password": {{ virt_power_key_pvt | to_nice_json }}, - "pm_type": "pxe_ssh", - "pm_user": "{{ ansible_user_id }}", - "pm_addr": "{{ lvars['host_ip'] }}", - {% else %} - "pm_password": "password", - {% if release == 'ocata' %} - "pm_type": "pxe_ipmitool", - {% else %} - "pm_type": "ipmi", - {% endif %} - "pm_user": "admin", - "pm_addr": "{{ undercloud_local_ip|default(undercloud_network_cidr)|nthhost(1) }}", - "pm_port": "{{ node.virtualbmc_port }}", - {% endif %} - {% if release not in ['queens', 'stein', 'train', 'ussuri', 'victoria', 'wallaby'] %} - "ports": [ - {"address": "{{ node_mac_map.get(node.name).get(lvars['pxe_network']) }}"} - ], - {% else %} - "mac": [ - "{{ node_mac_map.get(node.name).get(lvars['pxe_network']) }}" - ], - {% endif %} - "cpu": "{{ flavors[node.flavor].vcpu }}", - "memory": "{{ flavors[node.flavor].memory }}", - "disk": "{{ flavors[node.flavor].disk }}", - "arch": "{{ libvirt_arch }}", - "capabilities": "profile:{{ node.flavor }},boot_option:local,boot_mode:{{ libvirt_boot_mode }}", - "root_device": { "name": "/dev/{{ libvirt_diskdev }}" } - } - {% if not loop.last %} - , - {% endif %} - {% endfor %} - ] -} diff --git a/roles/libvirt/setup/overcloud/templates/libguestfs-env.sh.j2 b/roles/libvirt/setup/overcloud/templates/libguestfs-env.sh.j2 deleted file mode 100644 index 92e401f5b..000000000 --- a/roles/libvirt/setup/overcloud/templates/libguestfs-env.sh.j2 +++ /dev/null @@ -1,10 +0,0 @@ -export LIBGUESTFS_BACKEND=direct - -{% if libguestfs is failed %} -# FIXME(ykarel) LIBGUESTFS_BACKEND_SETTINGS can be removed once -# https://bugs.launchpad.net/tripleo/+bug/1743749 is completely fixed. -export LIBGUESTFS_BACKEND_SETTINGS=force_tcg -{% endif %} - -export LIBGUESTFS_DEBUG=1 -export LIBGUESTFS_TRACE=1 diff --git a/roles/libvirt/setup/overcloud/templates/libvirtnodepoolvm.xml.j2 b/roles/libvirt/setup/overcloud/templates/libvirtnodepoolvm.xml.j2 deleted file mode 100644 index f025f2cbf..000000000 --- a/roles/libvirt/setup/overcloud/templates/libvirtnodepoolvm.xml.j2 +++ /dev/null @@ -1,54 +0,0 @@ - - {{ item.name }} - {{ flavors[item.flavor].memory }} - {{ flavors[item.flavor].vcpu }} - - {{baremetal_vm_xml|default('')}} - - - hvm - - - - - - - - - - - destroy - restart - restart - - - - - - - - - - - - - - - - - - - - -{% if enable_vnc_console|bool %} - - - -{% endif %} - - {{baremetal_vm_device_xml|default('')}} - - - diff --git a/roles/libvirt/setup/overcloud/templates/zuul-hosts.yaml.j2 b/roles/libvirt/setup/overcloud/templates/zuul-hosts.yaml.j2 deleted file mode 100644 index 6b3e263f5..000000000 --- a/roles/libvirt/setup/overcloud/templates/zuul-hosts.yaml.j2 +++ /dev/null @@ -1,43 +0,0 @@ -all: - children: - peers: - hosts: - secondary: null - vars: {} - switch: - hosts: - primary: null - vars: {} - hosts: - primary: - ansible_connection: ssh - ansible_host: "{{ subnode_0_ip }}" - ansible_port: 22 - ansible_user: zuul - nodepool: - az: null - cloud: libvirt - interface_ip: "{{ subnode_0_ip }}" - label: centos-7 - private_ipv4: "{{ subnode_0_ip }}" - provider: libvirt - public_ipv4: "{{ subnode_0_ip }}" - region: libvirt - public_ipv6: null -{% if subnode_1_ip is defined %} - secondary: - ansible_connection: ssh - ansible_host: "{{ subnode_1_ip }}" - ansible_port: 22 - ansible_user: zuul - nodepool: - az: null - cloud: libvirt - interface_ip: "{{ subnode_1_ip }}" - label: centos-7 - private_ipv4: "{{ subnode_1_ip }}" - provider: libvirt - public_ipv4: "{{ subnode_1_ip }}" - region: libvirt - public_ipv6: null -{% endif %} diff --git a/roles/libvirt/setup/overcloud/vars/libvirt_nodepool_vars.yml b/roles/libvirt/setup/overcloud/vars/libvirt_nodepool_vars.yml deleted file mode 100644 index 14c187dbb..000000000 --- a/roles/libvirt/setup/overcloud/vars/libvirt_nodepool_vars.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -# vars required to run playbooks/libvirt-nodepool.yml - -libvirt_volume_pool: oooq_pool -libvirt_volume_path: /opt/vm_images -libvirt_uri: qemu:///system -overcloud_nodes: - - name: subnode-0 - flavor: control - - - name: subnode-1 - flavor: control -pub_key: "~/.ssh/id_rsa.pub" -image_fetch_dir: "{{ local_working_dir }}" -libvirt_nodepool_vms: true -create_instackenv_json: false -vm_pass: random -control_vcpu: 6 -control_memory: 16384 -images: - - name: centos - url: https://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2 - type: qcow2 - md5sum: "bf653cc2b5becb29c6cf7c6f7ecaf70f CentOS-8-GenericCloud-8.3.2011-20201204.2.x86_64.qcow2" -libvirt_wait_retries: 30 -libvirt_wait_delay: 20 diff --git a/roles/libvirt/setup/supplemental/README.md b/roles/libvirt/setup/supplemental/README.md deleted file mode 100644 index 88dbbea38..000000000 --- a/roles/libvirt/setup/supplemental/README.md +++ /dev/null @@ -1,62 +0,0 @@ -libvirt/setup/supplemental -========================== - -An Ansible role for provisioning a supplemental node prior to deployment -of the TripleO undecloud - -Requirements ------------- - -This role pairs with the libvirt/setup role to provision a supplemental node -VM. - -The role expects to be provided with a `supplemental_provision_script` which -will be copied to the virthost during execution and is responsible for -preparing the vm's image and adding it to the proper libvirt pool. -Furthermore, the `supplemental_node_ip` must be configured by this script and -it will be used to add the host to ansible in-memory inventory as well as -in preparation of ssh config files by the tripleo-inventory role. - -**Note:** If `enable_tls_everywhere` is true, this role will provision the -supplemental node for deployment of a FreeIPA server using the -`tls_everywhere_provisioner.sh` script in lieu of the `supplemental_provision_script`. - -Role Variables --------------- - -supplemental_node_key: "{{ local_working_dir }}/id_rsa_supplemental" -supplemental_base_image_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 - -* `deploy_supplemental_node` -- if true, provision supplemental node -* `supplemental_node_key` -- Location of key to be used for access to - supplemental node vm. -* `supplemental_base_image_url` -- URL of base image to be provisioned against -* `supplemental_node_ip` -- IP which provisioned node will be externally accessible from -* `supplemental_provisioning_script` -- Path to script which will be copied to and run from the - virthost to provision the vm image -* `supplemental_user` -- The user which is used to deploy the supplemental node -* `supplemental_tls_everywhere_dns_server` -- <192.168.23.1> DNS server for eth0 on the supplemental - node hosting the FreeIPA server -* `supplemental_tls_everywhere_gateway` -- <192.168.23.1> Default gateway for eth0 on the supplemental - node hosting the FreeIPA server - -Example Playbook ----------------- - -```yaml ---- -- name: Setup supplemental vms - hosts: virhost - roles: - - libvirt/setup/supplemental -``` - -License -------- - -Apache 2.0 - -Author Information ------------------- - -RDO-CI Team diff --git a/roles/libvirt/setup/supplemental/defaults/main.yml b/roles/libvirt/setup/supplemental/defaults/main.yml deleted file mode 100644 index 26d24520c..000000000 --- a/roles/libvirt/setup/supplemental/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- - -supplemental_node_key: "{{ local_working_dir }}/id_rsa_supplemental" -supplemental_base_image_url: https://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 -supplemental_user: stack -supplemental_tls_everywhere_dns_server: 192.168.23.1 -supplemental_tls_everywhere_gateway: 192.168.23.1 diff --git a/roles/libvirt/setup/supplemental/meta/main.yml b/roles/libvirt/setup/supplemental/meta/main.yml deleted file mode 100644 index cef6afab4..000000000 --- a/roles/libvirt/setup/supplemental/meta/main.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -dependencies: - - common -galaxy_info: - author: Red Hat, Inc. - license: Apache - description: libvirt setup supplemental - platforms: - - name: CentOS - versions: - - 7 - min_ansible_version: 2.4 diff --git a/roles/libvirt/setup/supplemental/tasks/main.yml b/roles/libvirt/setup/supplemental/tasks/main.yml deleted file mode 100644 index feb8747c0..000000000 --- a/roles/libvirt/setup/supplemental/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- - -- include_tasks: provision.yml diff --git a/roles/libvirt/setup/supplemental/tasks/provision.yml b/roles/libvirt/setup/supplemental/tasks/provision.yml deleted file mode 100644 index 5f5ede423..000000000 --- a/roles/libvirt/setup/supplemental/tasks/provision.yml +++ /dev/null @@ -1,105 +0,0 @@ ---- -# We're going to try putting files in `local_working_dir`, so make -# sure it exists first. -- name: Ensure local working dir exists - delegate_to: localhost - file: - path: '{{ local_working_dir }}' - state: directory - -- name: Generate ssh keys - delegate_to: localhost - command: > - ssh-keygen -f '{{ supplemental_node_key }}' -N '' - -C ansible_generated_supplemental - -t rsa -b 4096 - args: - creates: '{{ supplemental_node_key }}' - -- name: Ensure working dir exists on virthost - file: - path: '{{ working_dir }}' - state: directory - -- name: Copy ssh pub key to the virthost - copy: - src: '{{ supplemental_node_key }}.pub' - dest: '{{ working_dir }}' - owner: '{{ undercloud_user }}' - group: '{{ undercloud_user }}' - mode: 0600 - become: true - -# Check if the supplemental volume exists. If not, we call out to -# [fetch_image.yml](fetch_image.yml.html) to download the image. -- name: Check if the supplemental node volume already exists - command: > - virsh vol-info --pool '{{ libvirt_volume_pool }}' - '{{ supplemental_node.name }}.qcow2' - ignore_errors: true - changed_when: false - register: supplemental_vol_check - environment: - LIBVIRT_DEFAULT_URI: '{{ libvirt_uri }}' - -- when: supplemental_vol_check is failed - block: - # TODO(hrybacki): Update fetch-images role to handle supplemental images - - name: Fetch centos image for ipa - get_url: - url: '{{ supplemental_base_image_url }}' - dest: '{{ image_cache_dir }}/supplemental_base.qcow2' - - - name: Ensure virt-manager in installed on virthost - package: - name: 'virt-install' - state: 'present' - become: true - - - name: Prepare TLS everywhere provisoner script - template: - src: tls_everywhere_provisioner.sh.j2 - dest: '~/tls_everywhere_provisioner.sh' - mode: 0700 - when: enable_tls_everywhere|bool - - - name: Execute tls everywhere provisioner script - shell: 'bash ~/tls_everywhere_provisioner.sh &> ~/tls_everywhere_provisioner.log' - when: enable_tls_everywhere|bool - -- when: supplemental_provisioning_script is defined and not enable_tls_everywhere|bool - block: - - name: Move scripts to virthost - copy: - src: '{{ supplemental_provisioning_script }}' - dest: '~/supplemental_node_provisioner.sh' - mode: 0744 - - name: Provision script execution - shell: > - 'bash ~/supplemental_node_provisioner.sh' - tags: - - skip_ansible_lint - -# Start the supplemental node virtual machine. -- name: Start supplemental node vm - virt: - name: '{{ supplemental_node.name }}' - command: start - state: running - autostart: true - uri: '{{ libvirt_uri }}' - -- name: Wait for VM to come online - wait_for: timeout=30 - -# Add the supplemental to the in-memory inventory. -- name: Add supplemental node vm to inventory - add_host: - name: supplemental - groups: supplemental - ansible_host: supplemental - ansible_fqdn: supplemental - ansible_user: '{{ supplemental_user }}' - ansible_private_key_file: '{{ supplemental_node_key }}' - ansible_ssh_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"' - supplemental_node_ip: '{{ supplemental_node_ip }}' diff --git a/roles/libvirt/setup/supplemental/templates/tls_everywhere_provisioner.sh.j2 b/roles/libvirt/setup/supplemental/templates/tls_everywhere_provisioner.sh.j2 deleted file mode 100644 index 4a0d0b758..000000000 --- a/roles/libvirt/setup/supplemental/templates/tls_everywhere_provisioner.sh.j2 +++ /dev/null @@ -1,98 +0,0 @@ -#!/bin/bash - -set -eux - -POOL_NAME={{ libvirt_volume_pool }} -POOL_PATH={{ libvirt_volume_path }} -CLONEFROM={{ image_cache_dir }}/supplemental_base.qcow2 -VMSSHKEY={{ working_dir }}/id_rsa_supplemental.pub -VMDISKADD=30G - -IMG_NAME=ipa.qcow2 -VMIMGIPA={{ working_dir }}/$IMG_NAME -VMIMGIPACOPY={{ working_dir }}/ORIG-$IMG_NAME -VOL_IMG_PATH=$POOL_PATH/$IMG_NAME - -# Copy qcow2 base image -cp -v $CLONEFROM $VMIMGIPA - -# Resize the FreeIPA image -echo "$(date) - Adding $VMDISKADD to $VMIMGIPA: " -qemu-img resize $VMIMGIPA +$VMDISKADD - -echo "$(date) - Resizing filesystem of $VMIMGIPA: " -cp -v $VMIMGIPA $VMIMGIPACOPY -virt-resize --expand /dev/sda1 $VMIMGIPACOPY $VMIMGIPA -rm -fv $VMIMGIPACOPY - -echo "$(date) - Checking status of $VMIMGIPA: " -qemu-img info $VMIMGIPA -virt-filesystems --long -h --all -a $VMIMGIPA - -cat > ifcfg-eth0 < ifcfg-eth1 <> /etc/default/grub" \ - --run-command "grubby --update-kernel=ALL --args=\"net.ifnames=0 cloud-init=disabled\"" \ - --run-command "systemctl enable sshd" \ - {{ "--run-command \"useradd " + supplemental_user + " -m -p ''\" \\" if supplemental_user != 'root' else "\\" }} - {{ "--run-command \"echo " + supplemental_user + " ALL=\\(ALL\\) NOPASSWD:ALL >> /etc/sudoers\" \\" if supplemental_user != 'root' else "\\" }} - --mkdir /root/.ssh \ - --copy-in ifcfg-eth0:/etc/sysconfig/network-scripts/ \ - --copy-in ifcfg-eth1:/etc/sysconfig/network-scripts/ \ - --ssh-inject {{ supplemental_user }}:file:$VMSSHKEY \ - --selinux-relabel - -# We want the supplemental node to be a member of the correct volume -# pool. If we provide virt-install with just a path to the image -# then virt-install will create a pool and volumne for the image -# and we will have lost knowledge of where virsh is maintaining -# the image. So create a volume in the desired pool of the correct -# size and then upload our image into that pool/volume. Then tell -# virt-install what the path is to the volume. virt-install will be -# able to determine the volume and pool from the path. - -VOL_SIZE=`qemu-img info --output=json $VMIMGIPA | \ - python -c "import sys,json; \ - info=json.load(sys.stdin); print(info['virtual-size'])"` - -virsh vol-create-as $POOL_NAME $IMG_NAME $VOL_SIZE --format qcow2 -virsh vol-upload --pool $POOL_NAME $IMG_NAME $VMIMGIPA - -# Deploy the ipa vm -virt-install \ - --import \ - --name ipa \ - --ram 10240 \ - --disk path=$VOL_IMG_PATH,format=qcow2 \ - --vcpus 4 \ - --os-type linux \ - --os-variant generic \ - --network bridge=brext \ - --graphics none \ - --noautoconsole diff --git a/roles/libvirt/setup/undercloud/defaults/main.yml b/roles/libvirt/setup/undercloud/defaults/main.yml deleted file mode 100644 index a8bec0b5e..000000000 --- a/roles/libvirt/setup/undercloud/defaults/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -# variable only used during gating (when compressed_gating_repo is defined) -gating_repo_enabled: true - -undercloud_use_custom_boot_images: false -undercloud_custom_vmlinuz: "{{ working_dir }}/overcloud-full.vmlinuz" -undercloud_custom_initrd: "{{ working_dir }}/overcloud-full.initrd" - -ssh_tunnel_service_file: ssh-tunnel.service.j2 diff --git a/roles/libvirt/setup/undercloud/files/get-undercloud-ip.sh b/roles/libvirt/setup/undercloud/files/get-undercloud-ip.sh deleted file mode 100644 index bdc524ec5..000000000 --- a/roles/libvirt/setup/undercloud/files/get-undercloud-ip.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# This script will attempt to get the ip address of the a given libvirt guest. - -set -eu - -PATH=$PATH:/usr/sbin:/sbin - -VMNAME=$1 - -# Get the MAC address of the first interface by looking for looking for the -# `&2 - exit 1 -fi - -echo $ip diff --git a/roles/libvirt/setup/undercloud/meta/main.yml b/roles/libvirt/setup/undercloud/meta/main.yml deleted file mode 100644 index 3cb0f526b..000000000 --- a/roles/libvirt/setup/undercloud/meta/main.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -dependencies: - - common - - libvirt/setup/common -galaxy_info: - author: Red Hat, Inc. - license: Apache - description: libvirt setup undercloud - platforms: - - name: CentOS - versions: - - 7 - min_ansible_version: 2.4 diff --git a/roles/libvirt/setup/undercloud/tasks/convert_image.yml b/roles/libvirt/setup/undercloud/tasks/convert_image.yml deleted file mode 100644 index 1a75ea976..000000000 --- a/roles/libvirt/setup/undercloud/tasks/convert_image.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: indirect role include (workaround to https://github.com/ansible/ansible/issues/19472) - include_role: - name: convert-image - vars: - convert_image_base: "{{ undercloud_base_image | default(overcloud_image) }}" diff --git a/roles/libvirt/setup/undercloud/tasks/customize_overcloud.yml b/roles/libvirt/setup/undercloud/tasks/customize_overcloud.yml deleted file mode 100644 index 5a6fd8e33..000000000 --- a/roles/libvirt/setup/undercloud/tasks/customize_overcloud.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -- name: Create overcloud customize script - template: - src: "{{ overcloud_customize_script }}" - dest: "{{ working_dir }}/overcloud-customize.sh" - mode: 0755 - -- environment: - LIBGUESTFS_BACKEND: direct - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - # We need to extract the overcloud image, if it's not already extracted. - # so we can inject the gating repo into it. - - name: check if overcloud image is already extracted - stat: - path: '{{ working_dir }}/{{ overcloud_image }}.qcow2' - register: overcloud_image_stat_for_customize - - - name: Extract {{ overcloud_image }} image - command: > - virt-copy-out -a {{ working_dir }}/undercloud.qcow2 - /home/{{ undercloud_user }}/{{ overcloud_image }}.qcow2 {{ working_dir }} - when: not overcloud_image_stat_for_customize.stat.exists - - # only customize {{ overcloud_image }} image if that is not going to be - # used as undercloud - - name: Perform extra overcloud customizations - command: > - virt-customize -a {{ working_dir }}/{{ overcloud_image }}.qcow2 - --run '{{ working_dir }}/overcloud-customize.sh' - - - name: Copy updated {{ overcloud_image }} image back to undercloud - command: > - virt-copy-in -a {{ working_dir }}/undercloud.qcow2 - {{ working_dir }}/{{ overcloud_image }}.qcow2 /home/{{ undercloud_user }}/ diff --git a/roles/libvirt/setup/undercloud/tasks/inject_gating_repo.yml b/roles/libvirt/setup/undercloud/tasks/inject_gating_repo.yml deleted file mode 100644 index be7b0af9d..000000000 --- a/roles/libvirt/setup/undercloud/tasks/inject_gating_repo.yml +++ /dev/null @@ -1,44 +0,0 @@ ---- -- name: Create the injection script - template: - src: inject_gating_repo.sh.j2 - dest: "{{ working_dir }}/inject_gating_repo.sh" - -- environment: - LIBGUESTFS_BACKEND: direct - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - - when: not baseos_as_undercloud|bool or overcloud_as_undercloud|bool - block: - # We need to extract the overcloud image, if it's not already extracted. - # so we can inject the gating repo into it. - - name: check if overcloud image is already extracted - stat: - path: '{{ working_dir }}/overcloud-full.qcow2' - register: overcloud_image_stat - - - name: Extract overcloud-full image - command: > - virt-copy-out -a {{ working_dir }}/undercloud.qcow2 - /home/{{ undercloud_user }}/overcloud-full.qcow2 {{ working_dir }} - register: overcloud_image_extracted - when: not overcloud_image_stat.stat.exists - - - name: Inject the gating repo (overcloud-full) - command: > - virt-customize -a {{ working_dir }}/overcloud-full.qcow2 - --upload {{ compressed_gating_repo }}:/tmp/gating_repo.tar.gz - --run '{{ working_dir }}/inject_gating_repo.sh' - - - name: Copy updated overcloud-full image back to undercloud - command: > - virt-copy-in -a {{ working_dir }}/undercloud.qcow2 - {{ working_dir }}/overcloud-full.qcow2 /home/{{ undercloud_user }}/ - when: overcloud_image_extracted is defined and overcloud_image_extracted|changed - - - name: Inject the gating repo (undercloud) - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --upload {{ compressed_gating_repo }}:/tmp/gating_repo.tar.gz - --run '{{ working_dir }}/inject_gating_repo.sh' - when: not overcloud_as_undercloud|bool or baseos_as_undercloud|bool diff --git a/roles/libvirt/setup/undercloud/tasks/inject_repos.yml b/roles/libvirt/setup/undercloud/tasks/inject_repos.yml deleted file mode 100644 index 5c6641c90..000000000 --- a/roles/libvirt/setup/undercloud/tasks/inject_repos.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -- name: get all qcow2 images - find: - path: "{{ working_dir }}" - patterns: "*.qcow2" - register: qcow_images - -- name: upload repos on the images - include_role: - name: repo-setup - vars: - repo_inject_image_path: "{{ item.path }}" - repo_run_live: false - repo_setup_dir: "{{ working_dir }}" - with_items: "{{ qcow_images.files | default([]) }}" diff --git a/roles/libvirt/setup/undercloud/tasks/main.yml b/roles/libvirt/setup/undercloud/tasks/main.yml deleted file mode 100644 index c1c43c6c5..000000000 --- a/roles/libvirt/setup/undercloud/tasks/main.yml +++ /dev/null @@ -1,494 +0,0 @@ ---- -# We're going to try putting files in `local_working_dir`, so make -# sure it exists first. -- name: Ensure local working dir exists - delegate_to: localhost - file: - path: "{{ local_working_dir }}" - state: directory - -# Generate MAC addresses for the undercloud node. -- name: get MACs for the undercloud - generate_macs: - nodes: - - "{{ undercloud_node }}" - networks: "{{ networks }}" - register: undercloud_mac_map - -# Check if the undercloud volume exists. If not, we call out to -# [fetch_image.yml](fetch_image.yml.html) to download the image. -- name: Check if undercloud volume exists - command: > - virsh vol-info --pool '{{ libvirt_volume_pool }}' - '{{ undercloud_node.name }}.qcow2' - ignore_errors: true - changed_when: false - register: undercloud_vol_check - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -- when: undercloud_vol_check is failed - environment: - LIBGUESTFS_BACKEND: direct - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - # Conditionally include a playbook for all the images specified - # in options that downloads, cache and extract if tar archived - # only if the images aren't already in volume pool - - name: Fetch the images - include_role: - name: fetch-images - - # Conditionally include a playbook for all the images specified - # in options that updates images with the repos provided via the - # release config. - - include_tasks: inject_repos.yml - when: update_images|bool or devmode|bool - - # inject the gating repo generated by ansible-role-tripleo-gate - - include_tasks: inject_gating_repo.yml - when: compressed_gating_repo is defined and compressed_gating_repo - - # Converts an {{ overcloud_image }}.qcow2 into a undercloud.qcow2 - - include_tasks: convert_image.yml - when: overcloud_as_undercloud|bool or baseos_as_undercloud|bool - - # Update images after we have converted the overcloud to an - # undercloud image when using devmode. This also clones tripleo-ci - # on the undercloud image. - - include_tasks: update_image.yml - when: devmode|bool - - - name: "Set inject_images for partition image {{ overcloud_image }}" - set_fact: - inject_images: - - "ironic-python-agent.initramfs" - - "ironic-python-agent.kernel" - - "{{ overcloud_image }}.qcow2" - - "{{ overcloud_image }}.initrd" - - "{{ overcloud_image }}.vmlinuz" - when: - - inject_images is not defined - - overcloud_as_undercloud|bool or use_external_images|bool - - not whole_disk_images|bool - - - name: "Set inject_images for whole-disk image {{ overcloud_image }}" - set_fact: - inject_images: - - "ironic-python-agent.initramfs" - - "ironic-python-agent.kernel" - - "{{ overcloud_image }}.qcow2" - when: - - inject_images is not defined - - overcloud_as_undercloud|bool or use_external_images|bool - - whole_disk_images|bool - - # Inject updated overcloud and ipa images into our converted undercloud - # image - - name: Inject additional images - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --upload {{ working_dir }}/{{ item }}:/home/{{ undercloud_user }}/{{ item }} - --run-command 'chown {{ undercloud_user }}:{{ undercloud_user }} /home/{{ undercloud_user }}/{{ item }}' - changed_when: true - with_items: "{{ inject_images | default('') }}" - when: - - overcloud_as_undercloud|bool or use_external_images|bool - - inject_images|length > 0 - - # This copies the `instackenv.json` configuration file that we - # generated in the overcloud setup role to the undercloud host. - - name: Copy instackenv.json to appliance - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --upload {{ working_dir }}/instackenv.json:/home/{{ undercloud_user }}/instackenv.json - --run-command 'chown {{ undercloud_user }}:{{ undercloud_user }} /home/{{ undercloud_user }}/instackenv.json' - when: inject_instackenv|bool - - # Copy the undercloud public key to the virthost, because we're going - # to inject it into the undercloud image in the next task. - - name: Copy undercloud ssh public key to working dir - copy: - src: "{{ undercloud_key }}.pub" - dest: "{{ working_dir }}/id_rsa_undercloud.pub" - - # Copy the virt host private key to `$HOME/.ssh/id_rsa_virt_power` for - # VirtualBMC be able to access the hypervisor where the VMs are located - - name: Copy virt host ssh private key to working dir - when: release not in ['newton'] - copy: - src: "{{ virt_power_key }}" - dest: "{{ working_dir }}/id_rsa_virt_power" - - # When using qemu:///system, the vbmc will need to ssh back to the virthost - # as the root user to perform power operations - - name: Add virt power key to root authorized keys if using qemu:///system - authorized_key: - user: root - key: "{{ lookup('file', virt_power_key|quote + '.pub')|default('') }}" - when: libvirt_uri == "qemu:///system" - become: true - - # Copy the public key to `$HOME/.ssh/authorized_keys` for the `root` - # and `undercloud_user` user on the undercloud. - - name: Inject undercloud ssh public key to appliance - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --mkdir {{ item.homedir }}/.ssh/ - --upload '{{ working_dir }}/id_rsa_undercloud.pub:{{ item.homedir }}/.ssh/authorized_keys' - --run-command 'chown -R {{ item.owner }}:{{ item.group }} {{ item.homedir }}/.ssh' - --run-command 'chmod 0700 {{ item.homedir }}/.ssh' - --run-command 'chmod 0600 {{ item.homedir }}/.ssh/authorized_keys' - with_items: - - homedir: /root - owner: root - group: root - - homedir: '/home/{{ undercloud_user }}' - owner: '{{ undercloud_user }}' - group: '{{ undercloud_user }}' - - # This copies the `id_rsa_virt_power` private key that we generated - # in the overcloud setup role to the undercloud host to be used by - # VirtualBMC+libvirt to access the virthost. - - name: Copy id_rsa_virt_power to appliance - when: release not in ['newton'] - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --upload '{{ working_dir }}/id_rsa_virt_power:/root/.ssh/id_rsa_virt_power' - --run-command 'chown root:root /root/.ssh/id_rsa_virt_power' - --run-command 'chmod 0600 /root/.ssh/id_rsa_virt_power' - - - name: Create undercloud customize script - template: - src: "{{ undercloud_customize_script }}" - dest: "{{ working_dir }}/undercloud-customize.sh" - mode: 0755 - when: undercloud_customize_script is defined - - # This allows to run a customization script on the - # undercloud image, to cover any extra needs. - - name: Perform extra undercloud customizations - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --run '{{ working_dir }}/undercloud-customize.sh' - when: undercloud_customize_script is defined - - # This allows to run a customization script on the - # overcloud image, to cover any extra needs. - - name: Perform extra overcloud customizations - include_tasks: customize_overcloud.yml - when: overcloud_customize_script is defined - - # Perform an SELinux relabel on the undercloud image to avoid problems - # caused by bad labelling, since by default the undercloud runs in - # enforcing mode. - - name: Perform selinux relabel on undercloud image - command: > - virt-customize -a {{ working_dir }}/undercloud.qcow2 - --selinux-relabel - -# NOTE(trown) Nested blocks do not seem to work as expected so instead using -# conditionals with AND to simulate the same thing. -# Resize the undercloud image if it was not converted from an overcloud -# image -- when: - - undercloud_vol_check is failed - - not overcloud_as_undercloud|bool - block: - - name: > - Determine if the undercloud image is a whole disk image - so we can resize it appropriately - command: > - virt-filesystems -a {{ working_dir }}/undercloud.qcow2 - environment: - LIBGUESTFS_BACKEND: direct - register: undercloud_partitions - -- when: - - undercloud_vol_check is failed - - not overcloud_as_undercloud|bool - - undercloud_partitions.stdout=='/dev/sda1' or '/dev/sda3' in undercloud_partitions.stdout or '/dev/sda4' in undercloud_partitions.stdout - block: - - - name: set fact for partition - /dev/sda1 - set_fact: - partition: '/dev/sda1' - when: undercloud_partitions.stdout=='/dev/sda1' - - - name: set fact for partition - /dev/sda3 - set_fact: - partition: '/dev/sda3' - when: "'/dev/sda3' in undercloud_partitions.stdout" - - - name: set fact for partition - /dev/sda4 - set_fact: - partition: '/dev/sda4' - when: "'/dev/sda4' in undercloud_partitions.stdout" - - # Handle the resize for the whole disk image case - - name: Resize undercloud image (create target image) - command: > - qemu-img create -f qcow2 -o preallocation=off - '{{ working_dir }}/undercloud-resized.qcow2' - '{{ flavors[undercloud_node.flavor].disk }}G' - - - name: Resize undercloud image (call virt-resize) - command: > - virt-resize --expand '{{ partition }}' - '{{ working_dir }}/undercloud.qcow2' - '{{ working_dir }}/undercloud-resized.qcow2' - environment: - LIBGUESTFS_BACKEND: direct - LIBGUESTFS_DEBUG: 1 - LIBGUESTFS_TRACE: 1 - - - name: Rename resized image to original name - command: > - mv -f '{{ working_dir }}/undercloud-resized.qcow2' - '{{ working_dir }}/undercloud.qcow2' - - - name: Resize undercloud image (expand the FS) - command: > - virt-customize -a '{{ working_dir }}/undercloud.qcow2' - --run-command 'FS_TYPE=`findmnt -o FSTYPE -fn /`; - if [ "$FS_TYPE" = "xfs" ]; then xfs_growfs /; - elif [ "$FS_TYPE" = "ext4" ]; then resize2fs {{ partition }}; - else echo "ERROR: Unknown filesystem $FSTYPE, cannot resize."; - exit 1; fi' - environment: - LIBGUESTFS_BACKEND: direct - LIBGUESTFS_DEBUG: 1 - LIBGUESTFS_TRACE: 1 - -- when: - - undercloud_vol_check is failed - - not overcloud_as_undercloud|bool - - undercloud_partitions.stdout=='/dev/sda' - block: - # Handle the resize for the partition image case - - name: Resize undercloud image (expand the image) - command: > - qemu-img resize - '{{ working_dir }}/undercloud.qcow2' - '{{ flavors[undercloud_node.flavor].disk }}G' - - - name: Resize undercloud image (expand the FS) - command: > - virt-customize -a '{{ working_dir }}/undercloud.qcow2' - --run-command 'FS_TYPE=`findmnt -o FSTYPE -fn /`; - if [ "$FS_TYPE" = "xfs" ]; then xfs_growfs /; - elif [ "$FS_TYPE" = "ext4" ]; then resize2fs /dev/sda; - else echo "ERROR: Unknown filesystem $FSTYPE, cannot resize."; - exit 1; fi' - environment: - LIBGUESTFS_BACKEND: direct - LIBGUESTFS_DEBUG: 1 - LIBGUESTFS_TRACE: 1 - - - name: Set libvirt environment when using root to run tasks - set_fact: - libvirt_environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - LIBGUESTFS_BACKEND: "direct" - cacheable: true - when: ssh_user == "root" - - - name: Set libvirt environment when not using root to run tasks - set_fact: - libvirt_environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - cacheable: true - when: ssh_user != "root" - - # NOTE(trown) We use the overcloud initramfs and kernel as DIB - # seems a bit smarter about extracting them than virt-get-kernel and - # the partition image is simply a converted overcloud - - name: Extract the kernel and initramfs from the undercloud image - command: > - virt-copy-out -a '{{ working_dir }}/undercloud.qcow2' - '/home/{{ undercloud_user }}/{{ overcloud_image }}.vmlinuz' - '/home/{{ undercloud_user }}/{{ overcloud_image }}.initrd' - '{{ working_dir }}' - environment: "{{ libvirt_environment }}" - when: not undercloud_use_custom_boot_images|bool - -- when: - - not undercloud_use_custom_boot_images|bool - - not overcloud_as_undercloud|bool - block: - # NOTE(ykarel) This is required to get the undercloud specific - # kernel when not using overcloud_as_undercloud. - - name: Extract the kernel and initramfs from the undercloud image - command: > - virt-get-kernel -a '{{ working_dir }}/undercloud.qcow2' --unversioned-names - --output '{{ working_dir }}' - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - - # NOTE(trown) The undercloudvm template expects this to be - # named {{ overcloud_image }}.vmlinuz. We can update the devmode case - # to not require this step - - name: rename undercloud kernel - command: > - mv '{{ working_dir }}/vmlinuz' - '{{ working_dir }}/{{ overcloud_image }}.vmlinuz' - - # NOTE(trown) The undercloudvm template expects this to be - # named {{ overcloud_image }}.initrd. We can update the devmode case - # to not require this step - - name: rename undercloud initramfs - command: > - mv '{{ working_dir }}/initramfs' - '{{ working_dir }}/{{ overcloud_image }}.initrd' - - # NOTE(trown): This is a bit of a hack to get the undercloud vm - # template to use the external kernel and initrd. We should - # instead use a different var for this and set it in the devmode - # case as well. - - name: Set overcloud_as_undercloud to true - set_fact: - overcloud_as_undercloud: true - cacheable: true - -- when: undercloud_vol_check is failed - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - # Create a libvirt volume and upload the undercloud image to - # libvirt. - - name: Create undercloud volume - command: > - virsh vol-create-as {{ libvirt_volume_pool }} - {{ undercloud_node.name }}.qcow2 - {{ flavors[undercloud_node.flavor].disk }}G --format qcow2 - - - name: Upload undercloud volume to storage pool - command: > - virsh -k 0 vol-upload --pool '{{ libvirt_volume_pool }}' - '{{ undercloud_node.name }}.qcow2' - '{{ working_dir }}/undercloud.qcow2' - async: 600 - poll: 10 - -# Define (but do no start) the undercloud virtual machine. -- name: Define undercloud vm - virt: - name: "{{ undercloud_node.name }}" - command: define - xml: "{{ lookup('template', 'undercloudvm.xml.j2') }}" - uri: "{{ libvirt_uri }}" - -# Make sure we can read the image file after the copy -- name: Ensure file permissions if root used as task runner - file: - path: "{{ working_dir }}" - owner: "{{ non_root_user }}" - group: "{{ non_root_user }}" - mode: "a+x" - recurse: true - state: 'directory' - when: non_root_chown|bool - -# Start the undercloud virtual machine and make it -- name: Start undercloud vm - virt: - name: "{{ undercloud_node.name }}" - command: start - autostart: true - state: running - uri: "{{ libvirt_uri }}" - -# Get the ip address of the undercloud. This will retry several times -# (`undercloud_ip_retries`) until the undercloud is ready. The script -# works by getting the MAC address of the first undercloud interface, -# and then looking that up in the kernel ARP table. -- name: Get undercloud vm ip address - script: "get-undercloud-ip.sh {{ undercloud_node.name }}" - register: undercloud_vm_ip_result - until: undercloud_vm_ip_result is success - retries: "{{ undercloud_ip_retries }}" - delay: 10 - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -- name: Set_fact for undercloud ip - set_fact: - undercloud_ip: "{{ undercloud_vm_ip_result.stdout_lines[0] }}" - cacheable: true - -- name: Wait until ssh is available on undercloud node - wait_for: - host: "{{ undercloud_ip }}" - state: started - port: 22 - timeout: 600 - -# Add the undercloud to the in-memory inventory. -- name: Add undercloud vm to inventory - add_host: - name: undercloud - groups: undercloud - ansible_host: undercloud - ansible_fqdn: undercloud - ansible_user: '{{ undercloud_user }}' - ansible_private_key_file: "{{ undercloud_key }}" - ansible_ssh_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"' - undercloud_ip: "{{ undercloud_ip }}" - -- name: Generate ssh configuration - delegate_to: localhost - template: - src: ssh.config.j2 - dest: "{{ local_working_dir }}/ssh.config.ansible" - -- when: enable_port_forward_for_tripleo_ui|bool - block: - - # TO-DO weshayutin - # In the upcoming release of ansible 2.4 this should be moved to - # iptables_raw - # - name: ensure the required tcp ports are open on the virthost - - name: configure iptables - iptables: - table: filter - chain: INPUT - action: insert - protocol: tcp - match: tcp - ctstate: NEW - jump: ACCEPT - destination_port: "{{ item }}" - become: true - with_items: - - 6385 - - 5000 - - 5050 - - 8004 - - 8080 - - 9000 - - 8989 - - 8774 - - 3000 - - 8181 - - 8443 - - 443 - - - name: Create ssh tunnel systemd service - template: - src: "{{ ssh_tunnel_service_file }}" - dest: "/etc/systemd/system/ssh-tunnel.service" - mode: 0644 - become: true - - - name: reload the systemctl daemon after file update - shell: systemctl daemon-reload - become: true - tags: - - skip_ansible_lint - - - name: Enable ssh tunnel service - service: - name: ssh-tunnel - enabled: true - state: restarted - become: true diff --git a/roles/libvirt/setup/undercloud/tasks/update_image.yml b/roles/libvirt/setup/undercloud/tasks/update_image.yml deleted file mode 100644 index 677fcaddf..000000000 --- a/roles/libvirt/setup/undercloud/tasks/update_image.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -- name: get all qcow2 images - find: - path: "{{ working_dir }}" - patterns: "*.qcow2" - register: qcow_images - -- name: generate image specific update script - template: - src: update_image.sh.j2 - dest: "{{ working_dir }}/update_image-{{ item.inode }}.sh" - with_items: "{{ qcow_images.files | default([]) }}" - -- name: run update - command: > - virt-customize -v --smp 2 -m 4096 -a {{ item.path }} - --run update_image-{{ item.inode }}.sh - args: - chdir: "{{ working_dir }}" - environment: - LIBGUESTFS_BACKEND: direct - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - with_items: "{{ qcow_images.files | default([]) }}" - changed_when: true diff --git a/roles/libvirt/setup/undercloud/templates/inject_gating_repo.sh.j2 b/roles/libvirt/setup/undercloud/templates/inject_gating_repo.sh.j2 deleted file mode 100644 index b645a80da..000000000 --- a/roles/libvirt/setup/undercloud/templates/inject_gating_repo.sh.j2 +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -mkdir -p /opt -pushd /opt -tar xzf /tmp/gating_repo.tar.gz -rm /tmp/gating_repo.tar.gz - -for file in /etc/yum.repos.d/*.repo; do - sed -i 's/priority=2/priority=3/' $file; - sed -i 's/priority=1/priority=2/' $file; -done - -cat > /etc/yum.repos.d/gating.repo << EOF -[gating-repo] -name=Gating repository -baseurl=file:///opt/gating_repo -enabled={{ gating_repo_enabled | bool | ternary('1', '0') }} -gpgcheck=0 -priority=1 -EOF - -{% if gating_repo_enabled|bool %} -{{ ansible_pkg_mgr }} --disablerepo="*" --enablerepo="gating-repo" update -y -{% endif %} diff --git a/roles/libvirt/setup/undercloud/templates/ssh-tunnel.service.j2 b/roles/libvirt/setup/undercloud/templates/ssh-tunnel.service.j2 deleted file mode 100644 index 08875d7e2..000000000 --- a/roles/libvirt/setup/undercloud/templates/ssh-tunnel.service.j2 +++ /dev/null @@ -1,33 +0,0 @@ -{% set ssh_tunnel_target_ip = undercloud_network_cidr|nthhost(2) if undercloud_generate_service_certificate|bool else undercloud_network_cidr|nthhost(1) %} - -[Unit] -Description=Set up ssh tunneling for TripleO -After=network.target - -[Service] -ExecStart=/usr/bin/ssh -NT -o \ - ServerAliveInterval=60 -o \ - UserKnownHostsFile=/dev/null -o \ - StrictHostKeyChecking=no -o \ - ExitOnForwardFailure=no -i \ - {{ working_dir }}/id_rsa_undercloud {{ ssh_user }}@{{ undercloud_ip }} \ - -L 0.0.0.0:6385:{{ ssh_tunnel_target_ip }}:6385 \ - -L 0.0.0.0:5000:{{ ssh_tunnel_target_ip }}:5000 \ - -L 0.0.0.0:5050:{{ ssh_tunnel_target_ip }}:5050 \ - -L 0.0.0.0:8004:{{ ssh_tunnel_target_ip }}:8004 \ - -L 0.0.0.0:8080:{{ ssh_tunnel_target_ip }}:8080 \ - -L 0.0.0.0:9000:{{ ssh_tunnel_target_ip }}:9000 \ - -L 0.0.0.0:8989:{{ ssh_tunnel_target_ip }}:8989 \ - -L 0.0.0.0:3000:{{ ssh_tunnel_target_ip }}:3000 \ - -L 0.0.0.0:443:{{ ssh_tunnel_target_ip }}:443 \ - -L 0.0.0.0:13000:{{ ssh_tunnel_target_ip }}:13000 \ - -L 0.0.0.0:8181:overcloud.localdomain:80 \ - -L 0.0.0.0:8443:overcloud.localdomain:443 - - -# Restart every >2 seconds to avoid StartLimitInterval failure -RestartSec=5 -Restart=always - -[Install] -WantedBy=multi-user.target diff --git a/roles/libvirt/setup/undercloud/templates/ssh.config.j2 b/roles/libvirt/setup/undercloud/templates/ssh.config.j2 deleted file mode 100644 index 9af9e399d..000000000 --- a/roles/libvirt/setup/undercloud/templates/ssh.config.j2 +++ /dev/null @@ -1,35 +0,0 @@ -{% if ansible_host is not defined or ansible_host == 'localhost' %} -{% set ssh_host = inventory_hostname %} -{% else %} -{% set ssh_host = ansible_host %} -{% endif %} -{% if ansible_private_key_file is defined %} -{% set ssh_key_arg = " -i " + ansible_private_key_file + " " %} -{% else %} -{% set ssh_key_arg = "" %} -{% endif %} -{% set proxycommand="ssh -o UserKnownHostsFile=/dev/null " - + "-o StrictHostKeyChecking=no -o ConnectTimeout=60 " - + ssh_key_arg - + ssh_user + '@' + ssh_host + " -W " + undercloud_ip + ":22" %} - -Host undercloud-root - ProxyCommand {{proxycommand}} - IdentityFile {{ local_working_dir }}/id_rsa_undercloud - User root - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -Host undercloud - ProxyCommand {{proxycommand}} - IdentityFile {{ local_working_dir }}/id_rsa_undercloud - User {{ undercloud_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -Host undercloud-from-virthost - Hostname {{ undercloud_ip }} - IdentityFile ~/.ssh/id_rsa - IdentitiesOnly yes - User root - StrictHostKeyChecking no diff --git a/roles/libvirt/setup/undercloud/templates/undercloudvm.xml.j2 b/roles/libvirt/setup/undercloud/templates/undercloudvm.xml.j2 deleted file mode 100644 index 675d3df8d..000000000 --- a/roles/libvirt/setup/undercloud/templates/undercloudvm.xml.j2 +++ /dev/null @@ -1,79 +0,0 @@ -{% set lvars = { 'use_default_libvirt' : true } %} -{% for network in networks %} -{% if network.forward_mode is defined and network.forward_mode == 'nat' %} -{% if lvars.update({'use_default_libvirt' : false}) %}{% endif %} -{% if lvars.update({'nat_network' : network.name}) %}{% endif %} -{% if lvars.update({'nat_bridge' : network.bridge}) %}{% endif %} -{% endif %} -{% endfor %} - - {{ undercloud_node.name }} - {{ flavors[undercloud_node.flavor].memory }} - {{ flavors[undercloud_node.flavor].vcpu }} - - hvm - - -{% if overcloud_as_undercloud|bool or undercloud_use_custom_boot_images|bool %} - {{ undercloud_custom_vmlinuz }} - {{ undercloud_custom_initrd }} - console=ttyS0 root=/dev/vda {{ undercloud_extra_grub_params|default('') }} -{% endif %} - - - - - - - - - - - - - destroy - restart - restart - - - - - - -{% if lvars['use_default_libvirt'] %} - - - - -{% else %} - - - - - -{% endif %} -{% for network in networks %} -{% if not (lvars['use_default_libvirt'] == false and network.name == lvars['nat_network']) %} - - - - -{% if network.virtualport_type is defined %} - -{% endif %} - -{% endif %} -{% endfor %} - - - -{% if enable_vnc_console|bool %} - - - -{% endif %} - - - diff --git a/roles/libvirt/setup/undercloud/templates/update_image.sh.j2 b/roles/libvirt/setup/undercloud/templates/update_image.sh.j2 deleted file mode 100644 index 25bc9fc7c..000000000 --- a/roles/libvirt/setup/undercloud/templates/update_image.sh.j2 +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -# execute script in a subshell so it -# can be controlled by a timeout -# send a TERM signal after 15 minutes -# send a KILL signal after 20 minutes - -timeout -s 15 -k 1200 900 bash << EOS - set -x - {% if ansible_pkg_mgr == "yum" %} - sed -i -e "/proxy\=/d" /etc/yum.conf - {% endif %} - - {{ ansible_pkg_mgr }} update -y - - {% if "undercloud" in item.path %} - {{ ansible_pkg_mgr }} install -y libselinux-python* python*-libselinux - {{ ansible_pkg_mgr }} install -y git - mkdir -p /opt/{{ undercloud_user }}/new/tripleo-ci - git clone https://opendev.org/openstack/tripleo-ci /opt/stack/new/tripleo-ci - {% endif %} - {% if "overcloud" in item.path %} - rm -rf /etc/puppet/modules/* - rm -rf /opt/{{ undercloud_user }} - {% if release in ['newton', 'ocata', 'pike'] %} - {{ ansible_pkg_mgr }} install -y openstack-puppet-modules - {% else %} - {{ ansible_pkg_mgr }} install -y puppet-tripleo - {% endif %} - ln -s /usr/share/openstack-puppet/modules/* /etc/puppet/modules/ - {% endif %} - -EOS diff --git a/roles/libvirt/setup/user/meta/main.yml b/roles/libvirt/setup/user/meta/main.yml deleted file mode 100644 index 66f54c760..000000000 --- a/roles/libvirt/setup/user/meta/main.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -dependencies: - - libvirt -galaxy_info: - author: Red Hat, Inc. - license: Apache - description: libvirt setup overcloud - platforms: - - name: CentOS - versions: - - 7 - min_ansible_version: 2.4 diff --git a/roles/libvirt/setup/user/tasks/main.yml b/roles/libvirt/setup/user/tasks/main.yml deleted file mode 100644 index f7039a17e..000000000 --- a/roles/libvirt/setup/user/tasks/main.yml +++ /dev/null @@ -1,46 +0,0 @@ ---- -# Also make sure `local_working_dir` exists. This is a directory on -# the ansible control host. -- name: Ensure local working dir exists - delegate_to: localhost - file: - path: "{{ local_working_dir }}" - state: directory - -# Create ssh keypairs. `virt_power_key` is used by ironic on the -# undercloud to control libvirt on the physical host, and -# `undercloud_key` is used to log in to the undercloud. -- name: Generate ssh keys - delegate_to: localhost - command: > - ssh-keygen -f '{{ item.path }}' -N '' - -C '{{ item.comment }}' - -t rsa -b 4096 - args: - creates: "{{ item.path }}" - with_items: - - path: "{{ virt_power_key }}" - comment: "ansible_generated_virt_power" - - path: "{{ undercloud_key }}" - comment: "ansible_generated_undercloud" - -# Copy the undercloud key to the virthost in the ssh_user directory -- name: copy ssh keys to virthost - copy: - src: "{{ undercloud_key }}" - dest: "{{ working_dir }}" - owner: "{{ ssh_user }}" - group: "{{ ssh_user }}" - mode: 0600 - -- name: Read virt_power private key - no_log: true - set_fact: - virt_power_key_pvt: "{{ lookup('file', virt_power_key)|default('') }}" - cacheable: true - -- name: add virt_power_key to remote authorized_keys - authorized_key: - user: "{{ ansible_user_id }}" - key: "{{ lookup('file', virt_power_key|quote + '.pub')|default('') }}" - manage_dir: true diff --git a/roles/libvirt/teardown/meta/main.yml b/roles/libvirt/teardown/meta/main.yml deleted file mode 100644 index 4e0ec0dba..000000000 --- a/roles/libvirt/teardown/meta/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# Include settings from the libvirt role, and include all the -# `teardown/*` roles. This means that when your playbook has: -# -# roles: -# - libvirt/teardown -# -# You also get: -# -# - `libvirt/teardown/nodes` -# - `libvirt/teardown/user` -dependencies: - - role: libvirt - - role: teardown/nodes - - role: teardown/user diff --git a/roles/libvirt/teardown/nodes/tasks/main.yml b/roles/libvirt/teardown/nodes/tasks/main.yml deleted file mode 100644 index 5eb3e1591..000000000 --- a/roles/libvirt/teardown/nodes/tasks/main.yml +++ /dev/null @@ -1,163 +0,0 @@ ---- -# NB: We use `virsh` here instead of the `virt` module because -# these tasks may be called before the dependencies of the `virt` -# module are satisfied. - -- name: Include vars for libvirt-nodepool - include_vars: - file: "{{ role_path }}/../../setup/overcloud/vars/libvirt_nodepool_vars.yml" - when: libvirt_nodepool|default(false) - -- name: Check if libvirt is available - command: > - virsh uri - ignore_errors: true - changed_when: false - register: libvirt_check - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - -# If libvirt isn't available we can skip everything else. -- when: libvirt_check is success - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - - - when: overcloud_nodes - block: - - # Check if the overcloud nodes exist. - - name: Check overcloud vms - command: > - virsh domid "{{ item.name }}" - with_items: "{{ overcloud_nodes }}" - ignore_errors: true - register: overcloud_check - - # Destroy and undefine the overcloud nodes. - - name: Destroy overcloud vms - command: - virsh destroy "{{ item.item.name }}" - when: item is success - with_items: "{{ overcloud_check.results }}" - ignore_errors: true - - - name: Undefine overcloud vms - command: - virsh undefine "{{ item.item.name }}" - when: item is success - with_items: "{{ overcloud_check.results }}" - - # The `virsh vol-dumpxml ... > /dev/null` is here (and elsewhere) due to - # [1293804]. - # - # [1293804]: https://bugzilla.redhat.com/show_bug.cgi?id=1293804 - - name: Delete baremetal vm storage - shell: | - virsh vol-dumpxml --pool '{{ libvirt_volume_pool }}' \ - '{{ item.name }}'.qcow2 2>&1 > /dev/null - virsh vol-delete --pool '{{ libvirt_volume_pool }}' \ - '{{ item.name }}'.qcow2 - with_items: "{{ overcloud_nodes }}" - ignore_errors: true - - # Do the same thing to the supplemental node. - - environment: - LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}" - block: - - name: Check undercloud vm - command: > - virsh domid "{{ supplemental_node.name|default('') }}" - ignore_errors: true - register: supplemental_check - - - name: Destroy supplemental vm - command: > - virsh destroy "{{ supplemental_node.name|default('') }}" - when: supplemental_check is success - ignore_errors: true - - - name: Undefine supplemental vm - command: > - virsh undefine "{{ supplemental_node.name|default('') }}" --remove-all-storage - when: supplemental_check is success - ignore_errors: true - - # Do the same thing to the undercloud node. - - name: Check undercloud vm - command: > - virsh domid "{{ undercloud_node.name }}" - ignore_errors: true - register: undercloud_check - - - name: Destroy undercloud vm - command: > - virsh destroy "{{ undercloud_node.name }}" - when: undercloud_check is success - ignore_errors: true # noqa ignore-errors - - - name: Undefine undercloud vm - command: > - virsh undefine "{{ undercloud_node.name }}" - when: undercloud_check is success - - - name: Delete undercloud vm storage - shell: | - virsh vol-dumpxml --pool '{{ libvirt_volume_pool }}' \ - '{{ undercloud_node.name }}'.qcow2 2>&1 > /dev/null - virsh vol-delete --pool '{{ libvirt_volume_pool }}' \ - '{{ undercloud_node.name }}'.qcow2 - ignore_errors: true # noqa ignore-errors - - - name: Destroy intermediate disk image - file: - path: "{{ working_dir }}/undercloud-resized.qcow2" - state: absent - - - name: Check volume pool - command: > - virsh pool-uuid "{{ libvirt_volume_pool }}" - register: pool_check - ignore_errors: true - - # See https://www.redhat.com/archives/libvirt-users/2016-March/msg00123.html - # TL;DR: ensure that the pool really exists if the previous - # task says it does. - - name: Work around libvirt bug - shell: | - virsh pool-dumpxml "{{ libvirt_volume_pool }}" | - virsh pool-define /dev/stdin - when: pool_check is success - - - name: Destroy volume pool - command: > - virsh pool-destroy "{{ libvirt_volume_pool }}" - when: pool_check is success - ignore_errors: true # noqa ignore-errors - - - name: Undefine volume pool - command: > - virsh pool-undefine "{{ libvirt_volume_pool }}" - when: pool_check is success - - - name: Get UID of pool user - command: id -u "{{ ansible_user_id }}" - register: pool_uid - changed_when: false - when: pool_check is success - - - name: Destroy pool definition file - file: - path: "/run/user/{{ pool_uid.stdout }}/libvirt/storage/run/{{ libvirt_volume_pool }}.xml" - state: absent - when: pool_check is success - - - name: Bring down the NetworkManager connections - when: - - ansible_distribution in ['RedHat', 'CentOS'] - - ansible_distribution_major_version|int >= 8 - become: true - shell: | - nmcli c down brovc; - nmcli c down bridge-slave-{{ virthost_provisioning_interface }} - ignore_errors: true # noqa ignore-errors diff --git a/roles/libvirt/teardown/user/tasks/main.yml b/roles/libvirt/teardown/user/tasks/main.yml deleted file mode 100644 index f1f3c4a30..000000000 --- a/roles/libvirt/teardown/user/tasks/main.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -# This removes the `virt_power_key` from the remote `authorized_keys` -# file. -- name: Remove virt_power_key from remote authorized_keys - authorized_key: - user: "{{ ansible_user_id }}" - state: absent - key: "{{ item }}" - manage_dir: true - with_file: - - "{{ virt_power_key }}.pub" - ignore_errors: true # noqa ignore-errors diff --git a/roles/parts/README.md b/roles/parts/README.md deleted file mode 100644 index b0624df99..000000000 --- a/roles/parts/README.md +++ /dev/null @@ -1,3 +0,0 @@ -These roles install and/or configure individual components, and should -not depend on any configuration or roles from outside of the `parts/` -directory. diff --git a/roles/parts/kvm/defaults/main.yml b/roles/parts/kvm/defaults/main.yml deleted file mode 100644 index 9d9686e8c..000000000 --- a/roles/parts/kvm/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -nested: true diff --git a/roles/parts/kvm/tasks/main.yml b/roles/parts/kvm/tasks/main.yml deleted file mode 100644 index 09d24f48c..000000000 --- a/roles/parts/kvm/tasks/main.yml +++ /dev/null @@ -1,84 +0,0 @@ ---- -- name: Set CPU vendor - set_fact: - cpu_vendor: "{{ 'intel' if 'Intel' in ansible_processor|join('') else - 'amd' if 'AMD' in ansible_processor|join('') else 'unknown' }}" - cacheable: true - -- name: Get CPU flags - command: "awk -F: '/^flags/ {print $2; exit}' /proc/cpuinfo" - register: cpu_flags_cmd - changed_when: false - -- name: Check for nested support - set_fact: - cpu_nested_support: "{{ true if cpu_vendor == 'intel' and 'vmx' in cpu_flags_cmd.stdout.split() else - true if cpu_vendor == 'amd' and 'svm' in cpu_flags_cmd.stdout.split() else false }}" - cacheable: true - -- name: Disable nested if not supported - set_fact: - nested: "{{ false if not cpu_nested_support|bool else nested }}" - cacheable: true - -- name: Remove previous KVM modprobe configs - shell: | - set -o pipefail - find /etc/modprobe.d/ -type f -print0 | xargs -r -0 sed -i '/^options kvm_intel/d;/^options kvm_amd/d' - become: true - changed_when: true - -- name: Configure KVM module - copy: - dest: "/etc/modprobe.d/kvm.conf" - content: | - options kvm_{{ cpu_vendor }} nested={{ nested|bool|ternary('1', '0') }} - become: true - -- name: Fetch current runtime nested setting - command: cat /sys/module/kvm_{{ cpu_vendor }}/parameters/nested - register: kvm_nested_info - changed_when: false - when: nested|bool - -- name: Set fact for nested to false if virtualization is not enabled - set_fact: - cpu_nested_enabled: false - cacheable: true - when: not nested|bool - -- name: Check if nested is enabled currently - set_fact: - cpu_nested_enabled: "{{ true if 'Y' in kvm_nested_info.stdout else - true if '1' in kvm_nested_info.stdout else false }}" - cacheable: true - when: nested|bool - -- when: nested|bool != cpu_nested_enabled|bool - block: - - name: Unload KVM module - modprobe: - name: "kvm_{{ cpu_vendor }}" - state: "absent" - become: true - - - name: Reload KVM module - modprobe: - name: "kvm_{{ cpu_vendor }}" - state: "present" - become: true - - - name: Fetch current runtime nested setting - command: cat /sys/module/kvm_{{ cpu_vendor }}/parameters/nested - register: kvm_nested_info - changed_when: false - - - name: Check again if nested is enabled currently - set_fact: - cpu_nested_enabled: "{{ true if 'Y' in kvm_nested_info.stdout else - true if '1' in kvm_nested_info.stdout else false }}" - cacheable: true - - name: Fail when the desired and actual state do not match - fail: - msg: "Cannot change the state of nested virtualization. Please shut down any running VMs." - when: nested|bool != cpu_nested_enabled|bool diff --git a/roles/parts/libvirt/defaults/main.yml b/roles/parts/libvirt/defaults/main.yml deleted file mode 100644 index 26fc1945b..000000000 --- a/roles/parts/libvirt/defaults/main.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# The packages required to set up our desired libvirt environment. - -# moved to roles/environment/vars -# libvirt_packages: - -# The name of the libvirt service. -libvirtd_service: libvirtd - -# If running in chroot-like environments (containers) -chrooted: false diff --git a/roles/parts/libvirt/meta/main.yml b/roles/parts/libvirt/meta/main.yml deleted file mode 100644 index e0c65c40b..000000000 --- a/roles/parts/libvirt/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - environment diff --git a/roles/parts/libvirt/tasks/main.yml b/roles/parts/libvirt/tasks/main.yml deleted file mode 100644 index 6ceefff83..000000000 --- a/roles/parts/libvirt/tasks/main.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -# We have identified this specific ipxe-roms-qemu-20130517 as having issues w/ timeouts. It is possible -# that a virthost has a later valid version of ipxe-roms-qemu that will work. At this time, let's only -# remove the known bad version of ipxe-roms if it's found -- name: Check for older iPXE rpm - shell: > - if rpm -q ipxe-roms-qemu-20130517; then - rpm -e --nodeps ipxe-roms-qemu-20130517 && echo "rpm removed"; - fi; - become: true - register: old_ipxe - changed_when: '"rpm removed" in old_ipxe.stdout' - -# Install the packages required for our desired libvirt environment. -# We store the list of packages in `libvirt_packages` so that in -# theory we can support multiple distributions simply by passing in a -# different list of packages. -- name: Install packages for libvirt - package: - name: "{{ libvirt_packages }}" - state: present - become: true - -- name: Start libvirtd - service: - name: "{{ libvirtd_service }}" - state: started - enabled: true - become: true - when: not chrooted|bool diff --git a/roles/parts/ovs/defaults/main.yml b/roles/parts/ovs/defaults/main.yml deleted file mode 100644 index 44216c08f..000000000 --- a/roles/parts/ovs/defaults/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -# The package name for openvswitch -ovs_package: openvswitch - -# The name of the openvswitch service. -ovs_service: openvswitch diff --git a/roles/parts/ovs/tasks/main.yml b/roles/parts/ovs/tasks/main.yml deleted file mode 100644 index 5a6dd5ae0..000000000 --- a/roles/parts/ovs/tasks/main.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: Install Openvswitch package - package: - name: "{{ ovs_package }}" - state: present - become: true - -- name: Start Openvswitch - service: - name: "{{ ovs_service }}" - state: started - enabled: true - become: true diff --git a/roles/provision/defaults/main.yml b/roles/provision/defaults/main.yml deleted file mode 100644 index a843e974e..000000000 --- a/roles/provision/defaults/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -# The path to an ssh key (that we will generate) that can be used to -# log in to the virt host. -virt_host_key: "{{ local_working_dir }}/id_rsa_virt_host" - -# Exit the playbook when a non suported linux distro is found on the virthost -supported_distro_check: true diff --git a/roles/provision/local/meta/main.yml b/roles/provision/local/meta/main.yml deleted file mode 100644 index 9cfe555b0..000000000 --- a/roles/provision/local/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - provision diff --git a/roles/provision/local/tasks/main.yml b/roles/provision/local/tasks/main.yml deleted file mode 100644 index b12f88d8a..000000000 --- a/roles/provision/local/tasks/main.yml +++ /dev/null @@ -1,103 +0,0 @@ ---- -# Error out early if the `virthost` variable is not set. -- name: Check that virthost is set - fail: - msg: "You need to set virthost before running these playbooks." - when: virthost|default("") | length == 0 - -- name: Get current user group for localhost - command: "id -gn" - register: local_user_group - changed_when: false - -- name: Register fact for current user group - set_fact: - current_group_local: "{{ local_user_group.stdout }}" - cacheable: true - tags: - - provision - -- block: - - name: Ensure local working dir exists - file: - path: "{{ local_working_dir }}" - state: directory - owner: "{{ ansible_env.USER }}" - group: "{{ current_group_local }}" - rescue: - # if it fails we try again as with become, become must be fallback because - # otherwise first attempt will fail on local machines without sudo, a - # use case that we want to support. - - name: Ensure local working dir exists - file: - path: "{{ local_working_dir }}" - state: directory - owner: "{{ ansible_env.USER }}" - group: "{{ current_group_local }}" - become: true - -# This file needs to exist because it will later be referenced in some -# ssh command lines. -- name: Create empty ssh config file - file: - path: "{{ local_working_dir }}/ssh.config.ansible" - state: touch - - -# Add the virthost to the in-memory inventory. The inventory is not -# written out to disk unless you call the `tripleo-inventory` role. -- name: Add the virthost to the inventory - add_host: - name: "{{ virthost }}" - groups: "virthost" - ansible_fqdn: "{{ virthost }}" - ansible_user: "root" - ansible_host: "{{ virthost }}" - -# The following idempotent code ensures when running -# with 127.0.0.2 that the non_root_user facts are known -# to both the virthost and localhost hostvars -# duplicates roles/provision/remote/tasks/main.yml#L40-L71 -# This avoids the need to delegate in -# roles/virtbmc/tasks/configure-vbmc.yml#L30-L33 -# The delegation fails across mixed virthosts -# with different python interps. - -# Create a non-root user on the target host. This is the user that -# will own the virtual infrastructure on which we deploy openstack. -# when: virthost == '127.0.0.2' -- name: remove the need to delegate back to virthost for the virtbmc - block: - - name: Create non-root user - user: - name: "{{ non_root_user }}" - state: present - shell: /bin/bash - create_home: true - become: true - - - name: Get the non-root user UID - command: "id {{ non_root_user }} -u" - register: non_root_user_uid_output - changed_when: false - retries: 3 - delay: 5 - until: non_root_user_uid_output is not failed - - - name: Get the non-root user homedir - shell: | - set -o pipefail - getent passwd {{ non_root_user }} | cut -d: -f6 - register: non_root_user_homedir_output - changed_when: false - - - name: Save the non-root user UID - set_fact: - non_root_user_uid: "{{ non_root_user_uid_output.stdout }}" - cacheable: true - - - name: Save the non-root user homedir - set_fact: - non_root_user_homedir: "{{ non_root_user_homedir_output.stdout }}" - cacheable: true - when: virthost == '127.0.0.2' diff --git a/roles/provision/meta/main.yml b/roles/provision/meta/main.yml deleted file mode 100644 index 2083f0e12..000000000 --- a/roles/provision/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - common diff --git a/roles/provision/remote/meta/main.yml b/roles/provision/remote/meta/main.yml deleted file mode 100644 index 9cfe555b0..000000000 --- a/roles/provision/remote/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - provision diff --git a/roles/provision/remote/tasks/main.yml b/roles/provision/remote/tasks/main.yml deleted file mode 100644 index 8f6ee78ed..000000000 --- a/roles/provision/remote/tasks/main.yml +++ /dev/null @@ -1,149 +0,0 @@ ---- -# Create `virt_host_key`, which we will use to log in to the target -# host. Note that this tasks runs on the ansible control host -# (because of the `delegate_to: localhost`), and we will later copy -# the public key to the appropriate location. -- name: Create virthost access key - delegate_to: localhost - command: > - ssh-keygen -f {{ virt_host_key }} -N '' - -C 'ansible_generated_virt_host' - -t rsa -b 4096 - args: - creates: "{{ virt_host_key }}" - -- when: not chrooted|bool - block: - - name: Ensure tuned is installed - package: - # amoralej - we need to add subscription-manager after bz#2029405 - name: - - tuned - - subscription-manager - state: "present" - become: true - - - name: Ensure tuned is enabled and started - service: - name: "tuned" - enabled: "yes" - state: "started" - become: true - - - name: Retrieve current tuned profile - command: tuned-adm active - register: tuned - changed_when: false - # Remove failed_when once https://bugzilla.redhat.com/show_bug.cgi?id=2030580 fixed - failed_when: false - - - name: Set tuned profile if not already set - command: tuned-adm profile "{{ tuned_profile }}" - become: true - when: tuned.stdout.find(tuned_profile) != 1 - - # Create a non-root user on the target host. This is the user that - # will own the virtual infrastructure on which we deploy openstack. - - name: Create non-root user - user: - name: "{{ non_root_user }}" - state: present - shell: /bin/bash - create_home: true - become: true - -- name: Get the non-root user UID - command: "id {{ non_root_user }} -u" - register: non_root_user_uid_output - changed_when: false - retries: 3 - delay: 5 - until: non_root_user_uid_output is not failed - -- name: Get the non-root user homedir - shell: | - set -o pipefail - getent passwd {{ non_root_user }} | cut -d: -f6 - register: non_root_user_homedir_output - changed_when: false - -- name: Save the non-root user UID - set_fact: - non_root_user_uid: "{{ non_root_user_uid_output.stdout }}" - cacheable: true - -- name: Save the non-root user homedir - set_fact: - non_root_user_homedir: "{{ non_root_user_homedir_output.stdout }}" - cacheable: true - -# Install the public component of `virt_host_key` in the -# `.ssh/authorized_keys` file for the non-root user. -- name: Configure non-root user authorized_keys - authorized_key: - user: "{{ ssh_user }}" - key: "{{ lookup('file', virt_host_key|quote + '.pub')|default('') }}" - become: true - -- name: Ensure polkit packages are installed - package: - name: "polkit" - state: "present" - become: true - -# This lets the non-root user access the `qemu://system` endpoint. We -# don't need this with the default configuration (which uses -# `qemu://session`), but this permits things to work if someone -# explicitly passes in `libvirt_uri`. -- name: Grant libvirt privileges to non-root user - template: - src: libvirt.pkla.j2 - dest: "/etc/polkit-1/localauthority/50-local.d/50-{{ non_root_user }}-libvirt.pkla" - become: true - -- name: Ensure XDG_RUNTIME_DIR is set - blockinfile: - path: "{{ non_root_user_homedir }}/.bashrc" - create: true - block: | - # Setting up XDG_RUNTIME_DIR for creating non-essential runtime files and other file objects in accordance with - # https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html - if [[ -z "${XDG_RUNTIME_DIR}" && -d "/run/user/${UID}" ]] ; then - export XDG_RUNTIME_DIR="/run/user/${UID}" - fi - become: true - become_user: "{{ non_root_user }}" - -# I'm not always root, but when I am it's because of `sudo`. -- name: Grant sudo privileges to non-root user - copy: - content: | - {{ non_root_user }} ALL=(ALL) NOPASSWD:ALL - dest: /etc/sudoers.d/{{ non_root_user }} - owner: root - group: root - mode: 0440 - become: true - -# This replaces the inventory entry for the virthost. The original -# entry had `ansible_user: root`, but from now on we will connect as -# the non-root user. -- name: Re-add the virthost to the inventory - add_host: - name: "{{ virthost }}" - groups: "virthost" - ansible_fqdn: "{{ virthost }}" - ansible_user: "{{ ssh_user }}" - ansible_host: "{{ virthost }}" - ansible_private_key_file: "{{ virt_host_key }}" - -# Create the volume pool directory if it doesn't already exist. This -# will be the target of the libvirt volume pool we create in the next -# task. -- name: Ensure volume pool directory exists - file: - path: "{{ libvirt_volume_path }}" - state: directory - owner: "{{ non_root_user }}" - group: "{{ non_root_group }}" - become: true diff --git a/roles/provision/remote/templates/libvirt.pkla.j2 b/roles/provision/remote/templates/libvirt.pkla.j2 deleted file mode 100644 index 75b1ef44c..000000000 --- a/roles/provision/remote/templates/libvirt.pkla.j2 +++ /dev/null @@ -1,6 +0,0 @@ -[Libvirt management for {{ non_root_user }} user] -Identity=unix-user:{{ non_root_user }} -Action=org.libvirt.unix.manage -ResultAny=yes -ResultInactive=yes -ResultActive=yes diff --git a/roles/provision/support_check/meta/main.yml b/roles/provision/support_check/meta/main.yml deleted file mode 100644 index 9cfe555b0..000000000 --- a/roles/provision/support_check/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - provision diff --git a/roles/provision/support_check/tasks/main.yml b/roles/provision/support_check/tasks/main.yml deleted file mode 100644 index 2e2571bdd..000000000 --- a/roles/provision/support_check/tasks/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -# Check the virthost distribution for either RHEL or CentOS -- name: Check the linux distro - debug: msg="Unfortunately your linux distribution is not supported at the moment. We welcome community support, - please see https://github.com/openstack/tripleo-quickstart . - - To run quickstart with out this check set 'quickstart.sh -e supported_distro_check=false'" - failed_when: supported_distro_check - when: not (ansible_distribution == 'CentOS' or ansible_distribution == 'RedHat') diff --git a/roles/provision/teardown/meta/main.yml b/roles/provision/teardown/meta/main.yml deleted file mode 100644 index 9cfe555b0..000000000 --- a/roles/provision/teardown/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - provision diff --git a/roles/provision/teardown/tasks/main.yml b/roles/provision/teardown/tasks/main.yml deleted file mode 100644 index 515336574..000000000 --- a/roles/provision/teardown/tasks/main.yml +++ /dev/null @@ -1,66 +0,0 @@ ---- -# Check that the non-root user exists. -- name: Get UID of non-root user - command: > - id -u {{ non_root_user }} - register: non_root_uid - ignore_errors: true - changed_when: false - -# If the non-root user exists, perform a variety of cleanup tasks. -- when: non_root_uid is success - block: - # Look for and kill any processes owned by the non-root user. - # This will let us remove the user later on. - - name: Check for processes owned by non-root user - command: > - pgrep -u {{ non_root_user }} - register: proc_exist - ignore_errors: true - become: true - - - name: Kill (SIGTERM) all processes owned by non-root user - command: > - pkill -u {{ non_root_user }} - ignore_errors: true # noqa ignore-errors - become: true - when: proc_exist is success - - - name: Wait for processes to exit - command: > - pgrep -c -u {{ non_root_user }} - register: proc_kill - retries: 5 - delay: 3 - until: proc_kill.stdout == '0' - ignore_errors: true - when: proc_exist is success - become: true - - - name: Kill (SIGKILL) all processes owned by non-root user - command: > - pkill -9 -u {{ non_root_user }} - when: proc_exist is success - ignore_errors: true # noqa ignore-errors - become: true - - # Now that we have taken care of any processes owned by this user - # account we can delete it. - - name: Remove non-root user account - user: - name: "{{ non_root_user }}" - state: absent - remove: true - become: true - - # The `XDG_RUNTIME_DIR` (`/run/user/`) doesn't always get cleaned - # up when we remove the user, which can lead to libvirt problems - # later on. We can't remove the directory itself -- it's a tmpfs - # mountpoint -- but we can remove the content. - - name: Remove non-root user ephemeral files - file: - path: "{{ item }}" - state: absent - with_fileglob: - - /run/user/{{ non_root_uid.stdout }}/* - become: true diff --git a/roles/provision/user/meta/main.yml b/roles/provision/user/meta/main.yml deleted file mode 100644 index 9cfe555b0..000000000 --- a/roles/provision/user/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - provision diff --git a/roles/provision/user/tasks/main.yml b/roles/provision/user/tasks/main.yml deleted file mode 100644 index 5f3646c51..000000000 --- a/roles/provision/user/tasks/main.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -# Create a non-root user on the target host. This is the user that -# will own the virtual infrastructure on which we deploy openstack. -- name: Create non-root group - group: - name: "{{ non_root_group }}" - state: present - become: true - when: not chrooted|bool - -- name: Create non-root user - user: - name: "{{ non_root_user }}" - group: "{{ non_root_group }}" - state: present - shell: /bin/bash - create_home: true - become: true - when: not chrooted|bool diff --git a/roles/repo-setup/README.md b/roles/repo-setup/README.md deleted file mode 100644 index 003a8a9bd..000000000 --- a/roles/repo-setup/README.md +++ /dev/null @@ -1,182 +0,0 @@ -tripleo-repo-setup -========= - -Set up yum repositories on host or in image -This Ansible role allows setting up repositories on a live host or within an image. - -Requirements ------------- -`libguestfs-tools-c` package is required in case of injecting repositories into an image. - -Role Variables --------------- - -* `repo_setup_script` - path to repositories setup script template -* `repo_setup_log` - path to repositories setup script log -* `repo_run_live`: false/true - where to run repo setup script on host (live host that playbook - runs on it) (default: true) -* `repo_inject_image_path` - path to image, in case of injecting repositories into the image - (default: not defined) -* `repo_cmd_before`: - shell commands to run before repos setup -* `repo_cmd_after`: - shell commands to run after repos setup -* `libvirt_uri` - URI of libvirt in case of using virt-customize to inject repos into the image -* `repos` - dictionary or repositories to set, the keys are explained below: -* `repos.type` - file / generic / package / rpm_url -* `repos.releases` - for which releases to set up this repo, if not defined - for all releases. - It supports shortcut for all stable releases - '{{ stable }}' -* `add_repos` - dictionary of additional repositories to add, could be populated in code, by - default is empty. Note that this dictionary will be constructed in the same manner - as a typical `repos` dictionary. See examples below. -* `repo_setup_run_update` - false/true - whether to run or not yum update after setting up the repo. - Default to true. - - - *File* - ------ - Just download the repo file from URL and change some of its parameters if required. - * `repos.filename` - filename for saving the downloaded file - * `repos.down_url` - URL to download repo file from - * `repos.priority` - change priority of this repo (default: not defined) - - *Generic* - ------ - Construct repository file from various parameters and use parameters from downloaded file - if required (for example DLRN hash). - * `repos.filename` - filename for saving the resulting repo (mandatory) - * `repos.reponame` - name of repository (mandatory) - * `repos.baseurl` - base URL of the repository (mandatory) - * `repos.hash_url` - URL of repo file in network, used for extracting trunk hash (optional) - * `repos.priority` - priority of resulting repo (optional) - * `repos.includepkgs` - includepkgs parameter of resulting repo (use this repo only for these - packages) (optional) - * `repos.enabled` - 0/1 whether the repo is enabled or not (default: 1 - enabled) - * `repos.gpgcheck` - whether to check GPG keys for repo (default: 0 - don't check) - * `repos.module_hotfixes` - whether to make all RPMs from the repository available (default: 0) - * `repos.sslverify` - whether to use a cert to use repo metadata (default: 1) - - *Package* - ------ - Install repository from package - * `repos.pkg_name` - package name (should be available in the installed repositories) - * `repos.custom_cmd` - custom command to install this package (default: 'yum install -y') - * `repos.pkg_url` - direct URL of the package to install - - *RHSM* - ----- - Setup the yum repositories with Red Hat Subscription Manager, https://access.redhat.com/ - * `use_rhsm`: - boolean to turn rhsm public repos on or off, this by default is false. - * `rhsm_username`: - rhsm username - * `rhsm_password`: rhsm password - * `pool_id`: The subscription manager pool id with RHOSP entilements - * `rhel_version_number`: The major version of RHEL - * `osp_release_version_number`: The major version of RHOSP - * `rhceph_version_number`: The version of RHCeph - * `rhsm_repos`: a yaml list of yum repos that should be enabled via subscription manager, an - example config is in config/release/rhos-11-rhn-baseos-undercloud.yml - -Dependencies ------------- - -No dependencies - -Example Playbook ----------------- - -Including an example of how to use your role (for instance, with variables passed in as -parameters) is always nice for users too: - - --- - - name: Run repo setup - hosts: undercloud - gather_facts: false - roles: - - repo-setup - -Settings example for repositories: - - repos: - # Just download file - - type: file - filename: delorean.repo - down_url: https://trunk.rdoproject.org/centos7-{{ release }}/current/delorean.repo - module_hotfixes=1 - - # In case of stable release - - type: generic - reponame: delorean - filename: delorean.repo - baseurl: https://trunk.rdoproject.org/centos7-{{ release }}/current/ - hash_url: https://trunk.rdoproject.org/centos7-{{ release }}/current/delorean.repo - priority: 20 - releases: "{{ stable }}" - - # In case of master - - type: generic - reponame: delorean - filename: delorean.repo - baseurl: https://buildlogs.centos.org/centos/7/cloud/x86_64/rdo-trunk-master-tripleo/ - hash_url: https://buildlogs.centos.org/centos/7/cloud/x86_64/rdo-trunk-master-tripleo/delorean.repo - priority: 20 - releases: - - master - - # In case of master - - type: generic - reponame: delorean-current - filename: delorean-current.repo - baseurl: https://trunk.rdoproject.org/centos7/current - hash_url: https://trunk.rdoproject.org/centos7/current/delorean.repo - priority: 10 - includepkgs: - - instack - - instack-undercloud - - os-apply-config - - os-collect-config - - os-net-config - - os-refresh-config - - python-tripleoclient* - - openstack-tripleo-common - - openstack-tripleo-heat-templates - - openstack-tripleo-image-elements - - openstack-tripleo - - openstack-tripleo-puppet-elements - - openstack-tripleo-ui - - puppet-* - - python*-paunch* - releases: - - master - - # In case of all releases - - type: file - filename: delorean-deps.repo - down_url: https://trunk.rdoproject.org/centos7-{{ release }}/delorean-deps.repo - priority: 30 - - - type: package - pkg_name: centos-release-ceph-hammer - custom_cmd: 'yum install -y --enablerepo=extras' - releases: - - master - - - type: package - pkg_name: centos-release-ceph-jewel - custom_cmd: 'yum install -y --enablerepo=extras' - releases: - - newton - - master - - - type: package - pkg_url: https://rdoproject.org/repos/openstack-{{ release }}/rdo-release-{{ release }}.rpm - releases: - - newton - - -License -------- - -Apache 2.0 - -Author Information ------------------- - -RDO-CI Team diff --git a/roles/repo-setup/defaults/main.yml b/roles/repo-setup/defaults/main.yml deleted file mode 100644 index c6c23e722..000000000 --- a/roles/repo-setup/defaults/main.yml +++ /dev/null @@ -1,75 +0,0 @@ ---- -repo_setup_dir: "{{ working_dir }}" -repo_setup_script_source: repo_setup.sh.j2 -repo_setup_script: repo_setup.sh -repo_setup_log: repo_setup.log -# New repo_setup based on triple-repos -repo_cmd_before_setup_template: repo_cmd_before_setup.sh.j2 -repo_cmd_after_setup_template: repo_cmd_after_setup.sh.j2 -repo_cmd_before_setup_script: repo_cmd_before_setup.sh -repo_cmd_after_setup_script: repo_cmd_after_setup.sh -repo_setup_new_template: repo_setup_new.sh.j2 -repo_setup_new_script: repo_setup_new.sh -# File to temporary store environment variables which will be loaded in repo_setup_newest.sh and repo_cmd_after_setup.sh -repo_setup_env_filepath: "/tmp/repo_setup_env" -repo_run_live: true -repo_setup_use_collections: true # for zuul native cannot use this -# Releases shortcuts -stable: - - pike - - ocata - - queens - - stein - - train -repo_cmd_before: | - {% if ansible_pkg_mgr == "yum" %} - sudo {{ ansible_pkg_mgr }} install -y yum-plugin-priorities; - {% endif %} - sudo {{ ansible_pkg_mgr }} clean all; - sudo rm -rf /etc/yum.repos.d/delorean*; - sudo rm -rf /etc/yum.repos.d/*.rpmsave; -repo_cmd_after: | - sudo {{ ansible_pkg_mgr }} repolist; - sudo {{ ansible_pkg_mgr }} update -y - -# Repositories definitions -dlrn_baseurl: "https://trunk.rdoproject.org/centos{{ ansible_distribution_major_version | default('7') }}-{{ release }}" -repos: - - type: file - filename: delorean.repo - down_url: "{{ dlrn_baseurl }}/current/delorean.repo" - - - type: file - filename: delorean-deps.repo - down_url: "{{ dlrn_baseurl }}/delorean-deps.repo" - -repo_setup_run_update: true - -# For adding custom repositories in featureset files -add_repos: [] -# rhsm variables -use_rhsm: false -use_use_rhsm_baseos_channel: true -use_rhsm_openstack_channel: true -use_rhsm_ceph_channel: true - -rhsm_username: none -rhsm_password: none -pool_id: none -rhel_version_number: 7 -osp_release_version_number: 8 -rhceph_version_number: "1.3" -use_specific_hash: false -delorean_hash_label: latest -known_hash_tags: - - current - - consistent - - tripleo-ci-testing - - current-tripleo - - current-tripleo-rdo - - current-tripleo-rdo-internal - - current-passed-ci - - promoted-components - - component-ci-testing -expected_commit_distro_hash_regex: "[a-zA-Z0-9]{40}_[a-zA-Z0-9]{8}$" -expected_aggregate_hash_regex: "^[a-zA-Z0-9]{32}$" diff --git a/roles/repo-setup/meta/main.yml b/roles/repo-setup/meta/main.yml deleted file mode 100644 index 98bfef3b5..000000000 --- a/roles/repo-setup/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - extras-common diff --git a/roles/repo-setup/tasks/create-repo-script.yml b/roles/repo-setup/tasks/create-repo-script.yml deleted file mode 100644 index e58e5ceb9..000000000 --- a/roles/repo-setup/tasks/create-repo-script.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: Create repo setup script - template: - src: "{{ repo_setup_script_source }}" - dest: "{{ repo_setup_dir }}/{{ repo_setup_script }}" - mode: 0755 - when: not use_yum_config_module|default(false)|bool - -# When using tripleo-repos yum-config, split into 3 phases -- block: - - name: Create script - commands before repo setup - template: - src: "{{ repo_cmd_before_setup_template }}" - dest: "{{ repo_setup_dir }}/{{ repo_cmd_before_setup_script }}" - mode: 0755 - - name: Create repo setup script (new) - template: - src: "{{ repo_setup_new_template }}" - dest: "{{ repo_setup_dir }}/{{ repo_setup_new_script }}" - mode: 0755 - - name: Create script - commands after repo setup - template: - src: "{{ repo_cmd_after_setup_template }}" - dest: "{{ repo_setup_dir }}/{{ repo_cmd_after_setup_script }}" - mode: 0755 - when: use_yum_config_module|default(false)|bool diff --git a/roles/repo-setup/tasks/get-dlrn-debug.yml b/roles/repo-setup/tasks/get-dlrn-debug.yml deleted file mode 100644 index 54a5995b8..000000000 --- a/roles/repo-setup/tasks/get-dlrn-debug.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: print out dlrn, release, distro info - debug: - msg: - - "the tq release is: {{ release }}" - - "the distro is: {{ distro_ver }}" - - "dlrn_hash is: {{ dlrn_hash }}" - -- name: print out dlrn (current) newest / latest - debug: - msg: - - "dlrn current: {{ dlrn_hash_newest }}" - when: dlrn_hash_newest is defined diff --git a/roles/repo-setup/tasks/get-dlrn-hash-newest.yml b/roles/repo-setup/tasks/get-dlrn-hash-newest.yml deleted file mode 100644 index 5719c4303..000000000 --- a/roles/repo-setup/tasks/get-dlrn-hash-newest.yml +++ /dev/null @@ -1,53 +0,0 @@ ---- -- name: Check DLRN hash newest format - fail: - msg: "The newest DLRN hash or tag is not recognized. The hash or tag should not contain path slashes." - when: - - not dlrn_hash_tag_newest is match(expected_commit_distro_hash_regex) - - not dlrn_hash_tag_newest is match(expected_aggregate_hash_regex) - - dlrn_hash_tag_newest not in known_hash_tags - -- name: Check DLRN hash newest - passed ready hash - set_fact: - dlrn_hash_newest: "{{ dlrn_hash_tag_newest }}" - cacheable: true - when: dlrn_hash_tag_newest is match(expected_commit_distro_hash_regex) or dlrn_hash_tag_newest is match(expected_aggregate_hash_regex) - -# explicitly set python3 in centos7 https://bugs.launchpad.net/tripleo/+bug/1943968 -- include_tasks: tripleo-get-hash-set-fact.yml - vars: - search_tag: "{{ dlrn_hash_tag_newest }}" - fact_name: "dlrn_hash_newest" - ansible_python_interpreter: /usr/bin/python3 - when: - - dlrn_hash_tag in known_hash_tags - - ansible_distribution_major_version is version(8, '<') - -# dont set interpreter for centos8 https://bugs.launchpad.net/tripleo/+bug/1945127 -- include_tasks: tripleo-get-hash-set-fact.yml - vars: - search_tag: "{{ dlrn_hash_tag_newest }}" - fact_name: "dlrn_hash_newest" - when: - - dlrn_hash_tag_newest in known_hash_tags - - ansible_distribution_major_version is version(8, '>=') - - repo_setup_use_collections - -- include_tasks: tripleo-get-hash-set-fact-no-collections.yml - vars: - search_tag: "{{ dlrn_hash_tag_newest }}" - fact_name: "dlrn_hash_newest" - when: - - dlrn_hash_tag_newest in known_hash_tags - - ansible_distribution_major_version is version(8, '>=') - - not repo_setup_use_collections - -- name: Set fact for dlrn_hash_path_newest - set_fact: - dlrn_hash_path_newest: "{{ dlrn_hash_newest[:2] }}/{{ dlrn_hash_newest[2:4] }}/{{ dlrn_hash_newest }}" - cacheable: true - -- name: Set fact for task already run - set_fact: - dlrn_task_run_newest: true - cacheable: true diff --git a/roles/repo-setup/tasks/get-dlrn-hash.yml b/roles/repo-setup/tasks/get-dlrn-hash.yml deleted file mode 100644 index 3c42b0713..000000000 --- a/roles/repo-setup/tasks/get-dlrn-hash.yml +++ /dev/null @@ -1,91 +0,0 @@ ---- -- name: Check DLRN hash format - fail: - msg: "The DLRN hash or tag is not recognized. The hash or tag should not contain path slashes." - when: - - not dlrn_hash_tag is match(expected_commit_distro_hash_regex) - - not dlrn_hash_tag is match(expected_aggregate_hash_regex) - - dlrn_hash_tag not in known_hash_tags - -- name: Check DLRN hash - passed ready hash - set_fact: - dlrn_hash: "{{ dlrn_hash_tag }}" - cacheable: true - when: dlrn_hash_tag is match(expected_commit_distro_hash_regex) or dlrn_hash_tag is match(expected_aggregate_hash_regex) - -# explicitly set python3 in centos7 https://bugs.launchpad.net/tripleo/+bug/1943968 -- include_tasks: tripleo-get-hash-set-fact.yml - vars: - search_tag: "{{ dlrn_hash_tag }}" - fact_name: "dlrn_hash" - ansible_python_interpreter: /usr/bin/python3 - when: - - dlrn_hash_tag in known_hash_tags - - ansible_distribution_major_version is version(8, '<') - -# dont set interpreter for centos8 https://bugs.launchpad.net/tripleo/+bug/1945127 -- include_tasks: tripleo-get-hash-set-fact.yml - vars: - search_tag: "{{ dlrn_hash_tag }}" - fact_name: "dlrn_hash" - when: - - dlrn_hash_tag in known_hash_tags - - ansible_distribution_major_version is version(8, '>=') - - repo_setup_use_collections - -- include_tasks: tripleo-get-hash-set-fact-no-collections.yml - vars: - search_tag: "{{ dlrn_hash_tag }}" - fact_name: "dlrn_hash" - when: - - dlrn_hash_tag in known_hash_tags - - ansible_distribution_major_version is version(8, '>=') - - not repo_setup_use_collections - -# TODO: Fix for fedora -- when: overcloud_release is defined and (overcloud_release | length != 0) - block: - - - name: Get DLRN overcloud hash - shell: | - set -euo pipefail - dlrn_base=https://trunk.rdoproject.org/centos7-{{ overcloud_release }} - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY:-https://trunk.rdoproject.org} - dlrn_base=${dlrn_base/https:\/\/trunk.rdoproject.org/$NODEPOOL_RDO_PROXY} - fi - curl -s --fail --show-error ${dlrn_base}/{{ dlrn_hash_tag }}/delorean.repo \ - | grep baseurl | grep -Eo {{ expected_commit_distro_hash_regex }} - register: full_overcloud_hash_result - retries: 5 - - - name: Set fact for overcloud dlrn_hash - set_fact: - overcloud_dlrn_hash: "{{ full_overcloud_hash_result.stdout }}" - cacheable: true - - - name: Set fact for overcloud dlrn_hash path - set_fact: - overcloud_dlrn_hash_path: "{{ overcloud_dlrn_hash[:2] }}/{{ overcloud_dlrn_hash[2:4] }}/{{ overcloud_dlrn_hash }}" - cacheable: true - - - name: Set fact for the overcloud Docker image tag - set_fact: - overcloud_docker_image_tag: "{{ overcloud_dlrn_hash }}" - cacheable: true - -- name: Set fact for dlrn_hash path - set_fact: - dlrn_hash_path: "{{ dlrn_hash[:2] }}/{{ dlrn_hash[2:4] }}/{{ dlrn_hash }}" - cacheable: true - -- name: Set fact for the Docker image tag - set_fact: - docker_image_tag: "{{ dlrn_hash }}" - cacheable: true - -- name: Set fact for task already run - set_fact: - dlrn_task_run: true - cacheable: true diff --git a/roles/repo-setup/tasks/inject_repos_into_image.yml b/roles/repo-setup/tasks/inject_repos_into_image.yml deleted file mode 100644 index dde96299f..000000000 --- a/roles/repo-setup/tasks/inject_repos_into_image.yml +++ /dev/null @@ -1,26 +0,0 @@ ---- -- name: Check if /etc/ci/mirror_info.sh exists - stat: - path: "/etc/ci/mirror_info.sh" - register: ci_result - -- name: Make sure /etc/ci dir exists on the qcow2 image - include_role: - name: modify-image - tasks_from: libguestfs.yml - vars: - image_to_modify: "{{ repo_inject_image_path }}" - modify_image_upload_files: - - src: /etc/ci/mirror_info.sh - dest: /etc/ci/mirror_info.sh - modify_image_run_command: "'mkdir -p /etc/ci'" - when: - - ci_result.stat.exists - - repo_inject_image_path.endswith('qcow2') - -- name: Inject the repositories into the image - include_role: - name: modify-image - vars: - image_to_modify: "{{ repo_inject_image_path }}" - modify_script: "{{ repo_setup_dir }}/{{ repo_setup_script }}" diff --git a/roles/repo-setup/tasks/main.yml b/roles/repo-setup/tasks/main.yml deleted file mode 100644 index c7fddca48..000000000 --- a/roles/repo-setup/tasks/main.yml +++ /dev/null @@ -1,22 +0,0 @@ ---- -- include_tasks: get-dlrn-hash.yml - when: dlrn_hash_tag is defined and dlrn_task_run is not defined - -- include_tasks: get-dlrn-hash-newest.yml - when: dlrn_hash_tag_newest is defined and dlrn_task_run_newest is not defined - -- include_tasks: get-dlrn-debug.yml - -- include_tasks: set-dependency-repo-vars.yml - when: job.dependency is defined or dependency is defined - -- include_tasks: create-repo-script.yml - -- include_tasks: setup_repos.yml - when: repo_run_live|bool and not use_yum_config_module|default(false)|bool - -- include_tasks: setup_repos_new.yml - when: repo_run_live|bool and use_yum_config_module|default(false)|bool - -- include_tasks: inject_repos_into_image.yml - when: repo_inject_image_path is defined diff --git a/roles/repo-setup/tasks/set-dependency-repo-vars.yml b/roles/repo-setup/tasks/set-dependency-repo-vars.yml deleted file mode 100644 index 58d397bbe..000000000 --- a/roles/repo-setup/tasks/set-dependency-repo-vars.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: set_fact for the repo_config path - set_fact: - repo_config_path: "{{ working_dir }}/workspace/.quickstart/config/release/dependency_ci/{{ job.dependency|default(dependency) }}/repo_config.yaml" - -- name: check if we have a dependency repo_config file - stat: - path: "{{ repo_config_path }}" - register: repo_config_path_check - -- name: Include dependency-specific vars - include_vars: "{{ repo_config_path }}" - when: repo_config_path_check.stat.exists diff --git a/roles/repo-setup/tasks/set_fact_nodepool_rdo_proxy.yml b/roles/repo-setup/tasks/set_fact_nodepool_rdo_proxy.yml deleted file mode 100644 index 834853430..000000000 --- a/roles/repo-setup/tasks/set_fact_nodepool_rdo_proxy.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -# Use NODEPOOL_RDO_PROXY if set else default using dlrn_baseurl -# https://trunk.rdoproject.org or http://osp-trunk.hosted.upshift.rdu2.redhat.com -- name: extract NODEPOOL_RDO_PROXY from bash environment - shell: | - if [ -e /etc/ci/mirror_info.sh ]; then - source /etc/ci/mirror_info.sh - fi - default_dlrn="{{ dlrn_baseurl|urlsplit('scheme') }}://{{ dlrn_baseurl|urlsplit('hostname') }}" - NODEPOOL_RDO_PROXY=${NODEPOOL_RDO_PROXY:-$default_dlrn} - echo $NODEPOOL_RDO_PROXY - register: nodepool_rdo_proxy_result - failed_when: false - changed_when: false - -- name: "set fact with NODEPOOL_RDO_PROXY {{ nodepool_rdo_proxy_result.stdout }} " - set_fact: - nodepool_rdo_proxy: "{{ nodepool_rdo_proxy_result.stdout }}" diff --git a/roles/repo-setup/tasks/setup_repos.yml b/roles/repo-setup/tasks/setup_repos.yml deleted file mode 100644 index ca009fc96..000000000 --- a/roles/repo-setup/tasks/setup_repos.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: Setup repos on live host - shell: > - set -o pipefail && - {{ repo_setup_dir }}/{{ repo_setup_script }} 2>&1 {{ timestamper_cmd }} - | tee -a {{ repo_setup_dir }}/{{ repo_setup_log }} - become: true - register: result - changed_when: true diff --git a/roles/repo-setup/tasks/setup_repos_new.yml b/roles/repo-setup/tasks/setup_repos_new.yml deleted file mode 100644 index 4b9a70ab1..000000000 --- a/roles/repo-setup/tasks/setup_repos_new.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -- name: Run commands before repo setup - shell: > - set -o pipefail && - {{ repo_setup_dir }}/{{ repo_cmd_before_setup_script }} 2>&1 {{ timestamper_cmd }} - | tee -a {{ repo_setup_dir }}/{{ repo_setup_log }} - become: true - register: result - changed_when: true - -- name: Setup repos on live host - shell: > - set -o pipefail && - {{ repo_setup_dir }}/{{ repo_setup_new_script }} 2>&1 {{ timestamper_cmd }} - | tee -a {{ repo_setup_dir }}/{{ repo_setup_log }} - become: true - register: result - changed_when: true - -- include_tasks: "{{ item }}" - loop: - - yum-config-generic.yml - - yum-config-compose.yml - when: - - repo_setup_use_collections - -- include_tasks: "{{ item }}" - loop: - - yum-config-generic-no-collections.yml - - yum-config-compose-no-collections.yml - when: - - not repo_setup_use_collections - -- name: Run commands after repo setup - shell: > - set -o pipefail && - {{ repo_setup_dir }}/{{ repo_cmd_after_setup_script }} 2>&1 {{ timestamper_cmd }} - | tee -a {{ repo_setup_dir }}/{{ repo_setup_log }} - become: true - register: result - changed_when: true diff --git a/roles/repo-setup/tasks/tripleo-get-hash-set-fact-no-collections.yml b/roles/repo-setup/tasks/tripleo-get-hash-set-fact-no-collections.yml deleted file mode 100644 index d8c4fa116..000000000 --- a/roles/repo-setup/tasks/tripleo-get-hash-set-fact-no-collections.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- name: 'resolve {{ search_tag }} with tripleo-get-hash python cli via shell' - block: - - name: 'Set facts for tripleo-get-hash parameters' - set_fact: - tgh_release: "{{ dir_release | default(release) }}" - tgh_os_version: "{{ distro_ver }}" - tgh_dlrn_url: "{{ dlrn_baseurl|urlsplit('scheme') }}://{{ dlrn_baseurl|urlsplit('hostname') }}" - - name: 'tripleo-get-hash {{ search_tag }} for {{ tgh_release }} on {{ tgh_os_version }} from {{ tgh_dlrn_url }}' - shell: | - tripleo-get-hash --release {{ tgh_release }} --os-version {{ tgh_os_version }} --tag {{ search_tag }} --dlrn-url {{ tgh_dlrn_url }} - register: tripleo_get_hash_result - until: tripleo_get_hash_result is success - retries: 5 - rescue: - - include_tasks: set_fact_nodepool_rdo_proxy.yml - - name: 'tripleo-get-hash {{ search_tag }} for {{ tgh_release }} on {{ tgh_os_version }} from {{ nodepool_rdo_proxy }}' - shell: | - tripleo-get-hash --release {{ tgh_release }} --os-version {{ tgh_os_version }} --tag {{ search_tag }} --dlrn-url {{ nodepool_rdo_proxy }} - register: tripleo_get_hash_result - until: tripleo_get_hash_result is success - retries: 5 - -- name: find full hash line from tripleo-get-hash stdout_lines - set_fact: - full_hash_line: "{{ item }}" - when: "'full_hash' in item" - with_items: "{{ tripleo_get_hash_result.stdout_lines }}" - -- name: "Set fact {{ fact_name }}->{{ full_hash_line.split(':')[1][1:-1] }}" - set_fact: - "{{ fact_name }}": "{{ full_hash_line.split(':')[1][1:-1] }}" - cacheable: true diff --git a/roles/repo-setup/tasks/tripleo-get-hash-set-fact.yml b/roles/repo-setup/tasks/tripleo-get-hash-set-fact.yml deleted file mode 100644 index bb7fe9a1c..000000000 --- a/roles/repo-setup/tasks/tripleo-get-hash-set-fact.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: 'resolve {{ search_tag }} with tripleo-get-hash' - block: - - name: 'Set facts for tripleo-get-hash parameters' - set_fact: - tgh_release: "{{ dir_release | default(release) }}" - tgh_os_version: "{{ tgh_os_version_override | default(distro_ver) }}" - tgh_dlrn_url: "{{ dlrn_baseurl|urlsplit('scheme') }}://{{ dlrn_baseurl|urlsplit('hostname') }}" - - name: 'tripleo-get-hash {{ search_tag }} for {{ tgh_release }} on {{ tgh_os_version }} from {{ tgh_dlrn_url }}' - tripleo.repos.get_hash: - release: "{{ tgh_release }}" - os_version: "{{ tgh_os_version }}" - tag: "{{ search_tag }}" - dlrn_url: "{{ tgh_dlrn_url }}" - register: tripleo_get_hash_result - until: tripleo_get_hash_result is success - retries: 5 - rescue: - - include_tasks: set_fact_nodepool_rdo_proxy.yml - - name: 'tripleo-get-hash {{ search_tag }} for {{ tgh_release }} on {{ tgh_os_version }} from {{ nodepool_rdo_proxy }}' - tripleo.repos.get_hash: - release: "{{ tgh_release }}" - os_version: "{{ tgh_os_version }}" - tag: "{{ search_tag }}" - dlrn_url: "{{ nodepool_rdo_proxy }}" - register: tripleo_get_hash_result - until: tripleo_get_hash_result is success - retries: 5 -- name: "Set fact {{ fact_name }}->{{ tripleo_get_hash_result['full_hash'] }}" - set_fact: - "{{ fact_name }}": "{{ tripleo_get_hash_result['full_hash'] }}" - cacheable: true diff --git a/roles/repo-setup/tasks/yum-config-compose-no-collections.yml b/roles/repo-setup/tasks/yum-config-compose-no-collections.yml deleted file mode 100644 index 4ede95f1d..000000000 --- a/roles/repo-setup/tasks/yum-config-compose-no-collections.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -- name: Configure 'compose' repos using yum-config cli tool - become: true - shell: > - export PATH=$PATH:/usr/local/bin && \ - tripleo-yum-config enable-compose-repos \ - --compose-url {{ item.compose_url|quote }} \ - --release {{ item.release|quote }} \ - {% if item.variants is defined -%} - --variants {{ item.variants|join(' ') }} \ - {% endif -%} - {% if item.disable_conflicting is defined -%} - --disable-all-conflicting \ - {% endif -%} - {% if item.arch is defined -%} - --arch {{ item.arch|quote }} \ - {% endif -%} - {% if item.disable_repos is defined -%} - --disable-repos {{ item.disable_repos|join(' ') }} \ - {%- endif -%} - with_items: "{{ repos + add_repos + job.add_repos|default([]) }}" - when: - - item.type == 'compose_repos' diff --git a/roles/repo-setup/tasks/yum-config-compose.yml b/roles/repo-setup/tasks/yum-config-compose.yml deleted file mode 100644 index 10d1707d0..000000000 --- a/roles/repo-setup/tasks/yum-config-compose.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: Configure 'compose' repos using yum-config module - become: true - tripleo.repos.yum_config: - type: enable-compose-repos - compose_url: "{{ item.compose_url }}" - centos_release: "{{ item.release }}" - variants: "{{ item.variants|default(omit) }}" - disable_conflicting_variants: "{{ item.disable_conflicting|default(false) }}" - arch: "{{ item.arch|default(omit) }}" - disable_repos: "{{ item.disable_repos|default(omit) }}" - with_items: "{{ repos + add_repos + job.add_repos|default([]) }}" - when: - - item.type == 'compose_repos' diff --git a/roles/repo-setup/tasks/yum-config-generic-no-collections.yml b/roles/repo-setup/tasks/yum-config-generic-no-collections.yml deleted file mode 100644 index df9f59393..000000000 --- a/roles/repo-setup/tasks/yum-config-generic-no-collections.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -- name: Define options that are optional in set-opts - set_fact: - optional_set_opts: - - baseurl - - priority - - mirrorlist - - module_hotfixes - - includepkgs - - exclude - - sslverify - -- name: Configure 'generic' repos using yum-config module - become: true - shell: > - export PATH=$PATH:/usr/local/bin && \ - source {{ repo_setup_env_filepath }} && \ - tripleo-yum-config repo \ - --name {{ item.reponame }} \ - --config-file-path "/etc/yum.repos.d/{{ item.filename }}" \ - {% if item.enabled is defined and not item.enabled|bool -%} - --disable \ - {% else -%} - --enable \ - {% endif -%} - --set-opts \ - {% for key,value in item.items() -%} - {%- if key in optional_set_opts -%} - {%- if value|type_debug == "list" -%} - {{ key }}={{ value|join(',') }} \ - {% else -%} - {{ key }}={{ value }} \ - {% endif -%} - {%- endif -%} - {%- endfor -%} - gpgcheck={{ item.gpgcheck|default(0) }} - with_items: "{{ repos + add_repos + job.add_repos|default([]) }}" - when: - - item.type == 'generic' diff --git a/roles/repo-setup/tasks/yum-config-generic.yml b/roles/repo-setup/tasks/yum-config-generic.yml deleted file mode 100644 index a1e37d3d9..000000000 --- a/roles/repo-setup/tasks/yum-config-generic.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -- name: Configure 'generic' repos using yum-config module - become: true - tripleo.repos.yum_config: - type: repo - name: "{{ item.reponame }}" - enabled: "{{ item.enabled|default('true') }}" - environment_file: "{{ repo_setup_env_filepath }}" - file_path: "/etc/yum.repos.d/{{ item.filename }}" - set_options: - baseurl: "{{ item.baseurl|default(omit) }}" - priority: "{{ item.priority|default(omit) }}" - gpgcheck: "{{ item.gpgcheck|default('0') }}" - mirrorlist: "{{ item.mirrorlist|default(omit) }}" - module_hotfixes: "{{ item.module_hotfixes|default(omit) }}" - includepkgs: "{{ item.includepkgs|default(omit) }}" - exclude: "{{ item.exclude|default(omit) }}" - sslverify: "{{ item.sslverify|default(omit) }}" - with_items: "{{ repos + add_repos + job.add_repos|default([]) }}" - when: - - item.type == 'generic' diff --git a/roles/repo-setup/templates/repo_cmd_after_setup.sh.j2 b/roles/repo-setup/templates/repo_cmd_after_setup.sh.j2 deleted file mode 100644 index 98468c800..000000000 --- a/roles/repo-setup/templates/repo_cmd_after_setup.sh.j2 +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -set -eux - -### --start_docs - -## * Source user rc file to get previous environment variables -## :: - -if [ -f {{ repo_setup_env_filepath }} ]; then - source {{ repo_setup_env_filepath }} -fi - -## * Execute commands after repositories setup -## :: - -{{ repo_cmd_after|default('') }} -{{ dep_repo_cmd_after|default('') }} - -### --stop_docs diff --git a/roles/repo-setup/templates/repo_cmd_before_setup.sh.j2 b/roles/repo-setup/templates/repo_cmd_before_setup.sh.j2 deleted file mode 100644 index 22049cc9c..000000000 --- a/roles/repo-setup/templates/repo_cmd_before_setup.sh.j2 +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash -set -eux - -### --start_docs - -## Setup repositories for the job -## ============================== - -## Prepare Your Environment -## ------------------------ - -## * Execute commands before repositories setup -## :: - -{{ repo_cmd_before|default('') }} -{{ dep_repo_cmd_before|default('') }} - -# Make temp dir for files -sudo rm -rf /tmp/repo_role_tmp && mkdir -p /tmp/repo_role_tmp - -### --stop_docs diff --git a/roles/repo-setup/templates/repo_setup.sh.j2 b/roles/repo-setup/templates/repo_setup.sh.j2 deleted file mode 100644 index 9dc7a2320..000000000 --- a/roles/repo-setup/templates/repo_setup.sh.j2 +++ /dev/null @@ -1,148 +0,0 @@ -#!/bin/bash -set -eux - -### --start_docs -## Setup repositories for the job -## ============================== - -## Prepare Your Environment -## ------------------------ - -## * Execute commands before repositories setup -## :: - -{{ repo_cmd_before|default('') }} -{{ dep_repo_cmd_before|default('') }} - -# Make temp dir for files -sudo rm -rf /tmp/repo_role_tmp && mkdir -p /tmp/repo_role_tmp - -## * Prepare repositories -## :: - -# Repos can be defined in repos, add_repos (used mostly in -# featuresets and in the job itself - -# creating the following repos -{% for repo in repos + add_repos + job.add_repos|default([]) %} -{% if repo.reponame is defined %} -# repo = {{ repo.reponame }} -{% else %} -# repo.reponame is not defined -{% endif %} -{% endfor %} - -{% for repo in repos + add_repos + job.add_repos|default([]) %} -{% if repo.releases is not defined or release in repo.releases %} - -{% if repo.type == 'file' %} - -## * Download and use file from {{ repo.down_url }} -## :: -{% if minor_update|default(false)|bool %} -{% if job.consumer_job | default(false) | bool and promote_source == 'current' %} -## Set only for upstream jobs where content provider job is used and in minor_update in update job -export DLRN_PATH_TAG=${DLRN_PATH_TAG_NEWEST} -{% endif %} -## Set only for downstream job where we use use pre-created images and tag defined in promote_target -{% if override_docker_image_tag | default(false) | bool %} -export DLRN_PATH_TAG={{ promote_target }} -{% endif %} -{% endif %} - -curl -Lvo /tmp/repo_role_tmp/{{ repo.filename }} {{ repo.down_url }} -{% if repo.priority is defined and repo.priority %} - -## * Change its priority to {{ repo.priority }} -## :: - -if ! grep -q "priority" /tmp/repo_role_tmp/{{ repo.filename }}; then - sed -i "s/\(baseurl=.*\)/\1\npriority={{ repo.priority }}/g" /tmp/repo_role_tmp/{{ repo.filename }} -else - sed -i "s/priority=.*/priority={{ repo.priority }}/g" /tmp/repo_role_tmp/{{ repo.filename }} -fi -{% endif %} -{% if repo.reponame is defined %} -sed -i "s/\[.*\]/[{{ repo.reponame }}]/" /tmp/repo_role_tmp/{{ repo.filename }} -{% endif %} -{% if repo.includepkgs is defined %} -echo -e '\nincludepkgs={{ repo.includepkgs|join(",") }}' >> /tmp/repo_role_tmp/{{ repo.filename }} -{% endif %} -sudo cp -f /tmp/repo_role_tmp/{{ repo.filename }} /etc/yum.repos.d/ -{% endif %} - -{% if repo.type == 'generic' %} - -## * Construct repo file from arguments -## :: - -{% if repo.hash_url is defined %} -HASH=$(curl {{ repo.hash_url }} 2>/dev/null | grep baseurl | grep -Eo '[^/]*/[^/]*/[^/]*_.*' ||:) -{% endif %} -cat</tmp/repo_role_tmp/{{ repo.filename }} -[{{ repo.reponame }}] -name={{ repo.reponame }} -{% if repo.baseurl is defined %}baseurl={{ repo.baseurl }} -{% endif %} -{% if repo.mirrorlist is defined %}mirrorlist={{ repo.mirrorlist }} -{% endif %} -gpgcheck={{ repo.gpgcheck|default('0') }} -enabled={{ repo.enabled|default('1') }} -{% if repo.priority is defined %}priority={{ repo.priority }} -{% endif %} -{% if repo.module_hotfixes is defined %} -module_hotfixes={{ repo.module_hotfixes|default('0') }} -{% endif %} -{% if repo.exclude is defined %}exclude={{ repo.exclude|join(",") }} -{% endif %} -{% if repo.includepkgs is defined %}includepkgs={{ repo.includepkgs|join(",") }} -{% endif %} -{% if repo.down_url is defined %}# trunk_hash=${HASH:-} -{% endif %} -{% if repo.sslverify is defined %} -sslverify={{ repo.sslverify|default('1') }} -{% endif %} -EOF -sudo cp -f /tmp/repo_role_tmp/{{ repo.filename }} /etc/yum.repos.d/ -{% endif %} - -{% if repo.type == 'package' %} - -## * Install repo from package {{ repo.pkg_name|default(repo.pkg_url) }} -## :: - -{% if repo.custom_cmd is defined %} -{{ repo.custom_cmd }} {{ repo.pkg_name|default(repo.pkg_url) }} -{% else %} -sudo {{ ansible_pkg_mgr }} install -y {{ repo.pkg_name|default(repo.pkg_url) }} -{% endif %} - -{% endif %} - -{% endif %} -{% endfor %} - -{% if use_rhsm|bool %} - -## * Install repo from rhsm subscription manager -## :: - -subscription-manager register --username {{ rhsm_username | quote }} --password {{ rhsm_password | quote }} -subscription-manager attach --pool={{ pool_id }} -subscription-manager repos --disable=* - -{% for repo in rhsm_repos %} - -subscription-manager repos --enable={{ repo.name }} - -{% endfor %} -{% endif %} - - -## * Execute commands after repositories setup -## :: - -{{ repo_cmd_after|default('') }} -{{ dep_repo_cmd_after|default('') }} - -### --stop_docs diff --git a/roles/repo-setup/templates/repo_setup_new.sh.j2 b/roles/repo-setup/templates/repo_setup_new.sh.j2 deleted file mode 100644 index 858bf48a7..000000000 --- a/roles/repo-setup/templates/repo_setup_new.sh.j2 +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash -set -eux - -### --start_docs - -## * Loading environment file to get previous defined variables -## :: - -if [ -f {{ repo_setup_env_filepath }} ]; then - source {{ repo_setup_env_filepath }} -fi - -## * Prepare repositories -## :: - -# Repos can be defined in repos, add_repos (used mostly in -# featuresets and in the job itself - -# creating the following repos -{% for repo in repos + add_repos + job.add_repos|default([]) %} -{% if repo.reponame is defined %} -# repo = {{ repo.reponame }} -{% else %} -# repo.reponame is not defined -{% endif %} -{% endfor %} - -{% for repo in repos + add_repos + job.add_repos|default([]) %} -{% if repo.releases is not defined or release in repo.releases %} - -{% if repo.type == 'file' %} - -## * Download and use file from {{ repo.down_url }} -## :: - -curl -Lvo /tmp/repo_role_tmp/{{ repo.filename }} {{ repo.down_url }} -{% if repo.priority is defined and repo.priority %} - -## * Change its priority to {{ repo.priority }} -## :: - -if ! grep -q "priority" /tmp/repo_role_tmp/{{ repo.filename }}; then - sed -i "s/\(baseurl=.*\)/\1\npriority={{ repo.priority }}/g" /tmp/repo_role_tmp/{{ repo.filename }} -else - sed -i "s/priority=.*/priority={{ repo.priority }}/g" /tmp/repo_role_tmp/{{ repo.filename }} -fi -{% endif %} -{% if repo.reponame is defined %} -sed -i "s/\[.*\]/[{{ repo.reponame }}]/" /tmp/repo_role_tmp/{{ repo.filename }} -{% endif %} -{% if repo.includepkgs is defined %} -echo -e '\nincludepkgs={{ repo.includepkgs|join(",") }}' >> /tmp/repo_role_tmp/{{ repo.filename }} -{% endif %} -sudo cp -f /tmp/repo_role_tmp/{{ repo.filename }} /etc/yum.repos.d/ -{% endif %} - -{% if repo.type == 'package' %} - -## * Install repo from package {{ repo.pkg_name|default(repo.pkg_url) }} -## :: - -{% if repo.custom_cmd is defined %} -{{ repo.custom_cmd }} {{ repo.pkg_name|default(repo.pkg_url) }} -{% else %} -sudo {{ ansible_pkg_mgr }} install -y {{ repo.pkg_name|default(repo.pkg_url) }} -{% endif %} - -{% endif %} - -{% endif %} -{% endfor %} - -{% if use_rhsm|bool %} - -## * Install repo from rhsm subscription manager -## :: - -subscription-manager register --username {{ rhsm_username | quote }} --password {{ rhsm_password | quote }} -subscription-manager attach --pool={{ pool_id }} -subscription-manager repos --disable=* - -{% for repo in rhsm_repos %} - -subscription-manager repos --enable={{ repo.name }} - -{% endfor %} -{% endif %} - -### --stop_docs diff --git a/roles/tripleo-inventory/README.md b/roles/tripleo-inventory/README.md deleted file mode 100644 index 7d06a7138..000000000 --- a/roles/tripleo-inventory/README.md +++ /dev/null @@ -1,33 +0,0 @@ -# Configure a static inventory and SSH config to access nodes - -The `tripleo-inventory` role generates a static inventory and SSH config, -based on a deployment mode and a type of undercloud. - -## Openstack inventory - -When cluster nodes are pre-provisioned and hosted on an OpenStack host cloud, -use the `inventory: openstack` mode. Fetched data from the dynamic -`shade-inventory` will be filtered by the `clusterid`, if defined, and -by node types, like overcloud/undercloud/bastion. Then the filtered data is -stored into the static inventory and SSH config is generated to access -overcloud nodes via a bastion, which is the undercloud node as well. - -The following variables should be customized to match the host OpenStack cloud -configuration: - -* `clusterid`: -- an optional Nova servers' metadata parameter to identify - your environment VMs. -* `openstack_private_network_name`:<'private'> -- defines a private network - name used as an admin/control network. Ansible and SSH users will use that - network when connecting to the inventory nodes via the undercloud/bastion. -* `os_username`: -- credentials to connect the OpenStack cloud hosting - your pre-provisioned Nova servers. -* `os_password`: -- credentials to connect the host OpenStack cloud. -* `os_project_name`: -- The project name for use with the OpenStack Cloud (Identity API v3). -* `os_tenant_name`: -- The tenant name for use with the OpenStack Cloud (Identity API v2). -* `os_auth_url`: -- The authentication url for the OpenStack cloud. -* `cloud_name`: -- The name of the cloud for the os-cloud-config configuration file. -* `os_identity_api_version`: -- Identity API version to use when accessing the OpenStack cloud. -* `os_region_name`: -- Region name to be used when accessing the OpenStack cloud. - -TODO(bogdando) document remaining modes 'all', 'undercloud'. diff --git a/roles/tripleo-inventory/defaults/main.yml b/roles/tripleo-inventory/defaults/main.yml deleted file mode 100644 index 94b594cb4..000000000 --- a/roles/tripleo-inventory/defaults/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -# SSH key used to access the undercloud/overcloud machines. -undercloud_key: "{{ local_working_dir }}/id_rsa_undercloud" -overcloud_key: "{{ local_working_dir }}/id_rsa_overcloud" -extra_node_key: ~/extranode-id_rsa -# Default to 'undercloud' if the overcloud has not been deployed yet, or 'all' -# in case we want to inventory all the hosts. For OpenStack provider case, -# use the 'openstack' value. -inventory: undercloud -# Type of undercloud. -undercloud_type: virtual -# Admin/control network name for the openstack inventory provider -openstack_private_network_name: private -# Limit number of subnodes to add to overcloud group, 1000 is actual no limit -subnodes_limit: "{{ job.subnodes_limit | default(1000) }}" diff --git a/roles/tripleo-inventory/files/get_extra_node.py b/roles/tripleo-inventory/files/get_extra_node.py deleted file mode 100644 index a38945bc8..000000000 --- a/roles/tripleo-inventory/files/get_extra_node.py +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env python - -# 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. -import json -import sys - -data = json.load(open(sys.argv[1] + '/instackenv.json')) - - -for node_name, node_networks in data['network_details'].items(): - if 'extra' in node_name: - for net_name, ip_data in node_networks['ips'].items(): - if 'private' in net_name: - print(ip_data[0]['addr'].strip()) - sys.exit(0) diff --git a/roles/tripleo-inventory/files/remove_extra_node.py b/roles/tripleo-inventory/files/remove_extra_node.py deleted file mode 100644 index 5999ea43d..000000000 --- a/roles/tripleo-inventory/files/remove_extra_node.py +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env python -# Copyright 2019 Red Hat Inc. -# -# 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. - -import json -import sys - -with open(sys.argv[1] + "/instackenv.json") as f: - j = json.load(f) -with open(sys.argv[1] + "/instackenv.original.json", "w") as f: - json.dump(j, f, sort_keys=True, indent=4, separators=(',', ': ')) -for k in list(j): - for el in list(j[k]): - if 'extra' in el: - j[k].pop(el) - elif (isinstance(el, dict) and 'extra' in el.get('name')): - j[k].remove(el) -with open(sys.argv[1] + "/instackenv.json", "w") as f: - json.dump(j, f, sort_keys=True, indent=4, separators=(',', ': ')) diff --git a/roles/tripleo-inventory/meta/main.yml b/roles/tripleo-inventory/meta/main.yml deleted file mode 100644 index bb99a76e8..000000000 --- a/roles/tripleo-inventory/meta/main.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -# Include the `common` role as a dependency. -dependencies: - - {role: common} -galaxy_info: - author: Red Hat, Inc. - license: Apache - description: libvirt setup supplemental - platforms: - - name: CentOS - versions: - - 7 - min_ansible_version: 2.4 diff --git a/roles/tripleo-inventory/tasks/inventory.yml b/roles/tripleo-inventory/tasks/inventory.yml deleted file mode 100644 index 4db7d38e5..000000000 --- a/roles/tripleo-inventory/tasks/inventory.yml +++ /dev/null @@ -1,213 +0,0 @@ ---- -- when: inventory == 'all' - block: - # required for liberty based deployments - - name: copy get-overcloud-nodes.py to undercloud - template: - src: 'get-overcloud-nodes.py.j2' - dest: '{{ working_dir }}/get-overcloud-nodes.py' - mode: 0755 - - # required for liberty based deployments - - name: fetch overcloud node names and IPs - shell: > - source {{ working_dir }}/stackrc; - {%- if ansible_distribution_major_version|int == 7 -%} - python2 {{ working_dir }}/get-overcloud-nodes.py - {% else %} - $(command -v python3 || command -v python2) {{ working_dir }}/get-overcloud-nodes.py - {% endif %} - register: registered_overcloud_nodes - - - name: list the overcloud nodes - debug: var=registered_overcloud_nodes.stdout - - - name: fetch the undercloud ssh key - fetch: - src: '{{ working_dir }}/.ssh/id_rsa' - dest: '{{ overcloud_key }}' - flat: true - mode: 0400 - - # add host to the ansible group formed from its type - # novacompute nodes are added as compute for backwards compatibility - - name: add overcloud node to ansible - with_dict: '{{ registered_overcloud_nodes.stdout | default({}) }}' - add_host: - name: '{{ item.key }}' - groups: "overcloud,{{ item.key | regex_replace('overcloud-(?:nova)?([a-zA-Z0-9_]+)-[0-9]+$', '\\1') }}" - ansible_host: '{{ item.key }}' - inventory_ip: '{{ item.value }}' - ansible_user: "{{ overcloud_user | default('tripleo-admin') }}" - ansible_private_key_file: "{{ overcloud_key }}" - ansible_ssh_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"' - -- when: inventory in ['multinode', 'multinode_mixed_os'] - block: - - name: Get subnodes - command: cat /etc/nodepool/sub_nodes_private - register: nodes - - - name: Add subnode to ansible inventory - with_indexed_items: '{{ nodes.stdout_lines[:(subnodes_limit|int)] | default([]) }}' - add_host: - name: 'subnode-{{ item.0 + 1 }}' - groups: "overcloud" - ansible_host: '{{ item.1 }}' - inventory_ip: '{{ item.1 }}' - ansible_user: "{{ lookup('env','USER') }}" - ansible_private_key_file: "/etc/nodepool/id_rsa" - -- when: inventory == 'multinode_mixed_os' - block: - - - name: Add overcloud_control group to ansible inventory - with_indexed_items: '{{ nodes.stdout_lines[0] | default([]) }}' - add_host: - name: 'subnode-1' - groups: "overcloud_control" - ansible_host: '{{ item.1 }}' - inventory_ip: '{{ item.1 }}' - ansible_user: "{{ lookup('env','USER') }}" - ansible_private_key_file: "/etc/nodepool/id_rsa" - - - name: Add overcloud_compute group to ansible inventory - with_indexed_items: '{{ nodes.stdout_lines[1] | default([]) }}' - add_host: - name: 'subnode-2' - groups: "overcloud_compute" - ansible_host: '{{ item.1 }}' - inventory_ip: '{{ item.1 }}' - ansible_user: "{{ lookup('env','USER') }}" - ansible_private_key_file: "/etc/nodepool/id_rsa" - -# required for regeneration of ssh.config.ansible -- name: set_fact for undercloud ip - set_fact: - undercloud_ip: "{{ hostvars['undercloud'].undercloud_ip }}" - cacheable: true - when: hostvars['undercloud'] is defined and hostvars['undercloud'].undercloud_ip is defined - -- name: set_fact for virthost - set_fact: - virthost_with_private_key: "{{ 'virthost' in groups and groups['virthost']|length>0 and hostvars[groups['virthost'][0]].ansible_private_key_file is defined }}" - -- when: inventory == 'extra_node' - block: - - - name: Set fact for python executable to use for python scripts - set_fact: - python_exe: "python{{ ansible_python['version']['major'] }}" - - - name: Get IP of extra node in OVB stack - script: get_extra_node.py {{ working_dir }} - register: node_ip - args: - executable: "{{ python_exe }}" - - - name: Set fact for private supplemental ip - set_fact: - supplemental_node_ip_private: "{{ node_ip.stdout|replace('\n', '')|replace('\r', '')|trim }}" - cacheable: true - when: node_ip.stdout - - - name: Add supplemental node vm to inventory - add_host: - name: supplemental - groups: supplemental - ansible_host: supplemental - ansible_fqdn: supplemental - ansible_user: '{{ supplemental_user }}' - ansible_private_key_file: '{{ extra_node_key }}' - ansible_ssh_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"' - supplemental_node_ip: "{{ supplemental_node_ip }}" - when: supplemental_node_ip_private is defined - - - name: Remove extra node - script: remove_extra_node.py {{ working_dir }} - args: - executable: "{{ python_exe }}" - -# readd the undercloud to reset the ansible_ssh parameters set in quickstart -- name: Add undercloud vm to inventory - add_host: - name: undercloud - ansible_host: '{{ undercloud_ip }}' - ansible_fqdn: undercloud - ansible_user: '{{ undercloud_user }}' - ansible_private_key_file: '{{ undercloud_key }}' - ansible_ssh_extra_args: '-F "{{ local_working_dir }}/ssh.config.local.ansible"' - undercloud_ip: "{{ undercloud_ip }}" - when: not virthost_with_private_key and undercloud_ip is defined - -# required for regeneration of ssh.config.ansible -- name: set undercloud ssh proxy command - set_fact: - undercloud_ssh_proxy_command: "ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no - -o ConnectTimeout=60 -i {{ hostvars[groups['virthost'][0]].ansible_private_key_file }} - {{ ssh_user }}@{{ hostvars[groups['virthost'][0]].ansible_host }} - -W {{ undercloud_ip }}:22" - cacheable: true - when: virthost_with_private_key and undercloud_ip is defined - -# required for regeneration of ssh.config.ansible -- name: set undercloud ssh proxy command - set_fact: - undercloud_ssh_proxy_command: "ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no - -o ConnectTimeout=60 -i {{ local_working_dir }}/id_rsa_virt_power - {{ ssh_user }}@{{ hostvars['localhost'].ansible_default_ipv4.address }} - -W {{ undercloud_ip }}:22" - cacheable: true - when: not virthost_with_private_key and undercloud_ip is defined - -- name: set supplemental ssh proxy command - set_fact: - supplemental_ssh_proxy_command: "ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no - -o ConnectTimeout=60 -i {{ local_working_dir }}/id_rsa_virt_power - {{ ssh_user }}@{{ hostvars[groups['virthost'][0]].ansible_host }} - -W {{ supplemental_node_ip }}:22" - cacheable: true - when: supplemental_node_ip is defined - -- name: create inventory from template - delegate_to: localhost - template: - src: 'inventory.j2' - dest: '{{ local_working_dir }}/hosts' - -- name: regenerate ssh config - delegate_to: localhost - template: - src: 'ssh_config.j2' - dest: '{{ local_working_dir }}/ssh.config.ansible' - mode: 0644 - when: undercloud_ip is defined - -- name: regenerate ssh config for ssh connections from the virthost - delegate_to: localhost - template: - src: 'ssh_config_localhost.j2' - dest: '{{ local_working_dir }}/ssh.config.local.ansible' - mode: 0644 - when: undercloud_ip is defined - -# just setup the ssh.config.ansible and hosts file for the virthost -- name: check for existence of identity key - delegate_to: localhost - stat: path="{{ local_working_dir }}/id_rsa_virt_power" - when: undercloud_ip is not defined - register: result_stat_id_rsa_virt_power - -- name: set fact used in ssh_config_no_undercloud.j2 to determine if IdentityFile should be included - set_fact: - id_rsa_virt_power_exists: true - cacheable: true - when: undercloud_ip is not defined and result_stat_id_rsa_virt_power.stat.exists - -- name: regenerate ssh config, if no undercloud has been launched. - delegate_to: localhost - template: - src: 'ssh_config_no_undercloud.j2' - dest: '{{ local_working_dir }}/ssh.config.ansible' - mode: 0644 - when: undercloud_ip is not defined diff --git a/roles/tripleo-inventory/tasks/main.yml b/roles/tripleo-inventory/tasks/main.yml deleted file mode 100644 index 6e50ab66d..000000000 --- a/roles/tripleo-inventory/tasks/main.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: Ensure gather_facts has been run against localhost - setup: - filter: "*" - delegate_to: localhost - delegate_facts: true - when: hostvars['localhost'].ansible_user_dir is not defined - -- include_tasks: inventory.yml - when: inventory in ['multinode', 'all', 'undercloud', 'extra_node', 'multinode_mixed_os'] - -- include_tasks: openstack.yml - when: inventory == 'openstack' diff --git a/roles/tripleo-inventory/tasks/openstack.yml b/roles/tripleo-inventory/tasks/openstack.yml deleted file mode 100644 index 60ae45010..000000000 --- a/roles/tripleo-inventory/tasks/openstack.yml +++ /dev/null @@ -1,103 +0,0 @@ ---- -- name: Cloud access credentials and URL - assert: - that: - - os_username is defined - - os_password is defined - - os_tenant_name is defined or os_project_name is defined - - os_auth_url is defined - - cloud_name is defined - -- name: copy clouds.yaml file - template: - src: clouds.yaml.j2 - dest: "{{ local_working_dir }}/clouds.yaml" - mode: 0400 - -- name: fetch all nodes from openstack shade dynamic inventory - command: shade-inventory --list - args: - chdir: '{{ local_working_dir }}' - register: registered_nodes_output - no_log: true - changed_when: false - -- name: set_fact for filtered openstack inventory nodes by types - set_fact: - registered_overcloud_nodes: "{{ (registered_nodes_output.stdout | from_json) | json_query(jq_overcloud) }}" - registered_undercloud_nodes: "{{ (registered_nodes_output.stdout | from_json) | json_query(jq_undercloud) }}" - cacheable: true - vars: - jq_overcloud: "[] | [?contains(name, 'overcloud')]" - jq_undercloud: "[] | [?contains(name, 'undercloud')]" - -- name: set_fact for all filtered openstack inventory nodes by cluster id - when: clusterid is defined - set_fact: - registered_nodes: "{{ (registered_nodes_output.stdout | from_json) | json_query(jq_cluster) }}" - cacheable: true - vars: - jq_cluster: "[?metadata.clusterid] | [?metadata.clusterid=='{{ clusterid }}']" - -- name: set_fact for all filtered openstack inventory nodes - when: not clusterid is defined - set_fact: - registered_nodes: "{{ registered_overcloud_nodes|union(registered_undercloud_nodes) }}" - cacheable: true - -- name: Add overcloud nodes to inventory, accessed via undercloud/bastion - with_items: "{{ registered_overcloud_nodes|intersect(registered_nodes) }}" - add_host: - name: '{{ item.name }}' - groups: >- - {{ item.metadata.group|default('overcloud') }}, - {{ item.name|regex_replace('overcloud-(?:nova)?([a-zA-Z0-9_]+)-[0-9]+$', '\\1') }} - ansible_host: '{{ item.name }}' - ansible_fqdn: '{{ item.name }}' - ansible_user: "{{ overcloud_user | default('tripleo-admin') }}" - ansible_private_key_file: "{{ overcloud_key }}" - ansible_ssh_extra_args: "-F {{ local_working_dir }}/ssh.config.ansible" - private_v4: >- - {% set node = registered_nodes | json_query("[?name=='" + item.name + "']") -%} - {{ node[0].addresses[openstack_private_network_name|quote][0].addr }} - -- name: Add undercloud node to inventory, accessed via floating IP - with_items: "{{ registered_undercloud_nodes|intersect(registered_nodes) }}" - add_host: - name: undercloud - groups: "bastion,{{ item.metadata.group|default('undercloud') }}" - ansible_host: '{{ item.public_v4 }}' - ansible_fqdn: undercloud - ansible_user: '{{ undercloud_user }}' - ansible_private_key_file: '{{ undercloud_key }}' - undercloud_ip: >- - {% set node = registered_nodes | json_query("[?name=='" + item.name + "']") -%} - {{ node[0].addresses[openstack_private_network_name|quote][0].addr }} - -- name: Bastion accessing requirements - assert: - that: - - hostvars['undercloud'] is defined - - hostvars['undercloud'].ansible_host is defined - -- name: set ssh proxy command prefix for accessing nodes via bastion - set_fact: - ssh_proxy_command: "ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no - -o ConnectTimeout=60 -i {{ hostvars['undercloud'].ansible_private_key_file }} - {{ ssh_user }}@{{ hostvars['undercloud'].ansible_host }}" - cacheable: true - -- name: create inventory from template - delegate_to: localhost - template: - src: 'inventory.j2' - dest: '{{ local_working_dir }}/hosts' - run_once: true - -- name: regenerate ssh config - delegate_to: localhost - template: - src: 'openstack_ssh_config.j2' - dest: '{{ local_working_dir }}/ssh.config.ansible' - mode: 0644 - run_once: true diff --git a/roles/tripleo-inventory/templates/clouds.yaml.j2 b/roles/tripleo-inventory/templates/clouds.yaml.j2 deleted file mode 100644 index be63edba0..000000000 --- a/roles/tripleo-inventory/templates/clouds.yaml.j2 +++ /dev/null @@ -1,12 +0,0 @@ -clouds: - {{ cloud_name }}: - auth: - username: {{ os_username }} - password: {{ os_password }} - project_name: {{ os_project_name|default(os_tenant_name) }} - tenant_name: {{ os_tenant_name }} - auth_url: {{ os_auth_url }} - region_name: {{ os_region_name|default('regionOne') }} -{% if os_identity_api_version is defined %} - identity_api_version: {{ os_identity_api_version }} -{% endif %} diff --git a/roles/tripleo-inventory/templates/get-overcloud-nodes.py.j2 b/roles/tripleo-inventory/templates/get-overcloud-nodes.py.j2 deleted file mode 100644 index 04aa97e84..000000000 --- a/roles/tripleo-inventory/templates/get-overcloud-nodes.py.j2 +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/python3 - -# 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. - - -import json -import os - -from distutils.version import LooseVersion -from keystoneauth1.identity import v3 -from keystoneauth1 import session -{% if baremetal_provision|default(false)|bool %} -from metalsmith import Provisioner -{% endif %} -from novaclient import __version__ as nc_version -from novaclient import client -import openstack -from openstack import connection -try: - from urllib.parse import urljoin -except ImportError: - from urlparse import urljoin - -cloud_name = os.environ.get('OS_CLOUD') - -if cloud_name: - conn = openstack.connect(cloud=cloud_name) -else: - auth_url = os.environ["OS_AUTH_URL"] - if os.environ.get("OS_IDENTITY_API_VERSION") == "3": - if 'v3' not in auth_url: - auth_url = urljoin(auth_url, 'v3') - username = os.environ.get("OS_USERNAME") - password = os.environ.get("OS_PASSWORD") - project_name = os.environ.get("OS_TENANT_NAME", - os.environ.get("OS_PROJECT_NAME")) - user_domain_name = os.environ.get("OS_USER_DOMAIN_NAME") - project_domain_name = os.environ.get("OS_PROJECT_DOMAIN_NAME") - - auth = v3.Password(auth_url=auth_url, - username=username, - password=password, - project_name=project_name, - user_domain_name=user_domain_name, - project_domain_name=project_domain_name, - ) - session = session.Session(auth=auth, verify=False) - conn = connection.Connection(session=session) - -{% if baremetal_provision|default(false)|bool %} -provisioner = Provisioner(cloud_region=conn.config) -provisioner.connection = conn -servers_list = provisioner.list_instances() -oc_servers = {server.hostname: server.ip_addresses()['ctlplane'][0] - for server in servers_list - if server.ip_addresses().get('ctlplane')} -{% else %} -nova = client.Client(2, session=session) -oc_servers = {server.name: server.networks['ctlplane'][0] - for server in nova.servers.list() - if server.networks.get('ctlplane')} -{% endif %} -print(json.dumps(oc_servers, indent=4)) diff --git a/roles/tripleo-inventory/templates/inventory.j2 b/roles/tripleo-inventory/templates/inventory.j2 deleted file mode 100644 index 80e0d92f7..000000000 --- a/roles/tripleo-inventory/templates/inventory.j2 +++ /dev/null @@ -1,40 +0,0 @@ -# BEGIN Autogenerated hosts -{% for host in groups['all'] %} -{% if hostvars[host].get('ansible_connection', '') == 'local' %} -{{ host }} ansible_connection=local -{% else %} - -{{ host }}{% if 'ansible_host' in hostvars[host] -%} ansible_host={{ hostvars[host]['ansible_host'] }}{% endif %} -{% if 'private_v4' in hostvars[host] -%} private_v4={{ hostvars[host]['private_v4'] }}{% endif %} -{% if 'public_v4' in hostvars[host] -%} public_v4={{ hostvars[host]['public_v4'] }}{% endif %} -{% if 'ansible_user' in hostvars[host] -%} ansible_user={{ hostvars[host]['ansible_user'] }}{% endif %} -{% if 'ansible_private_key_file' in hostvars[host] -%} ansible_private_key_file={{ hostvars[host]['ansible_private_key_file'] }}{% endif %} -{% if 'undercloud_ip' in hostvars[host] -%} undercloud_ip={{ hostvars[host]['undercloud_ip'] }}{% endif %} -{% if 'ansible_ssh_extra_args' in hostvars[host] -%} ansible_ssh_extra_args={{ hostvars[host]['ansible_ssh_extra_args']|quote }}{% endif %} -{% if 'subnode_public_ip' in hostvars[host] -%} subnode_public_ip={{ hostvars[host]['subnode_public_ip'] }}{% endif %} -{% if 'subnode_private_ip' in hostvars[host] -%} subnode_private_ip={{ hostvars[host]['subnode_private_ip'] }}{% endif %} - -{% endif %} -{% endfor %} -# END autogenerated hosts - -# BEGIN Autogenerated groups -{% for group in groups %} -{% if group not in ['ungrouped', 'all'] and not (groups[group]|length == 1 and groups[group][0] == group) %} -[{{ group }}] -{% for host in groups[group] %} -{{ host }} -{% endfor %} - -{% endif %} -{% endfor %} -# END Autogenerated groups diff --git a/roles/tripleo-inventory/templates/openstack_ssh_config.j2 b/roles/tripleo-inventory/templates/openstack_ssh_config.j2 deleted file mode 100644 index 8976a042b..000000000 --- a/roles/tripleo-inventory/templates/openstack_ssh_config.j2 +++ /dev/null @@ -1,43 +0,0 @@ -Host * - IdentitiesOnly yes - -{% if hostvars[groups['virthost'][0]].ansible_host is defined %} - -Host virthost - Hostname {{ hostvars[groups['virthost'][0]].ansible_host }} - IdentityFile {{ hostvars[groups['virthost'][0]].ansible_private_key_file }} - User {{ ssh_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% else %} - -Host virthost - Hostname {{ hostvars['localhost'].ansible_default_ipv4.address }} - IdentityFile {{ local_working_dir }}/id_rsa_virt_power - User {{ ssh_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% endif %} - -Host undercloud - Hostname {{ hostvars['undercloud'].ansible_host }} - IdentityFile {{ hostvars['undercloud'].ansible_private_key_file }} - User {{ undercloud_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% if groups["overcloud"] is defined %} -{% for host in groups["overcloud"] %} - -Host {{ host }} - Hostname {{ hostvars[host].ansible_host }} - ProxyCommand {{ ssh_proxy_command }} -W {{ hostvars[host].private_v4 }}:22 - IdentityFile {{ hostvars[host].ansible_private_key_file }} - User {{ overcloud_user | default ('tripleo-admin') }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% endfor %} -{% endif %} diff --git a/roles/tripleo-inventory/templates/ssh_config.j2 b/roles/tripleo-inventory/templates/ssh_config.j2 deleted file mode 100644 index b100a563b..000000000 --- a/roles/tripleo-inventory/templates/ssh_config.j2 +++ /dev/null @@ -1,71 +0,0 @@ -Host * - IdentitiesOnly yes - -{% if virthost_with_private_key %} - -Host virthost - Hostname {{ hostvars[groups['virthost'][0]].ansible_host }} - IdentityFile {{ hostvars[groups['virthost'][0]].ansible_private_key_file }} - User {{ ssh_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% else %} - -Host virthost - Hostname {{ hostvars['localhost'].ansible_default_ipv4.address }} - IdentityFile {{ local_working_dir }}/id_rsa_virt_power - User {{ ssh_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% endif %} - -Host undercloud-root -{% if undercloud_type == 'virtual' %} - ProxyCommand {{ undercloud_ssh_proxy_command }} -{% else %} - Hostname {{ undercloud_ip }} -{% endif %} - IdentityFile {{ hostvars['undercloud'].ansible_private_key_file }} - User root - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -Host undercloud -{% if undercloud_type == 'virtual' %} - ProxyCommand {{ undercloud_ssh_proxy_command }} -{% else %} - Hostname {{ undercloud_ip }} -{% endif %} - IdentityFile {{ hostvars['undercloud'].ansible_private_key_file }} - User {{ undercloud_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% if deploy_supplemental_node|bool and (supplemental_node_ip_private is defined or supplemental_node_ip is defined) %} -Host supplemental - Hostname {{ supplemental_node_ip_private|default(supplemental_node_ip) }} -{% if undercloud_type == 'ovb' %} - IdentityFile {{ extra_node_key }} -{% else %} - ProxyCommand {{ supplemental_ssh_proxy_command }} - IdentityFile {{ local_working_dir }}/id_rsa_supplemental -{% endif %} - User {{ supplemental_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null -{% endif %} - -{% if groups["overcloud"] is defined %} -{% for host in groups["overcloud"] %} - -Host {{ host }} - ProxyCommand ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=60 -F {{ local_working_dir }}/ssh.config.ansible undercloud -W {{ hostvars[host].inventory_ip }}:22 - IdentityFile {{ hostvars[host].ansible_private_key_file }} - User {{ overcloud_user | default ('tripleo-admin') }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% endfor %} -{% endif %} diff --git a/roles/tripleo-inventory/templates/ssh_config_localhost.j2 b/roles/tripleo-inventory/templates/ssh_config_localhost.j2 deleted file mode 100644 index 33c0ed319..000000000 --- a/roles/tripleo-inventory/templates/ssh_config_localhost.j2 +++ /dev/null @@ -1,28 +0,0 @@ -Host undercloud-root - Hostname {{ undercloud_ip }} - IdentityFile {{ local_working_dir }}/id_rsa_undercloud - IdentitiesOnly yes - User root - StrictHostKeyChecking no - -Host undercloud - Hostname {{ undercloud_ip }} - IdentityFile {{ local_working_dir }}/id_rsa_undercloud - IdentitiesOnly yes - User {{ undercloud_user }} - StrictHostKeyChecking no - - -{% if groups["overcloud"] is defined %} -{% for host in groups["overcloud"] %} - -Host {{ host }} - Hostname {{ hostvars[host].ansible_host }} - ProxyCommand ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=60 -F {{ local_working_dir }}/ssh.config.local.ansible undercloud -W {{ hostvars[host].inventory_ip }}:22 - IdentityFile {{ local_working_dir }}/id_rsa_overcloud - User {{ overcloud_user | default('tripleo-admin') }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% endfor %} -{% endif %} diff --git a/roles/tripleo-inventory/templates/ssh_config_no_undercloud.j2 b/roles/tripleo-inventory/templates/ssh_config_no_undercloud.j2 deleted file mode 100644 index 31e4d7556..000000000 --- a/roles/tripleo-inventory/templates/ssh_config_no_undercloud.j2 +++ /dev/null @@ -1,23 +0,0 @@ -{% if groups.virthost is defined and hostvars[groups['virthost'][0]].ansible_host is defined %} - -Host virthost - Hostname {{ hostvars[groups['virthost'][0]].ansible_host }} -{% if hostvars[groups['virthost'][0]].ansible_private_key_file is defined %} - IdentityFile {{ hostvars[groups['virthost'][0]].ansible_private_key_file }} -{% endif %} - User {{ ssh_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% else %} - -Host virthost - Hostname {{ hostvars['localhost'].ansible_default_ipv4.address }} -{% if id_rsa_virt_power_exists is defined %} - IdentityFile {{ local_working_dir }}/id_rsa_virt_power -{% endif %} - User {{ ssh_user }} - StrictHostKeyChecking no - UserKnownHostsFile=/dev/null - -{% endif %} diff --git a/roles/tripleo-inventory/tests/inventory b/roles/tripleo-inventory/tests/inventory deleted file mode 100644 index 2fbb50c4a..000000000 --- a/roles/tripleo-inventory/tests/inventory +++ /dev/null @@ -1 +0,0 @@ -localhost diff --git a/roles/tripleo-inventory/tests/test.yml b/roles/tripleo-inventory/tests/test.yml deleted file mode 100644 index 96a2e2438..000000000 --- a/roles/tripleo-inventory/tests/test.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- hosts: localhost - remote_user: root - roles: - - tripleo-inventory diff --git a/roles/tripleo/undercloud/tasks/main.yml b/roles/tripleo/undercloud/tasks/main.yml deleted file mode 100644 index 72dc9886f..000000000 --- a/roles/tripleo/undercloud/tasks/main.yml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- name: deprecation message - vars: - deprecation_warning_msg: | - WARNING: This role is deprecated for removal since Ocata. - Reason: The tripleo/undercloud role is now deprecated, has moved - into the tripleo-quickstart-extras repository, and been renamed - to undercloud-deploy. The tripleo/undercloud role will be removed in - the Queens release. Please revise your playbooks to use the new role - location and name. - - debug: - msg: "{{ deprecation_warning_msg.split('\n') }}" - -- name: include the tripleo-quickstart-extras undercloud-deploy - include_role: - name: undercloud-deploy diff --git a/roles/virtbmc/defaults/main.yml b/roles/virtbmc/defaults/main.yml deleted file mode 100644 index 0cbdc99b8..000000000 --- a/roles/virtbmc/defaults/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -# Use the vbmc -# moved to common -# enable_vbmc: true diff --git a/roles/virtbmc/meta/main.yml b/roles/virtbmc/meta/main.yml deleted file mode 100644 index 7b161fec9..000000000 --- a/roles/virtbmc/meta/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -dependencies: - - common - - environment diff --git a/roles/virtbmc/tasks/configure-vbmc.yml b/roles/virtbmc/tasks/configure-vbmc.yml deleted file mode 100644 index 5fc1675ec..000000000 --- a/roles/virtbmc/tasks/configure-vbmc.yml +++ /dev/null @@ -1,131 +0,0 @@ ---- -- name: Create VirtualBMC directories - when: release not in ['newton'] - file: - path: "{{ item }}" - state: directory - mode: 0750 - owner: root - group: root - with_items: - - "/etc/virtualbmc" - - "/var/log/virtualbmc" - become: true - -- name: Create VirtualBMC configuration file - when: release not in ['newton'] - copy: - mode: 0750 - dest: "/etc/virtualbmc/virtualbmc.conf" - content: | - [default] - config_dir=/root/.vbmc - [log] - logfile=/var/log/virtualbmc/virtualbmc.log - debug=True - [ipmi] - session_timout=20 - become: true - -# when running with 127.0.0.2 as -# the virthost ensure -- name: get the non_root_user_uuid - block: - - name: get virthost non_root_user userid - command: id -u {{ non_root_user }} - register: non_root_user_uid - delegate_to: virthost - changed_when: false - - name: set fact on non_root_user_uid - set_fact: - non_root_user_uid: "{{ non_root_user_uid.stdout }}" - rescue: - # set in roles/provision/local - - name: set fact on non_root_user_uid - set_fact: - non_root_user_uid: "{{ hostvars['localhost']['non_root_user_uid'] }}" - -# The first network defined with an address will be used for vbmc access. -- name: set vbmc address if there is a (nat) network defined with an address - set_fact: - vbmc_address: "{{ networks|selectattr('address', 'defined')|map(attribute='address')|list|first }}" - when: networks|selectattr('address', 'defined')|map(attribute='name')|list|length > 0 - -# If there is no nat network with an address, the undercloud will be -# connected to the default libvirt network to fill this role. -- name: set vbmc address fact for default libvirt network - set_fact: - vbmc_address: "{{ libvirt_default_network_address }}" - when: vbmc_address is not defined - -# The connection uri is slightly different when using qemu:///system -# and requires the root user. -- name: set qemu uri for qemu:///system usage - set_fact: - vbmc_libvirt_uri: "qemu+ssh://root@{{ vbmc_address }}/system?&keyfile=/root/.ssh/id_rsa_virt_power&no_verify=1&no_tty=1" - when: libvirt_uri == "qemu:///system" - -- name: set qemu uri for qemu:///session usage - set_fact: - vbmc_libvirt_uri: "qemu+ssh://{{ non_root_user }}@{{ vbmc_address }}/session?socket=/run/user/{{ non_root_user_uid }}/libvirt/{{ libvirt_session_socket }}&keyfile=/root/.ssh/id_rsa_virt_power&no_verify=1&no_tty=1" - when: vbmc_libvirt_uri is not defined - -- name: Install VirtualBMC package - when: release not in ['newton'] - package: - name: "{{ virtualbmc_packages }}" - state: present - use: "{{ ansible_pkg_mgr }}" - become: true - -- name: Start the Virtual BMCs (virtualbmc >= 1.4.0+) - when: release not in ['newton', 'ocata', 'pike', 'queens'] - service: - name: "virtualbmc" - state: started - enabled: true - become: true - -- name: Create the Virtual BMCs - when: release not in ['newton'] - command: "vbmc add {{ item.name }} --port {{ item.virtualbmc_port }} --libvirt-uri {{ vbmc_libvirt_uri }}" - args: - creates: /root/.vbmc/{{ item.name }}/config - with_items: "{{ overcloud_nodes }}" - become: true - -- name: Start the Virtual BMCs (virtualbmc >= 1.4.0+) - when: release not in ['newton', 'ocata', 'pike', 'queens'] - command: "vbmc start {{ item.name }}" - with_items: "{{ overcloud_nodes }}" - become: true - -- name: Create the VirtualBMC systemd service (virtualbmc < 1.4.0) - when: release in ['ocata', 'pike', 'queens'] - copy: - mode: 0664 - dest: "/usr/lib/systemd/system/virtualbmc@.service" - content: | - [Unit] - Description=VirtualBMC %i service - After=network.target - - [Service] - Type=forking - PIDFile=/root/.vbmc/%i/pid - ExecStart=/bin/vbmc start %i - ExecStop=/bin/vbmc stop %i - Restart=always - - [Install] - WantedBy=multi-user.target - become: true - -- name: Start the Virtual BMCs (virtualbmc < 1.4.0) - when: release in ['ocata', 'pike', 'queens'] - service: - name: "virtualbmc@{{ item.name }}" - state: started - enabled: true - with_items: "{{ overcloud_nodes }}" - become: true diff --git a/roles/virtbmc/tasks/main.yml b/roles/virtbmc/tasks/main.yml deleted file mode 100644 index 13242b2cf..000000000 --- a/roles/virtbmc/tasks/main.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- - -- name: Include VBMC setup if enabled - include_tasks: configure-vbmc.yml - when: enable_vbmc|bool diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 82d13b708..000000000 --- a/setup.cfg +++ /dev/null @@ -1,37 +0,0 @@ -[metadata] -name = tripleo-quickstart -summary = tripleo-quickstart - Making it easy to get started with tripleo -description-file = - README.rst -author = OpenStack -author-email = openstack-discuss@lists.openstack.org -home-page = https://docs.openstack.org/tripleo-quickstart/latest/ -classifier = - License :: OSI Approved :: Apache Software License - Development Status :: 4 - Beta - Intended Audience :: Developers - Intended Audience :: System Administrators - Intended Audience :: Information Technology - Topic :: Utilities - -[files] -data_files = - usr/local/share/tripleo-quickstart/roles = roles/* - usr/local/share/tripleo-quickstart/library = library/* - usr/local/share/tripleo-quickstart/test_plugins = test_plugins/* - playbooks = playbooks/* - config/ = config/* - -[pbr] -skip_authors = True -skip_changelog = True - -[flake8] -# E123, E125 skipped as they are invalid PEP-8. -show-source = True -ignore = E123,E125 -builtins = _ - -[tool:pytest] -ignore = .tox dist -addopts = -x diff --git a/setup.py b/setup.py deleted file mode 100644 index 58ffb5224..000000000 --- a/setup.py +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright Red Hat, Inc. All Rights Reserved. -# -# 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. - -import setuptools - -setuptools.setup( - setup_requires=['pbr'], - py_modules=[], - pbr=True) diff --git a/test-requirements.txt b/test-requirements.txt deleted file mode 100644 index 4d18319ba..000000000 --- a/test-requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -openstackdocstheme>=2.2.1 # Apache-2.0 - -docutils>=0.11 -sphinx>=2.0.0,!=2.1.0 # BSD -reno>=3.1.0 # Apache-2.0 -pre-commit # MIT -texttable -pyyaml diff --git a/test_plugins/equalto.py b/test_plugins/equalto.py deleted file mode 100644 index daad6f025..000000000 --- a/test_plugins/equalto.py +++ /dev/null @@ -1,26 +0,0 @@ -# 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. - -'''This module implements test that are availablein Jinja2 2.8 but missing -from 2.7 (which is what is available on EL7 linux distributions).''' - - -def test_equalto(value, other): - return value == other - - -class TestModule(object): - def tests(self): - return { - 'equalto': test_equalto, - } diff --git a/tests/test_release_files.py b/tests/test_release_files.py deleted file mode 100644 index 1811d0911..000000000 --- a/tests/test_release_files.py +++ /dev/null @@ -1,54 +0,0 @@ -# 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. -from __future__ import print_function -import fnmatch -import os -import subprocess -import sys - -RELEASE_CONFIG_DIR = 'config/release' - - -def pytest_generate_tests(metafunc): - matches = [] - if 'testdata' in metafunc.fixturenames: - for root, dirnames, filenames in os.walk(RELEASE_CONFIG_DIR): - for filename in fnmatch.filter(filenames, '*.yml'): - matches.append(os.path.join(root, filename)) - metafunc.parametrize('testdata', matches) - - -def test_release_configs(testdata): - cmd = ['ansible-playbook', - '-e@%s' % testdata, - # workaround for ansible bug which may fail to detect - # python interpreter, so we force it to use the same - # interpreter - '-eansible_python_interpreter=%s' % sys.executable, - 'tests/validate-release-config.yml', - # usually comes from extras-common role but not present here - # so we need to pass it explicitly for molecule - '-ewhole_disk_images=true'] - - print("running: %s (from %s)" % (" " .join(cmd), os.getcwd())) - # Workaround for STDOUT/STDERR line ordering issue: - # https://github.com/pytest-dev/pytest/issues/5449 - p = subprocess.Popen( - cmd, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT, - universal_newlines=True) - for line in p.stdout: - print(line, end="") - p.wait() - assert p.returncode == 0 diff --git a/tests/validate-release-config.yml b/tests/validate-release-config.yml deleted file mode 100644 index 58089b6d1..000000000 --- a/tests/validate-release-config.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- hosts: localhost - connection: local - gather_facts: false - tasks: - - - name: validate image urls - # TODO(ssbarnea): make the condition dynamic, like detecting rdo - when: validate_on is not defined - uri: - url: "{{ item }}" - method: HEAD - status_code: 200 - with_items: - - "{{ ipa_image_url }}" - - "{{ overcloud_image_url }}" diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 79f707952..000000000 --- a/tox.ini +++ /dev/null @@ -1,101 +0,0 @@ -[tox] -envlist = docs, linters, molecule -minversion = 3.4.0 -ignore_basepython_conflict = True -skip_missing_interpreters = True -skipsdist = True - -[testenv] -basepython = python3 -usedevelop = True -install_command = python3 -m pip install {opts} {packages} -setenv = - ANSIBLE_FORCE_COLOR={env:ANSIBLE_FORCE_COLOR:1} - ANSIBLE_NOCOWS=1 - ANSIBLE_RETRY_FILES_ENABLED=0 - ANSIBLE_STDOUT_CALLBACK={env:ANSIBLE_STDOUT_CALLBACK:debug} - ANSIBLE_VERBOSITY={env:ANSIBLE_VERBOSITY:1} - PY_COLORS={env:PY_COLORS:1} - VIRTUAL_ENV={envdir} - # pip: Avoid 2020-01-01 warnings: https://github.com/pypa/pip/issues/6207 - # paramiko CryptographyDeprecationWarning: https://github.com/ansible/ansible/issues/52598 - PYTHONWARNINGS=ignore:DEPRECATION::pip._internal.cli.base_command,ignore::UserWarning - PIP_DISABLE_PIP_VERSION_CHECK=1 -passenv = - ANSIBLE_* - CURL_CA_BUNDLE - DOCKER_* - MOLECULE_* - REQUESTS_CA_BUNDLE - SSH_AUTH_SOCK - SSL_CERT_FILE - TERM - PIP_CONSTRAINT={env:PIP_CONSTRAINT:constraints.txt} -deps = - -r{toxinidir}/test-requirements.txt -allowlist_externals = - bash - echo - -[testenv:bindep] -basepython = python3 -# Do not install any requirements. We want this to be fast and work even if -# system dependencies are missing, since it's used to tell you what system -# dependencies are missing! This also means that bindep must be installed -# separately, outside of the requirements files. -deps = bindep -commands = bindep test - -[testenv:docs] -basepython = python3 -deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} - -r{toxinidir}/doc/requirements.txt -commands = - bash -c 'python fs-matrix.py > doc/source/feature-configuration-generated.rst' - sphinx-build -W -b html doc/source doc/build/html - -[testenv:bashate] -envdir = {toxworkdir}/linters -commands = - python -m pre_commit run bashate -a - -[testenv:molecule] -# basepython forces tox to use system python and avoid other python versions like pyenv ones -# because those are unlikely to have the required libselinux library available. -basepython=python3 -deps = - -r{toxinidir}/molecule-requirements.txt -commands = - python -m pytest --color=yes --html={envlogdir}/reports.html --self-contained-html {tty:-s} {posargs} - -[testenv:pep8] -envdir = {toxworkdir}/linters -commands = - python -m pre_commit run flake8 -a - -[testenv:ansible-lint] -setenv = - ANSIBLE_LIBRARY=./library -envdir = {toxworkdir}/linters -commands = - python -m pre_commit run ansible-lint -a - -[testenv:linters] -basepython = python3 -commands = - # check only modified files: - python -m pre_commit run -a - -[testenv:releasenotes] -basepython = python3 -allowlist_externals = bash -deps = - -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} - -r{toxinidir}/doc/requirements.txt -commands = bash -c ci-scripts/releasenotes_tox.sh - -[testenv:venv] -changedir = {toxinidir} -commands = - {posargs:echo done} diff --git a/zuul.d/layout.yaml b/zuul.d/layout.yaml deleted file mode 100644 index f15e363ae..000000000 --- a/zuul.d/layout.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -- project: - queue: tripleo - templates: - - tripleo-multinode-branchful - - publish-openstack-docs-pti - check: - jobs: - - openstack-tox-linters - - tripleo-tox-molecule - - tripleo-ci-centos-9-content-provider-wallaby: - dependencies: - - openstack-tox-linters - gate: - jobs: - - tripleo-tox-molecule - - openstack-tox-linters