diff --git a/.ansible-lint b/.ansible-lint
deleted file mode 100644
index 824ace334..000000000
--- a/.ansible-lint
+++ /dev/null
@@ -1,59 +0,0 @@
-exclude_paths:
- - roles/validate-ui/.travis.yml
- - roles/virthost-full-cleanup/tasks/main.yml
- # we don't want to see failures from sideloaded repos
- - ../tripleo-upgrade/
- # These playbooks are from tq repo and checked there
- - playbooks/baremetal-full-deploy.yml
- - playbooks/baremetal-prep-virthost.yml
- - playbooks/deploy-delete.yml
- - playbooks/multinode-minion.yml
- - playbooks/multinode-multiple-overcloud.yml
- - playbooks/multinode.yml
- - playbooks/quickstart-extras-standalone.yml
- - playbooks/quickstart-extras.yml
- - playbooks/scale_nodes.yml
- # No any idea why those don't pass linter
- - playbooks/build-images-v2.yml
- - playbooks/build-test-packages.yml
-parseable: true
-quiet: false
-skip_list:
- # TODO(ssbarnea): Gradually remove these skips ASAP
- - syntax-check
- - internal-error
- - unnamed-task
- - risky-file-permissions
- - ignore-errors
- - command-instead-of-module
- - meta-no-info
- - risky-shell-pipe
- - deprecated-command-syntax
- - empty-string-compare
- - role-name
- - experimental
- - no-changed-when
- - literal-compare
- - command-instead-of-shell
- - package-latest
- - deprecated-local-action
- - no-jinja-nesting
-
-verbosity: 1
-mock_modules:
- - authorized_key
- - virt
- - ini_file
- - openvswitch_bridge
- - os_stack
- - redhat_subscription
- - synchronize
-mock_roles:
- - tripleo-inventory
- - repo-setup
- - common
- - tripleo-upgrade
- - fetch-images
- - tripleo
- - parts/kvm
- - collect-logs
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index dfb2e591e..000000000
--- a/.gitignore
+++ /dev/null
@@ -1,64 +0,0 @@
-# If you want to ignore sour editor temp files, please follow this:
-# - create ~/.gitignore, add your content
-# - 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
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
deleted file mode 100644
index a4a01f90f..000000000
--- a/.pre-commit-config.yaml
+++ /dev/null
@@ -1,53 +0,0 @@
----
-# to bump run: pre-commit autoupdate
-repos:
- - repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v3.3.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: check-yaml
- files: .*\.(yaml|yml)$
- - repo: https://github.com/PyCQA/flake8.git
- rev: 3.8.4
- hooks:
- - id: flake8
- - repo: https://github.com/adrienverge/yamllint.git
- rev: v1.25.0
- hooks:
- - id: yamllint
- files: \.(yaml|yml)$
- types: [file, yaml]
- entry: yamllint --strict -f parsable
- - repo: https://github.com/ansible/ansible-lint
- 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
- # plugins is the standard collection dir for modules
- entry: env ANSIBLE_LIBRARY=plugins ansible-lint --force-color -p -v
- additional_dependencies:
- - 'ansible-core>=2.11,<2.12'
- - repo: https://github.com/openstack-dev/bashate.git
- rev: 2.0.0
- hooks:
- - id: bashate
- # 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)
- entry: bashate --error . --verbose --ignore=E006,E040
diff --git a/.yamllint b/.yamllint
deleted file mode 100644
index 63a9f13b1..000000000
--- a/.yamllint
+++ /dev/null
@@ -1,10 +0,0 @@
----
-extends: default
-
-rules:
- line-length:
- max: 180
-
-#braces: {min-spaces-inside: 1, max-spaces-inside: 10}
-ignore: |
- /roles/standalone/tasks/main.yml
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 7d674d300..4ee2c5f13 100644
--- a/README.rst
+++ b/README.rst
@@ -1,19 +1,10 @@
-========================
-Team and repository tags
-========================
+This project is no longer maintained.
-.. image:: https://governance.openstack.org/tc/badges/tripleo-quickstart-extras.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
-
-==================================
-Extra roles for tripleo-quickstart
-==================================
-
-These Ansible role are extending the functionality of tripleo-quickstart to do
-end-to-end deployment and testing of TripleO.
-
-The documentation of each role is located in the individual role folders, and
-general usage information is in the `tripleo-quickstart documentation
-`_.
+For any further questions, please email
+openstack-discuss@lists.openstack.org or join #openstack-dev on
+OFTC.
diff --git a/bindep.txt b/bindep.txt
deleted file mode 100644
index 41b90e133..000000000
--- a/bindep.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# debian requirements (linters)
-libffi-dev [platform:dpkg]
-libssl-dev [platform:dpkg]
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 <
-#
-# 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 jinja2 import Environment
-from jinja2 import exceptions
-
-import os
-import sys
-
-
-DOCUMENTATION = '''
----
-python script to read and parse jinja2 templates
----
-'''
-
-# Jinja Environment
-env = Environment()
-
-
-def get_jinja_files(dir_path):
- """Get all the .j2 and .jinja2 files"""
- files_path = []
- for root, subdir, files in os.walk(dir_path):
- for file in files:
- if file.endswith('.j2') or file.endswith('.jinja2'):
- files_path.append(os.path.join(root, file))
-
- return files_path
-
-
-def validate_jinja_templates(file_path):
- """Validate jinja templates file"""
- try:
- with open(file_path) as fobj:
- env.parse(fobj.read())
- except exceptions.TemplateSyntaxError as e:
- print('%s has template error: %s' % (file_path, e))
- raise(e)
-
-
-if __name__ == "__main__":
- base_dir = os.path.join(os.path.dirname(sys.argv[0]), "..")
- os.chdir(base_dir)
- jinja_files = get_jinja_files(base_dir)
- for file_path in jinja_files:
- validate_jinja_templates(file_path)
- print('Validating: %s' % file_path)
diff --git a/config/environments/ovb-common.yml b/config/environments/ovb-common.yml
deleted file mode 100644
index 11b78760d..000000000
--- a/config/environments/ovb-common.yml
+++ /dev/null
@@ -1,80 +0,0 @@
----
-environment_type: ovb_host_cloud
-
-# undercloud.conf
-undercloud_network_cidr: 192.168.24.0/24
-undercloud_local_ip: 192.168.24.1/24
-undercloud_network_gateway: 192.168.24.1
-undercloud_undercloud_public_vip: 192.168.24.2
-undercloud_undercloud_admin_vip: 192.168.24.3
-undercloud_local_interface: eth1
-undercloud_masquerade_network: 192.168.24.0/24
-undercloud_dhcp_start: 192.168.24.5
-undercloud_dhcp_end: 192.168.24.24
-undercloud_inspection_iprange: 192.168.24.25,192.168.24.39
-undercloud_external_network_cidr: 10.0.0.0/24
-undercloud_undercloud_nameservers: "{{ overcloud_dns_servers }}"
-
-# template copies
-undercloud_instackenv_template: "{{ local_working_dir }}/instackenv.json"
-image_cache_dir: "{{ working_dir }}/images-cache"
-
-# baremetal settings
-undercloud_type: ovb
-step_root_device_size: false
-hw_env: ovb_host_cloud
-enable_vbmc: false
-ovb_setup_connectivity: true
-step_set_undercloud_hostname: true
-
-# adjust mtus
-step_adjust_mtu: true
-undercloud_local_mtu: "{{ mtu }}"
-overcloud_neutron_global_physnet_mtu: "{{ mtu }}"
-
-# set up external interface
-external_interface: eth2
-external_interface_ip: 10.0.0.1
-external_interface_netmask: 255.255.255.0
-
-# images to copy to the undercloud
-images:
- - name: "{{ overcloud_image }}"
- url: "{{ overcloud_image_url }}"
- type: tar
- - name: ipa_images
- url: "{{ ipa_image_url }}"
- type: tar
-
-network_environment_args:
- ExternalNetCidr: "{{ undercloud_external_network_cidr }}"
- ExternalAllocationPools: >
- [{'start': '{{ undercloud_external_network_cidr|nthhost(10) }}',
- 'end': '{{ undercloud_external_network_cidr|nthhost(50) }}'}]
- NeutronExternalNetworkBridge: ""
- ControlPlaneSubnetCidr: "{{ undercloud_network_cidr|ipaddr('prefix') }}"
- ControlPlaneDefaultRoute: "{{ undercloud_network_cidr|nthhost(1) }}"
- EC2MetadataIp: "{{ undercloud_network_cidr|nthhost(1) }}"
- ExternalInterfaceDefaultRoute: "{{ undercloud_external_network_cidr|nthhost(1) }}"
- InternalApiNetCidr: 172.20.0.0/24
- InternalApiAllocationPools: [{"start": "172.20.0.10", "end": "172.20.0.250"}]
- StorageNetCidr: 172.18.0.0/24
- StorageAllocationPools: [{"start": "172.18.0.10", "end": "172.18.0.250"}]
- StorageMgmtNetCidr: 172.19.0.0/24
- StorageMgmtAllocationPools: [{"start": "172.19.0.10", "end": "172.19.0.250"}]
- TenantNetCidr: 172.16.0.0/24
- TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}]
- DnsServers: "{{ overcloud_dns_servers }}"
- PublicVirtualFixedIPs: [{"ip_address": "{{ undercloud_external_network_cidr|nthhost(5) }}"}]
- NeutronGlobalPhysnetMtu: 1350
- BondInterfaceOvsOptions: bond_mode=balance-slb
-
-# overcloud deployment settings
-flavor_args: ""
-validation_args: " "
-
-# validate / tempest 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
diff --git a/config/environments/rdocloud-ci.yml.example b/config/environments/rdocloud-ci.yml.example
deleted file mode 100644
index 98e95b03d..000000000
--- a/config/environments/rdocloud-ci.yml.example
+++ /dev/null
@@ -1,40 +0,0 @@
-os_username: "{{ lookup('env','OS_USERNAME') }}"
-os_password: "{{ lookup('env','OS_PASSWORD') }}"
-os_tenant_name: "{{ lookup('env','OS_TENANT_NAME') }}"
-os_auth_url: "{{ lookup('env','OS_AUTH_URL') }}"
-os_region_name: "{{ lookup('env','OS_REGION_NAME') }}"
-
-cloud_name: rdocloud
-latest_guest_image:
- ocata: CentOS-7-x86_64-GenericCloud-1708
- pike: CentOS-7-x86_64-GenericCloud-1708
- queens: CentOS-7-x86_64-GenericCloud-1708
- master: CentOS-7-x86_64-GenericCloud-1708
-
-bmc_flavor: ci.m1.small
-baremetal_flavor: ci.m1.large
-undercloud_flavor: ci.m1.large
-provision_net_cidr: 192.168.24.0/24
-
-nameserver_from_virthost: false
-custom_nameserver:
- - 38.145.33.91
-undercloud_undercloud_nameservers: "{{ custom_nameserver }}"
-undercloud_undercloud_timezone: 'UTC'
-external_net: '38.145.32.0/22'
-overcloud_dns_servers: "{{ custom_nameserver }}"
-ntp_server: 'pool.ntp.org'
-
-overcloud_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar
-ipa_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar
-docker_registry_host: docker.io
-docker_registry_namespace: "tripleo{{ release }}"
-
-mtu: 1350
-mtu_interface:
- - eth0
- - eth1
- - "{% if network_isolation|default(true)|bool %}eth2{% endif %}"
-
-undercloud_local_mtu: "{{ mtu }}"
-overcloud_neutron_global_physnet_mtu: "{{ mtu }}"
diff --git a/config/environments/rdocloud.yml b/config/environments/rdocloud.yml
deleted file mode 100644
index 42eb39fa6..000000000
--- a/config/environments/rdocloud.yml
+++ /dev/null
@@ -1,45 +0,0 @@
----
-os_username: "{{ lookup('env','OS_USERNAME') }}"
-os_password: "{{ lookup('env','OS_PASSWORD') }}"
-os_tenant_name: "{{ lookup('env','OS_TENANT_NAME') }}"
-os_auth_url: "{{ lookup('env','OS_AUTH_URL') }}"
-os_region_name: "{{ lookup('env', 'OS_REGION_NAME') }}"
-
-cloud_name: rdocloud
-latest_guest_image:
- ocata: CentOS-7-x86_64-GenericCloud-1708
- pike: CentOS-7-x86_64-GenericCloud-1708
- queens: CentOS-7-x86_64-GenericCloud-1708
- master: CentOS-7-x86_64-GenericCloud-1708
-
-bmc_flavor: m1.medium
-baremetal_flavor: m1.large
-undercloud_flavor: m1.large2
-provision_net_cidr: 192.168.24.0/24
-
-nameserver_from_virthost: false
-custom_nameserver:
- - 1.1.1.1
- - 1.0.0.1
-undercloud_undercloud_nameservers: "{{ custom_nameserver }}"
-external_net: '38.145.32.0/22'
-overcloud_dns_servers: "{{ custom_nameserver }}"
-ntp_server: 'pool.ntp.org'
-
-overcloud_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/overcloud-full.tar
-ipa_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar
-docker_registry_host: docker.io
-docker_registry_namespace: "tripleo{{ release }}"
-
-mtu: 1350
-mtu_interface:
- - eth0
- - eth1
- - "{% if network_isolation|default(true)|bool %}eth2{% endif %}"
-
-undercloud_local_mtu: "{{ mtu }}"
-overcloud_neutron_global_physnet_mtu: "{{ mtu }}"
-
-# Browbeat settings
-elastic_host: browbeat.test.com
-grafana_host: browbeat.test.com
diff --git a/config/general_config/centosci-logs.yml b/config/general_config/centosci-logs.yml
deleted file mode 100644
index f4b91c5b1..000000000
--- a/config/general_config/centosci-logs.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-artcl_gzip: true
-artcl_artifact_url: https://artifacts.ci.centos.org/rdo
-artcl_publish: true
-artcl_use_rsync: true
-artcl_rsync_use_daemon: true
-artcl_rsync_path: rdo@artifacts.ci.centos.org::rdo
diff --git a/config/general_config/deprecated/containers_minimal.yml b/config/general_config/deprecated/containers_minimal.yml
deleted file mode 100644
index ab1a36596..000000000
--- a/config/general_config/deprecated/containers_minimal.yml
+++ /dev/null
@@ -1,70 +0,0 @@
----
-# We run tempest in this topology instead of ping test.
-# We set introspection to true and use only the minimal amount of nodes
-# for this job, but test all defaults otherwise.
-step_introspect: true
-
-# Tell tripleo how we want things done.
-extra_args: >-
- --ntp-server pool.ntp.org
-
-# 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'
-
-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: true
-
-# This enables the deployment of the overcloud with SSL.
-ssl_overcloud: false
-
-# If `run_tempest` is `true`, run tempests tests, otherwise do not
-# run them.
-test_ping: true
-run_tempest: false
-tempest_workers: 4
-
-# Config for custom tripleo-heat-templates, used in overcloud-prep-config
-# overcloud_templates_path: /home/stack/tripleo-heat-templates
-# overcloud_templates_repo: https://opendev.org/openstack/tripleo-heat-templates
-# use templates_branch when not testing with an unmerged review
-# overcloud_templates_branch: master
-# use templates_refspec when testing with an unmerged review
-# overcloud_templates_refspec:
-
-# 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/deprecated/scale_compute.yml b/config/general_config/deprecated/scale_compute.yml
deleted file mode 100644
index 96455f5bd..000000000
--- a/config/general_config/deprecated/scale_compute.yml
+++ /dev/null
@@ -1,108 +0,0 @@
----
-
-# NOTE(hrybacki): This is a hotfix to be removed after
-# https://review.openstack.org/#/c/414167/ has been merged.
-
-validation_args: ""
-
-control_memory: 16384
-control_vcpu: 4
-
-# Define single controller node with two computes to allow for scaling
-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
-
-# If `run_tempest` is `true`, run tempests tests, otherwise do not
-# run them.
-run_tempest: false
-tempest_config: false
-enable_pacemaker: true
-network_isolation: true
-network_isolation_type: 'single-nic-vlans'
-deploy_timeout: 75
-
-# General deployment info
-libvirt_args: "--libvirt-type qemu"
-
-flavor_args: >-
- --control-flavor {{flavor_map.control
- if flavor_map is defined and 'control' in flavor_map else 'oooq_control'}}
- --compute-flavor {{flavor_map.compute
- if flavor_map is defined and 'compute' in flavor_map else 'oooq_compute'}}
-
-timeout_args: "--timeout {{ deploy_timeout }}"
-
-extra_args: >
- --compute-scale 1
- -e {{ overcloud_templates_path }}/environments/network-isolation.yaml
- -e {{ overcloud_templates_path }}/environments/net-single-nic-with-vlans.yaml
- -e ~/network-environment.yaml --ntp-server pool.ntp.org
-
-# Pull out scale_extra_args so the same var can be reused for the call to
-# `openstack overcloud delete`
-scale_extra_configs: >
- -e {{ overcloud_templates_path }}/environments/network-isolation.yaml
- -e {{ overcloud_templates_path }}/environments/net-single-nic-with-vlans.yaml
- -e /home/stack/network-environment.yaml
-scale_extra_args: >
- --{{ node_to_scale }}-scale {{ final_scale_value }} {{ scale_extra_configs }}
- --ntp-server pool.ntp.org
-
-# Scale deployment info
-node_to_scale: compute # Type of node to scale
-initial_scale_value: 1 # Initial number of nodes to deploy
-final_scale_value: 2 # Number of additional nodes to add during the scale
-
-# Scale deployment arguments
-scale_args: >-
- {{ libvirt_args }}
- {{ flavor_args }}
- {{ timeout_args }}
- {{ pacemaker_args }}
- {{ scale_extra_args }}
-
-# Options below direct automatic doc generation by 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
- - scale-deployment
- - delete-node
- 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
- - scale-deployment
- - delete-node
- - overcloud-validate
-
-# Path to tripleo-heat-templates
-overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates
-
-# Sample call
-# ./deploy.sh -v --playbook scale_nodes --config-file config/scale/scale_compute.yml
diff --git a/config/general_config/local-logs.yml b/config/general_config/local-logs.yml
deleted file mode 100644
index 8f79cd4de..000000000
--- a/config/general_config/local-logs.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-# this file is intentionally left blank, it can be used to pass the "local"
-# parameter to the collect-logs.sh CI script, resulting in using the default
-# settings, collecting logs locally but not attempting to upload them anywhere
-# we need at least one dummy value here
-artcl_placeholder: true
diff --git a/config/general_config/ovb-minimal-pacemaker-public-bond.yml b/config/general_config/ovb-minimal-pacemaker-public-bond.yml
deleted file mode 100644
index 57e3b9761..000000000
--- a/config/general_config/ovb-minimal-pacemaker-public-bond.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-# baremetal settings
-step_introspect: true
-network_isolation_type: public-bond
-network_isolation: true
-
-# template copies
-baremetal_nic_configs: "{{ local_working_dir }}/openstack-virtual-baremetal/bond-network-templates/nic-configs"
-use_resource_registry_nic_configs: true
-
-# This enables container deployments with Pike and later
-containerized_overcloud: >-
- {% if release in ['newton', 'ocata'] -%}
- false
- {%- else -%}
- true
- {%- endif -%}
-delete_docker_cache: true
-
-extra_args: " --control-flavor baremetal --compute-flavor baremetal "
-
-# 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 %}
-
-run_tempest: false
-tempest_config: false
-test_ping: true
-enable_pacemaker: true
diff --git a/config/general_config/ovb-multiple-nics.yml b/config/general_config/ovb-multiple-nics.yml
deleted file mode 100644
index c3fa07151..000000000
--- a/config/general_config/ovb-multiple-nics.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-# baremetal settings
-step_introspect: true
-network_isolation_type: multiple-nics
-network_isolation: true
-
-# template copies
-baremetal_nic_configs: "{{ local_working_dir }}/openstack-virtual-baremetal/network-templates/nic-configs"
-use_resource_registry_nic_configs: true
-
-# This enables container deployments Pike and after
-containerized_overcloud: >-
- {% if release in ['newton', 'ocata'] -%}
- false
- {%- else -%}
- true
- {%- endif -%}
-delete_docker_cache: true
-
-extra_args: " --control-flavor baremetal --compute-flavor baremetal "
-
-# This featureset is extremely resource intensive, so we disable telemetry
-# in order to reduce the overall memory footprint
-# This is not required in newton
-telemetry_args: >-
- {% if release not in ['newton', 'ocata'] %}
- -e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml
- {% endif %}
-
-run_tempest: false
-tempest_config: false
-test_ping: true
-enable_pacemaker: true
diff --git a/config/general_config/rdoproject-logs.yml b/config/general_config/rdoproject-logs.yml
deleted file mode 100644
index 00267eee5..000000000
--- a/config/general_config/rdoproject-logs.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-artcl_publish: true
-artcl_use_zuul_swift_upload: true
-artcl_swift_container: artifacts
-artcl_full_artifact_url: "{{ lookup('env', 'SWIFT_artifacts_URL') }}"
diff --git a/doc/requirements.txt b/doc/requirements.txt
deleted file mode 100644
index e8cbf057c..000000000
--- a/doc/requirements.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-openstackdocstheme>=2.0.0 # Apache-2.0
-
-sphinx>=2.0.0,!=2.1.0 # BSD
-reno>=2.5.0 # Apache-2.0
diff --git a/molecule-requirements.txt b/molecule-requirements.txt
deleted file mode 100644
index bc3a401c4..000000000
--- a/molecule-requirements.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-ansible-core>=2.11,<2.12
-ansi2html # GPL (soft-dependency of pytest-html)
-docker
-paramiko>=2.5.0 # LGPL (soft-dependency of docker that enables ssh protocol)
-pytest
-pytest-cov
-pytest-html
-pytest-metadata>=2.0.1,<3.0.0
-pytest-molecule>=1.3.0,<1.3.1
-mock
-molecule>=3.0,<3.1
-selinux>=0.2.1
diff --git a/playbooks/baremetal-full-deploy.yml b/playbooks/baremetal-full-deploy.yml
deleted file mode 100644
index 3df30fbd7..000000000
--- a/playbooks/baremetal-full-deploy.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- include: baremetal-prep-virthost.yml
- when: undercloud_type == 'virtual' and environment_type is defined
-
-- include: ovb-setup.yml
- when: undercloud_type == 'ovb'
-
-- include: baremetal-full-freeipa.yml
- when: deploy_supplemental_node|default(false)|bool
-
-- include: baremetal-undercloud.yml
- when: undercloud_type == 'baremetal' and environment_type is defined
-
-- include: baremetal-quickstart-extras.yml
-
-- include: overcloud-validate-ha.yml
- when: validate_ha_overcloud|default(false)|bool
-
-- include: browbeat-minimal.yml
- when: enable_minimal_browbeat|default(false)|bool
diff --git a/playbooks/baremetal-full-freeipa.yml b/playbooks/baremetal-full-freeipa.yml
deleted file mode 100644
index fc195c6da..000000000
--- a/playbooks/baremetal-full-freeipa.yml
+++ /dev/null
@@ -1,132 +0,0 @@
----
-- name: Run inventory to add supplemental node
- hosts: undercloud
- gather_facts: false
- tags:
- - freeipa-setup
- tasks:
-
- - include_role:
- name: tripleo-inventory
- vars:
- inventory: extra_node
-
- - name: Add supplemental IP to /etc/hosts
- lineinfile:
- line: "{{ supplemental_node_ip }} {{ freeipa_server_hostname }}"
- path: /etc/hosts
- become: true
-
- - name: set the freeipa_internal_ip
- set_fact:
- freeipa_internal_ip: "{{ supplemental_node_ip }}"
- cacheable: true
-
-- name: Deploy the FreeIPA server
- hosts: supplemental
- gather_facts: true
- tags:
- - freeipa-setup
- tasks:
-
- - name: Create /etc/ci directory for supplemental
- become: true
- file:
- path: /etc/ci
- state: directory
- owner: root
- group: root
- mode: 0755
-
- - name: Slurp the contents of mirror_info.sh from undercloud
- become: true
- slurp:
- src: '/etc/ci/mirror_info.sh'
- register: mirror_info_sh
- delegate_to: undercloud
-
- - name: Write mirror_info.sh contents to file on supplemental
- become: true
- copy:
- dest: '/etc/ci/mirror_info.sh'
- content: |
- {{ mirror_info_sh['content'] | b64decode }}
-
- - include_role:
- name: repo-setup
- vars:
- repo_setup_dir: /home/{{ supplemental_user|default('centos') }}
-
- - name: Set eth2 public IP address
- shell: |
- ip a add dev eth2 {{ supplemental_node_ip }}/24;
- ip l set eth2 up;
- ip link set dev eth2 mtu 1450;
- ping 10.0.0.1 -c 4 -q;
- become: true
- changed_when: false
-
- - include_role:
- name: freeipa-setup
-
-- name: Use supplemental node as DNS server
- hosts: undercloud
- gather_facts: false
- tags:
- - freeipa-setup
- tasks:
-
- - name: ensure that DHCP doesn't overwrite DNS settings (CentOS/RHEL >= 8)
- become: true
- when:
- - ansible_os_family == 'RedHat'
- - ansible_distribution_major_version is version(8, '>=')
- block:
- - name: set 'dns=none' in NetworkManager config file
- ini_file:
- path: /etc/NetworkManager/NetworkManager.conf
- state: present
- no_extra_spaces: true
- section: main
- option: dns
- value: none
- backup: true
- - name: reload NetworkManager service
- service:
- name: NetworkManager
- state: reloaded
-
- - name: disable unbound service
- become: true
- service:
- name: unbound
- state: stopped
- ignore_errors: true
-
- - name: remove any existing entries from the resolv.conf file
- become: true
- lineinfile:
- path: /etc/resolv.conf
- regexp: "^nameserver "
- state: absent
-
- - name: set IPA server domain search
- become: true
- lineinfile:
- path: /etc/resolv.conf
- insertafter: '^search'
- line: "search ooo.test"
- state: present
-
- - name: set IPA server as primary DNS provider
- become: true
- lineinfile:
- path: /etc/resolv.conf
- insertafter: '^search'
- line: "nameserver {{ freeipa_internal_ip }}"
- state: present
-
- - name: print content of 'resolv.conf' after modifications
- become: true
- debug:
- msg: "Content of resolv.conf: {{ lookup('file', '/etc/resolv.conf') }}"
diff --git a/playbooks/baremetal-full-overcloud-prep.yml b/playbooks/baremetal-full-overcloud-prep.yml
deleted file mode 100644
index 4f989811f..000000000
--- a/playbooks/baremetal-full-overcloud-prep.yml
+++ /dev/null
@@ -1,57 +0,0 @@
----
-- name: Prepare the undercloud networks for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-network
- tags:
- - overcloud-prep-network
-
-- name: copy over config files
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-config
- tags:
- - overcloud-prep-config
-
-- name: Perpare the baremetal overcloud
- hosts: undercloud
- gather_facts: true
- roles:
- - baremetal-prep-overcloud
- tags:
- - baremetal-prep-overcloud
-
-- name: Prepare overcloud containers
- hosts: undercloud
- gather_facts: false
- roles:
- - role: overcloud-prep-containers
- tags:
- - overcloud-prep-containers
-
-- name: Prepare the overcloud images for deployment
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-images
- tags:
- - overcloud-prep-images
-
-- name: Prepare overcloud flavors
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: overcloud-prep-flavors,
- when: step_overcloud_prep_flavors|default(true)|bool}
- tags:
- - overcloud-prep-flavors
-
-- name: Prepare the SSL Configuration for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: overcloud-ssl}
- tags:
- - overcloud-ssl
diff --git a/playbooks/baremetal-full-overcloud-validate.yml b/playbooks/baremetal-full-overcloud-validate.yml
deleted file mode 100644
index 365d5039b..000000000
--- a/playbooks/baremetal-full-overcloud-validate.yml
+++ /dev/null
@@ -1,78 +0,0 @@
----
-- name: Run dump vars on all!localhost
- hosts: all:!localhost:!127.0.0.2
- roles:
- - dump_vars
-
-- name: Ensure the overcloud nodes are added to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-validate
- vars:
- inventory: all
- roles:
- - tripleo-inventory
- ignore_errors: true
-
-# Execute sanity checks agsinst the overcloud deployment
-- name: setup dstat performance monitoring
- hosts: all:!localhost:!127.0.0.2:!undercloud:!virthost
- tags:
- - overcloud-validate
- roles:
- - {role: validate-perf,
- when: validate_performance|bool and use_os_tempest | default(true) | bool}
- ignore_errors: true
-
-- name: Sanity check the overcloud services
- hosts: undercloud
- tags:
- - overcloud-validate
- gather_facts: false
- roles:
- - {role: validate-sanity-checks,
- when: run_sanity_checks|default(false)|bool}
-
-# Validate the deployment
-- name: Execute netstat for port audit
- hosts: overcloud
- vars:
- execute_netstat: true
- roles:
- - overcloud-network-discovery
- tags:
- - overcloud-validate
-
-# Execute tempest against the overcloud deployment
-- name: Validate the deployment
- hosts: undercloud
- tasks:
- - include_tasks: tasks/tempest.yml
- vars:
- tempest_install_method: distro
- tempest_cloud_name: 'overcloud'
- when: use_os_tempest | default(true)
- environment:
- # Disable ssl waarnings
- CURL_CA_BUNDLE: ""
- tags:
- - overcloud-validate
-
-- name: Kill netstat
- hosts: overcloud
- vars:
- kill_netstat: true
- roles:
- - overcloud-network-discovery
- tags:
- - overcloud-validate
-
-- name: Delete the overcloud
- hosts: undercloud
- tags:
- - overcloud-delete
- gather_facts: false
- roles:
- - {role: overcloud-delete,
- when: step_delete_overcloud|default(false)|bool}
diff --git a/playbooks/baremetal-full-overcloud.yml b/playbooks/baremetal-full-overcloud.yml
deleted file mode 100644
index d6277d64b..000000000
--- a/playbooks/baremetal-full-overcloud.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-- name: Deploy the overcloud
- hosts: undercloud
- gather_facts: false
- tasks:
- - name: Deploy the overcloud
- include_role:
- name: overcloud-deploy
- tags:
- - overcloud-deploy
- - name: Check the overcloud_deployment_result.json if this is CI job
- tags:
- - overcloud-deploy
- block:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
diff --git a/playbooks/baremetal-full-undercloud.yml b/playbooks/baremetal-full-undercloud.yml
deleted file mode 100644
index 275227029..000000000
--- a/playbooks/baremetal-full-undercloud.yml
+++ /dev/null
@@ -1,34 +0,0 @@
----
-- name: Deploy the undercloud
- hosts: undercloud
- gather_facts: true
- roles:
- - undercloud-deploy
- tags:
- - undercloud-deploy
-
-- name: Validate the undercloud
- hosts: undercloud
- roles:
- - {role: validate-undercloud,
- when: run_validate_undercloud|default(false)|bool}
- tags:
- - validate-undercloud
-
-- name: Download amphora image for octavia
- hosts: undercloud
- gather_facts: false
- tags:
- - octavia
- roles:
- - {role: octavia-amphora-download,
- when: download_amphora is defined and download_amphora|bool}
-
-- name: Build images for quickstart
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: build-images, when: to_build|default(false)|bool}
- tags:
- - get-images
- - images
diff --git a/playbooks/baremetal-prep-virthost.yml b/playbooks/baremetal-prep-virthost.yml
deleted file mode 100644
index b1d3874aa..000000000
--- a/playbooks/baremetal-prep-virthost.yml
+++ /dev/null
@@ -1,205 +0,0 @@
----
-# Add the virthost to the in-memory inventory. The inventory is not
-# wirtten out to disk unless you call the `rebuild-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 }}"
- ansible_private_key_file: "{{ ansible_private_key_file_location | default('') }}"
-
-- include: 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.
-- include: 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`.
-- include: teardown-nodes.yml
-- include: teardown-environment.yml
-
-- name: setup yum repos on virthost
- hosts: virthost
- gather_facts: true
- roles:
- - repo-setup
- tags:
- - provision
-
-# The `environment/setup` role performs any tasks that require `root`
-# access on the target host.
-- name: Install libvirt packages and configure networks
- hosts: virthost
- tags:
- - environment
- roles:
- - environment/setup
-
-- name: Check whether to build images
- hosts: virthost
- gather_facts: true
- roles:
- - check-to-build-or-not-to-build
-
-- name: Add firewalld services and ports
- hosts: virthost
- gather_facts: false
- tasks:
- - include_role:
- name: baremetal-prep-virthost
- tasks_from: add_services_ports_firewalld.yml
- when:
- - ansible_distribution == 'RedHat'
- - ansible_distribution_major_version|int >= 8
-
-- name: Find latest Centos image and set facts for undercloud base image.
- hosts: virthost
- gather_facts: true
- tasks:
- - block:
- - name: Discover latest CentOS qcow2 image
- include_role:
- name: discover-latest-image
- - name: set_fact for undercloud base image
- set_fact:
- baseos_undercloud_image_url: "{{ discovered_image_url }}"
- baseos_image: "{{ ansible_distribution | lower }}"
- baseos_image_type: qcow2
- baseos_md5sum: "{{ discovered_md5sum }} {{ discovered_image_name }}"
- cacheable: true
- when:
- - ansible_distribution == 'CentOS'
- - ansible_distribution_major_version is version(9, '>=')
-
-- name: Setup undercloud and baremetal vms and networks in libvirt
- hosts: virthost
- gather_facts: true
- vars:
- baseos: true
- roles:
- - libvirt/setup
-
-# Add the undercloud node to the generated
-# inventory.
-- name: Inventory the undercloud
- hosts: localhost
- gather_facts: true
- vars:
- inventory: undercloud
- roles:
- - tripleo-inventory
-
-- name: Set to_build on undercloud
- hosts: undercloud
- gather_facts: true
- tasks:
- - name: set_fact for to_build on undercloud
- set_fact:
- to_build: "{{ hostvars[groups['virthost'][0]]['to_build'] }}"
- cacheable: true
-
- - name: set_fact for image_cache_dir on undercloud
- set_fact:
- image_cache_dir: "{{ working_dir }}/images-cache"
- cacheable: true
-
- - name: set_fact for libguestfs_mode on undercloud
- set_fact:
- libguestfs_mode: false
- cacheable: true
-
- # Always build images even if running a periodic-* named job
- # in a check pipeline for testing
- - name: Always build images in periodic
- set_fact:
- to_build: true
- cacheable: true
- when: "'periodic' in zuul.job"
-
-- name: Setup the undercloud
- hosts: undercloud
- gather_facts: true
- vars:
- non_root_user_setup: false
- roles:
- - undercloud-setup
-
-- name: Remove ens3 if not required
- hosts: undercloud
- gather_facts: false
- tasks:
- - include_role:
- name: baremetal-prep-virthost
- tasks_from: remove_ens3.yml
- when:
- - ansible_distribution == 'CentOS'
- - ansible_distribution_major_version|int >= 8
-
-- name: Ensure locale has LANG=en_US.UTF-8
- hosts: undercloud
- gather_facts: false
- tasks:
- - include_role:
- name: baremetal-prep-virthost
- tasks_from: set_locale_UTF_8
- when:
- - ansible_distribution == 'RedHat'
- - ansible_distribution_major_version|int >= 8
-
-- name: Prepare the host for PXE forwarding
- hosts: virthost
- gather_facts: true
- roles:
- - baremetal-prep-virthost
-
-- name: Get images for quickstart
- hosts: undercloud
- gather_facts: true
- vars:
- ib_repo_image_inject: "{{ not to_build|bool }}"
- ib_repo_run_live: false
- modify_image_vc_ram: 4096
- modify_image_vc_cpu: 4
- modify_image_vc_verbose: true
- tasks:
- - include_role:
- name: fetch-images
- when: not to_build|bool
-
- - include_role:
- name: repo-setup
- vars:
- repo_inject_image_path: "/home/{{ undercloud_user }}/{{ overcloud_image }}.qcow2"
- repo_run_live: false
- when: not to_build|bool
-
- - include_role:
- name: repo-setup
- vars:
- repo_inject_image_path: "/home/{{ undercloud_user }}/ironic-python-agent.initramfs"
- repo_run_live: false
- initramfs_image: true
- libguestfs_mode: false
- when: not to_build|bool
-
- - include_role:
- name: install-built-repo
- vars:
- ib_repo_image_path: "/home/{{ undercloud_user }}/{{ overcloud_image }}.qcow2"
- when: compressed_gating_repo is defined and not to_build|bool
-
- - include_role:
- name: install-built-repo
- vars:
- ib_repo_image_path: "/home/{{ undercloud_user }}/ironic-python-agent.initramfs"
- initramfs_image: true
- libguestfs_mode: false
- when: compressed_gating_repo is defined and not to_build|bool
diff --git a/playbooks/baremetal-quickstart-extras.yml b/playbooks/baremetal-quickstart-extras.yml
deleted file mode 100644
index eb69eb0f8..000000000
--- a/playbooks/baremetal-quickstart-extras.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- import_playbook: baremetal-full-undercloud.yml
-- import_playbook: baremetal-full-overcloud-prep.yml
-- import_playbook: baremetal-full-overcloud.yml
-- import_playbook: baremetal-full-overcloud-validate.yml
diff --git a/playbooks/baremetal-undercloud-minimal.yml b/playbooks/baremetal-undercloud-minimal.yml
deleted file mode 100644
index 4ba67e134..000000000
--- a/playbooks/baremetal-undercloud-minimal.yml
+++ /dev/null
@@ -1,96 +0,0 @@
----
-- name: Provision undercloud by directly calling provisioning script
- hosts: localhost
- pre_tasks:
- - name: Provision script execution
- shell: >
- set -o pipefail &&
- {{ baremetal_provisioning_script }} 2>&1 | tee
- "{{ local_working_dir }}/baremetal_provision.log"
- when: step_provide_undercloud|bool
-
- - name: Add the undercloud VM to the inventory
- add_host:
- name: "{{ undercloud_eth0_ip }}"
- groups: undercloud
- ansible_user: "root"
- ansible_private_key_file: "{{ ansible_private_key_file_location | default('') }}"
- ansible_ssh_common_args: '-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
-
- - name: Copy the private key to the expected location
- copy:
- src: "{{ ansible_private_key_file_location }}"
- dest: "{{ local_working_dir }}/id_rsa_undercloud"
- mode: 0600
-
-- name: Inventory the undercloud
- hosts: localhost
- gather_facts: true
- vars:
- inventory: undercloud
- roles:
- - tripleo-inventory
-
-- name: Setup repositories
- hosts: undercloud
- gather_facts: true
- roles:
- - repo-setup
- tags:
- - undercloud-repo-setup
-
-- name: Install packages
- hosts: undercloud
- gather_facts: false
- roles:
- - baremetal-undercloud/packages
- tags:
- - undercloud-pkgs-install
-
-# Small playbook with logic for when to build images or not.
-# The logic there can be completely overridden by setting the
-# to_build variable.
-- include: to-build-or-not-to-build.yml
-
-- name: Run DLRN gate role and install repo
- hosts: undercloud
- vars:
- artg_compressed_gating_repo: "${HOME}/gating_repo.tar.gz"
- artg_repos_dir: "{{ repo_clone_dir|default('/opt/stack/new') }}"
- ib_create_web_repo: "{{ to_build|bool }}"
- roles:
- - {role: build-test-packages, when: build_test_packages|default(false)|bool}
- - {role: install-built-repo, when: compressed_gating_repo is defined}
- tags:
- - build
-
-- name: Get images for quickstart
- hosts: undercloud
- gather_facts: false
- vars:
- ib_repo_image_inject: "{{ not to_build|bool }}"
- ib_repo_run_live: false
- modify_image_vc_ram: 4096
- modify_image_vc_cpu: 4
- modify_image_vc_verbose: true
- roles:
- - {role: fetch-images,
- when: not to_build|bool}
- - {role: repo-setup,
- repo_inject_image_path: "$HOME/{{ overcloud_image }}.qcow2",
- repo_run_live: false,
- when: not to_build|bool}
- - {role: repo-setup,
- repo_inject_image_path: "$HOME/ironic-python-agent.initramfs",
- repo_run_live: false,
- initramfs_image: true,
- libguestfs_mode: false,
- when: not to_build|bool}
- - {role: install-built-repo,
- ib_repo_image_path: "$HOME/{{ overcloud_image }}.qcow2",
- when: compressed_gating_repo is defined and not to_build|bool}
- - {role: install-built-repo,
- ib_repo_image_path: "$HOME/ironic-python-agent.initramfs",
- initramfs_image: true,
- libguestfs_mode: false,
- when: compressed_gating_repo is defined and not to_build|bool}
diff --git a/playbooks/baremetal-undercloud.yml b/playbooks/baremetal-undercloud.yml
deleted file mode 100644
index f768f45c2..000000000
--- a/playbooks/baremetal-undercloud.yml
+++ /dev/null
@@ -1,39 +0,0 @@
----
-- name: Baremetal undercloud install
- hosts: localhost
- roles:
- - baremetal-undercloud
- tags:
- - baremetal-undercloud
-
-- name: Add the undercloud node to the generated inventory
- hosts: localhost
- gather_facts: true
- roles:
- - tripleo-inventory
- tags:
- - undercloud-inventory
-
-- name: Setup repositories
- hosts: undercloud
- gather_facts: true
- roles:
- - repo-setup
- tags:
- - undercloud-repo-setup
-
-- name: Install packages
- hosts: undercloud
- gather_facts: false
- roles:
- - baremetal-undercloud/packages
- tags:
- - undercloud-pkgs-install
-
-- name: Fetch the overcloud images
- hosts: undercloud
- gather_facts: false
- roles:
- - fetch-images
- tags:
- - overcloud-fetch-images
diff --git a/playbooks/build-images-v2.yml b/playbooks/build-images-v2.yml
deleted file mode 100644
index 11ecde50c..000000000
--- a/playbooks/build-images-v2.yml
+++ /dev/null
@@ -1,31 +0,0 @@
----
-
-- 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
-
-- name: Inventory the virthost
- hosts: localhost
- gather_facts: true
- roles:
- - tripleo-inventory
- tags:
- - provision
-
-- include: teardown-provision.yml
-
-- include: provision.yml
-
-- name: Build images
- hosts: virthost
- roles:
- - build-images
diff --git a/playbooks/build-test-packages.yml b/playbooks/build-test-packages.yml
deleted file mode 100644
index 72cf0f8af..000000000
--- a/playbooks/build-test-packages.yml
+++ /dev/null
@@ -1,31 +0,0 @@
----
-
-- 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
-
-- name: Inventory the virthost
- hosts: localhost
- gather_facts: true
- roles:
- - tripleo-inventory
- tags:
- - provision
-
-- include: teardown.yml
-
-- include: provision.yml
-
-- name: Build test packages using DLRN
- hosts: virthost
- roles:
- - build-test-packages
diff --git a/playbooks/cleanup-destructive.yml b/playbooks/cleanup-destructive.yml
deleted file mode 100644
index 84195bfc4..000000000
--- a/playbooks/cleanup-destructive.yml
+++ /dev/null
@@ -1,17 +0,0 @@
----
-- name: Add virthost to inventory
- hosts: localhost
- tasks:
- - name: Add the virthost to the inventory
- add_host:
- name: "{{ virthost }}"
- groups: "virthost"
- ansible_fqdn: "{{ virthost }}"
- ansible_user: "root"
- ansible_host: "{{ virthost }}"
-
-- name: Clean up tripleo packages and libvirt
- hosts: virthost
- gather_facts: false
- roles:
- - virthost-full-cleanup
diff --git a/playbooks/collect-logs.yml b/playbooks/collect-logs.yml
deleted file mode 100644
index 880a8b945..000000000
--- a/playbooks/collect-logs.yml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-- name: Run dump vars on all!localhost
- hosts: all:!localhost:!127.0.0.2
- roles:
- - dump_vars
-
-- name: Ensure the overcloud nodes are added to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - collect-logs
- vars:
- inventory: all
- roles:
- - tripleo-inventory
- ignore_errors: true
-
-- name: Collect logs
- hosts: all:!localhost:!127.0.0.2
- roles:
- - collect-logs
-
-- name: Create docs, publish logs
- hosts: localhost
- roles:
- - {role: collect-logs, artcl_collect: false}
diff --git a/playbooks/content-provider-containers.yml b/playbooks/content-provider-containers.yml
deleted file mode 100644
index e07836cf1..000000000
--- a/playbooks/content-provider-containers.yml
+++ /dev/null
@@ -1,57 +0,0 @@
----
-- name: Build containers for content provider job
- hosts: undercloud
- tasks:
- - name: Build containers for CentOS 8
- include_role:
- name: standalone
- tasks_from: containers
- apply:
- tags:
- - standalone
- when: ansible_distribution_major_version is version('8', '>=')
-
- - name: Build containers for CentOS 7
- when: ansible_distribution_major_version is version('8', '<')
- block:
-
- - name: Include pre tasks from build-containers role
- vars:
- buildcontainers_venv: false
- include_role:
- name: build-containers
- tasks_from: pre
-
- - name: Check for gating repo
- stat:
- path: "/etc/yum.repos.d/gating.repo"
- register: new_repo
-
- - name: Set proper repos
- set_fact:
- buildcontainers_rpm_setup_config: >-
- http://{{ ansible_default_ipv4.address }}/delorean.repo,
- http://{{ ansible_default_ipv4.address }}/delorean-current.repo,
- {% if new_repo.stat.exists %}
- http://{{ ansible_default_ipv4.address }}/gating.repo,
- {% endif %}
- {% if release in ['queens'] %}
- http://{{ ansible_default_ipv4.address }}/quickstart-centos-ceph-luminous.repo,
- http://{{ ansible_default_ipv4.address }}/quickstart-centos-extras.repo,
- http://{{ ansible_default_ipv4.address }}/quickstart-centos-opstools.repo,
- http://{{ ansible_default_ipv4.address }}/quickstart-centos-updates.repo,
- http://{{ ansible_default_ipv4.address }}/quickstart-centos7-rt.repo,
- {% else %}
- http://{{ ansible_default_ipv4.address }}/delorean-{{ ci_branch }}-build-deps.repo,
- {% endif %}
- http://{{ ansible_default_ipv4.address }}/quickstart-centos-qemu.repo,
- http://{{ ansible_default_ipv4.address }}/delorean-{{ ci_branch }}-deps.repo
-
- - name: Build containers for provider job
- vars:
- buildcontainers_venv: false
- include_role:
- name: build-containers
- tags:
- - standalone
- - undercloud
diff --git a/playbooks/deploy-delete.yml b/playbooks/deploy-delete.yml
deleted file mode 100644
index 8466ea45e..000000000
--- a/playbooks/deploy-delete.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-# This is the playbook used by the `quickstart.sh` script.
-
-- import_playbook: quickstart-extras.yml
-
-- name: Collect logs, create docs, publish
- hosts: all:!localhost
- gather_facts: false
- roles:
- - {role: tripleo-collect-logs, artcl_collect: true}
-
-- name: test overcloud deletion
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: overcloud-delete}
diff --git a/playbooks/deploy-standalone-compute.yml b/playbooks/deploy-standalone-compute.yml
deleted file mode 100644
index 15cd83f5c..000000000
--- a/playbooks/deploy-standalone-compute.yml
+++ /dev/null
@@ -1,50 +0,0 @@
----
-# First, deploy the undercloud. This will also ensure the inventory is properly
-# populated with the subnode-1 host and all the needed data.
-- hosts: undercloud
- gather_facts: true
- tags:
- - standalone
- tasks:
- - name: Run External Data Plane management role
- include_role:
- name: external_data_plane_management
- tasks_from: prepare_node.yml
-
-# Now that we have the updated inventory, we can get to subnode-1 using the
-# correct data. Let's bootstrap it!
-- hosts: subnode-1
- gather_facts: true
- tags:
- - standalone
- tasks:
- - name: Run External Data Plane management role
- include_role:
- name: external_data_plane_management
- tasks_from: prepare_node.yml
-
-# On undercloud:
-# + Deploy standalone
-# + Deploy the external compute from within the undercloud
-# + Validate external compute
-- hosts: undercloud
- gather_facts: false
- tags:
- - standalone
- tasks:
- - name: Deploy standalone
- include_role:
- name: external_data_plane_management
- tasks_from: deploy_standalone.yml
- - name: Deploy remote compute
- vars:
- target_host: 'subnode-1'
- include_role:
- name: external_data_plane_management
- tasks_from: compute_services_on_target_host.yml
- - name: Validate EDPM deploy
- vars:
- target_host: 'subnode-1'
- include_role:
- name: external_data_plane_management
- tasks_from: validate_edpm.yml
diff --git a/playbooks/gate-quickstart.yml b/playbooks/gate-quickstart.yml
deleted file mode 100644
index eb5e18067..000000000
--- a/playbooks/gate-quickstart.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-# This playbooks is responsible for gating changes in tripleo-quickstart or
-# tripleo-quickstart-extras with a possibility to depend on changes from the
-# other repo
-- name: Gate quickstart changes
- hosts: localhost
- roles:
- - gate-quickstart
diff --git a/playbooks/multinode-minion.yml b/playbooks/multinode-minion.yml
deleted file mode 100644
index 5df3c432d..000000000
--- a/playbooks/multinode-minion.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-- import_playbook: quickstart.yml
-- import_playbook: multinode-undercloud.yml
-- import_playbook: multinode-undercloud-minion.yml
diff --git a/playbooks/multinode-multiple-overcloud.yml b/playbooks/multinode-multiple-overcloud.yml
deleted file mode 100644
index 0a3446631..000000000
--- a/playbooks/multinode-multiple-overcloud.yml
+++ /dev/null
@@ -1,79 +0,0 @@
----
-
-##########################
-# Prepare for deployment #
-##########################
-
-# From tripleo-quickstart/playbooks
-- import_playbook: quickstart.yml
-- import_playbook: multinode-undercloud.yml
-- import_playbook: multinode-overcloud-prep.yml
-
-##################################
-# Deploy First stack - overcloud #
-##################################
-
-- name: Deploy the overcloud
- hosts: undercloud
- gather_facts: false
- environment:
- TRIPLEO_ROOT: "{{ lookup('env','TRIPLEO_ROOT') }}"
- tasks:
- - name: Deploy the overcloud
- include_role:
- name: overcloud-deploy
-
- - name: Check the overcloud_deployment_result.json if this is CI job
- tags:
- - overcloud-deploy
- block:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
-
-#######################################
-# Deploy Second stack - overcloud-two #
-#######################################
-- name: Deploy the second overcloud
- hosts: undercloud
- gather_facts: false
- environment:
- TRIPLEO_ROOT: "{{ lookup('env','TRIPLEO_ROOT') }}"
- vars:
- stack_name: "overcloud-two"
- overcloud_cloud_name: "{{ stack_name }}.localdomain"
- overcloud_cloud_name_internal: "{{ stack_name }}.internalapi.localdomain"
- overcloud_cloud_name_storage: "{{ stack_name }}.storage.localdomain"
- overcloud_cloud_name_storage_management: "{{ stack_name }}.storagemgmt.localdomain"
- overcloud_cloud_name_ctlplane: "{{ stack_name }}.ctlplane.localdomain"
- tasks:
- - name: Deploy the second overcloud
- include_role:
- name: overcloud-deploy
-
- - name: Check the overcloud_deployment_result.json if this is CI job
- tags:
- - overcloud-deploy
- block:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
-
-######################################
-# Run tempest on overcloud-two stack #
-######################################
-
-# From tripleo-quickstart/playbooks
-- import_playbook: multinode-validate.yml
- vars:
- tempest_cloud_name: 'overcloud-two'
diff --git a/playbooks/multinode-overcloud-mixed-os-deploy.yml b/playbooks/multinode-overcloud-mixed-os-deploy.yml
deleted file mode 100644
index 158fefe08..000000000
--- a/playbooks/multinode-overcloud-mixed-os-deploy.yml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-- name: Deploy the overcloud control stack
- hosts: undercloud
- gather_facts: false
- environment:
- TRIPLEO_ROOT: "{{ lookup('env','TRIPLEO_ROOT') }}"
- tasks:
- - name: Deploy the overcloud
- include_role:
- name: overcloud-deploy
- vars:
- overcloud_roles: "{{ overcloud_roles_mixed }}"
- topology_map: "{{ topology_map_mixed }}"
- tags:
- - overcloud-deploy
-
- - name: Check the overcloud_deployment_result.json if this is CI job
- tags:
- - overcloud-deploy
- block:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
-
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
diff --git a/playbooks/multinode-overcloud-mixed-os-repos-compute.yml b/playbooks/multinode-overcloud-mixed-os-repos-compute.yml
deleted file mode 100644
index a92645272..000000000
--- a/playbooks/multinode-overcloud-mixed-os-repos-compute.yml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-deploy
- vars:
- inventory: multinode_mixed_os
- roles:
- - tripleo-inventory
-
-- name: Create configs on subnodes
- hosts: overcloud_compute
- roles:
- - role: repo-setup
- when: not mixed_upgrade|default(false)|bool
- tasks:
- - name: Create a clean hosts file on subnodes
- copy:
- dest: /etc/hosts
- content: |
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- become: true
-
- - name: Run atop on overcloud node if configured
- include_role:
- name: undercloud-setup
- tasks_from: atop
-
- tags:
- - undercloud-setup
diff --git a/playbooks/multinode-overcloud-prep.yml b/playbooks/multinode-overcloud-prep.yml
deleted file mode 100644
index dee2e9c50..000000000
--- a/playbooks/multinode-overcloud-prep.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-- name: Run overcloud prep config
- hosts: undercloud
- gather_facts: false
- roles:
- - role: overcloud-prep-config
- # only run when we know we have to, save time otherwise
- when: mixed_upgrade|default(false)|bool
- tags:
- - overcloud-prep-config
-
-- name: Run overcloud prep roles
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: overcloud-prep-images,
- step_overcloud_image: false,
- step_glance_upload: true,
- step_register: false}
-
-- name: Prepare for containerized deployment
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-containers
- roles:
- - role: overcloud-prep-containers
- use_overcloud_mixed_upgrade: "{{ mixed_upgrade|default(false) }}"
-
-- name: Ensure openvswitch is started and enabled
- hosts: overcloud
- tags:
- - overcloud-deploy
- tasks:
- - name: Ensure openvswitch is started and enabled
- become: true
- service:
- name: openvswitch
- state: started
- enabled: true
diff --git a/playbooks/multinode-overcloud-update.yml b/playbooks/multinode-overcloud-update.yml
deleted file mode 100644
index 058e1ded4..000000000
--- a/playbooks/multinode-overcloud-update.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-# the yum repos ALWAYS need to change
-- name: Configure next minor release repository on overcloud nodes
- hosts: overcloud
- gather_facts: false
- tags:
- - overcloud-update
- vars:
- repo_setup_script: "repo-setup-update.sh"
- repo_setup_log: "repo-setup-update.log"
- repo_setup_run_update: false
- # This should not be enabled because the updating of the packages occurs
- # durring the upgrade process. For general installation it's ok to have
- # this enabled, but this needs to be disabled for upgrades
- ib_gating_repo_update: false
- roles:
- - role: repo-setup
- when:
- - minor_update|default(false)|bool
- - not mixed_os|default(false)|bool
-
-- name: Update containers file before minor update
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-update
- roles:
- - role: container-update
- when:
- - minor_update|default(false)|bool
- - not mixed_os|default(false)|bool
-
-- name: Run tripleo-upgrade role to update the overcloud
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-update
- roles:
- - role: tripleo-upgrade
- when: overcloud_update|default(false)|bool
diff --git a/playbooks/multinode-overcloud-upgrade.yml b/playbooks/multinode-overcloud-upgrade.yml
deleted file mode 100644
index db0589771..000000000
--- a/playbooks/multinode-overcloud-upgrade.yml
+++ /dev/null
@@ -1,66 +0,0 @@
----
-# the yum repos ALWAYS need to change
-- name: Configure next release repository in the undercloud
- hosts: overcloud
- tags:
- - overcloud-upgrade
- gather_facts: false
- vars:
- repo_setup_script: "repo-setup-{{ release }}.sh"
- repo_setup_log: "repo-setup-{{ release }}.log"
- # Avoid running yum update, only set up repos
- repo_setup_run_update: false
- # This should not be enabled because the updating of the packages occurs
- # durring the upgrade process. For general installation it's ok to have
- # this enabled, but this needs to be disabled for upgrades
- ib_gating_repo_update: false
- roles:
- - role: repo-setup
- when: containerized_overcloud_upgrade|default(false)|bool
-
-# note: in upstream CI the gerrit change is built on the content-provider
-# this task will be skipped upstream
-- name: Build the gerrit changes on the relevant release for the upgrade
- hosts: overcloud
- tags:
- - build
- gather_facts: false
- vars:
- repo_setup_script: "repo-setup-{{ release }}.sh"
- repo_setup_log: "repo-setup-{{ release }}.log"
- # Avoid running yum update, only set up repos
- repo_setup_run_update: false
- artg_compressed_gating_repo: "${HOME}/gating_repo.tar.gz"
- # This should not be enabled because the updating of the packages occurs
- # durring the upgrade process. For general installation it's ok to have
- # this enabled, but this needs to be disabled for upgrades
- ib_gating_repo_update: false
- roles:
- - role: build-test-packages
- - role: install-built-repo
- when: hostvars['undercloud']['compressed_gating_repo'] is defined and mixed_upgrade|default(false)|bool
-
-- name: Prepare containers for Upgrade
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-containers
- roles:
- - role: overcloud-prep-containers
- # This need the new repo in place.
- update_containers: true
- # Do not overwrite the deployment log if any.
- overcloud_prep_containers_log: "upgrade_overcloud_prep_containers.log"
- overcloud_prep_containers_script: "upgrade_overcloud_prep_containers.sh"
- when: containerized_overcloud_upgrade|default(false)|bool
-
-- name: Run tripleo-upgrade role to upgrade overcloud
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-upgrade
- tasks:
- - name: Include TripleO upgrade role
- include_role:
- name: tripleo-upgrade
- when: overcloud_upgrade|default(false)|bool or ffu_overcloud_upgrade|default(false)|bool
diff --git a/playbooks/multinode-overcloud.yml b/playbooks/multinode-overcloud.yml
deleted file mode 100644
index d7f2fb558..000000000
--- a/playbooks/multinode-overcloud.yml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-- name: Deploy the overcloud
- hosts: undercloud
- gather_facts: false
- environment:
- TRIPLEO_ROOT: "{{ lookup('env','TRIPLEO_ROOT') }}"
- tasks:
- - name: Deploy the overcloud
- include_role:
- name: overcloud-deploy
- tags:
- - overcloud-deploy
-
- - name: Check the overcloud_deployment_result.json if this is CI job
- tags:
- - overcloud-deploy
- block:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
-
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
diff --git a/playbooks/multinode-standalone-ipa.yml b/playbooks/multinode-standalone-ipa.yml
deleted file mode 100644
index e960b6620..000000000
--- a/playbooks/multinode-standalone-ipa.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-- name: Add the nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- vars:
- inventory: multinode
- roles:
- - tripleo-inventory
- tags:
- - standalone
-
-- name: Setup the IPA server
- hosts: subnode-1
- tags:
- - standalone
- tasks:
- - include_role:
- name: ipa-multinode
- tasks_from: ipaserver-subnode-install.yml
-
-- name: Setup the undercloud for IPA server
- hosts: undercloud
- tags:
- - standalone
- tasks:
- - include_role:
- name: ipa-multinode
- tasks_from: ipaserver-undercloud-setup.yml
diff --git a/playbooks/multinode-standalone-pre.yml b/playbooks/multinode-standalone-pre.yml
deleted file mode 100644
index b32bb8b83..000000000
--- a/playbooks/multinode-standalone-pre.yml
+++ /dev/null
@@ -1,39 +0,0 @@
----
-- name: Discover a real branch for a running job
- hosts: undercloud
- tags:
- - standalone
- - undercloud
- tasks:
- - name: Set branch for building containers check jobs
- set_fact:
- ci_branch: "{{ job.zuul.branch | regex_replace('(stable|cloudsig)/', '') }}"
- cacheable: true
- when: job.zuul is defined
-
- - name: Set branch for building containers branchless
- set_fact:
- ci_branch: "{{ job.branch_override | regex_replace('(stable|cloudsig)/', '') }}"
- cacheable: true
- when: job.branch_override is defined
-
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - standalone
- - undercloud
- vars:
- inventory: multinode
- roles:
- - tripleo-inventory
-
-- name: Prepare the undercloud for installation
- hosts: undercloud
- roles:
- - undercloud-setup
- tags:
- - standalone
- - undercloud
-
-- import_playbook: content-provider-containers.yml
diff --git a/playbooks/multinode-standalone-repoclosure.yml b/playbooks/multinode-standalone-repoclosure.yml
deleted file mode 100644
index b7d157e34..000000000
--- a/playbooks/multinode-standalone-repoclosure.yml
+++ /dev/null
@@ -1,32 +0,0 @@
----
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - standalone
- vars:
- inventory: multinode
- roles:
- - tripleo-inventory
-
-- name: Enable nested virtualization on the host
- hosts: undercloud
- gather_facts: true
- roles:
- - parts/kvm
- tags:
- - nested_virt
-
-- name: Prepare the undercloud for installation
- hosts: undercloud
- roles:
- - undercloud-setup
- tags:
- - standalone
-
-- name: Test available repos for repoclosure
- hosts: undercloud
- roles:
- - repoclosure
- tags:
- - standalone
diff --git a/playbooks/multinode-standalone-upgrade.yml b/playbooks/multinode-standalone-upgrade.yml
deleted file mode 100644
index 53fbb1b8b..000000000
--- a/playbooks/multinode-standalone-upgrade.yml
+++ /dev/null
@@ -1,131 +0,0 @@
----
-# Opening up repo-setup as cached variables can cause issue, see
-# https://bugs.launchpad.net/tripleo/+bug/1795367
-- name: Standalone upgrade repos setup and host upgrade
- hosts: undercloud
- tasks:
-
- - name: Standalone upgrade get new dlrn hash.
- include_role:
- name: repo-setup
- tasks_from: get-dlrn-hash
-
- - name: Standalone upgrade get new dlrn hash.
- include_role:
- name: repo-setup
- tasks_from: get-dlrn-hash-newest
-
- - name: Standalone upgrade generate new dlrn repo-setup script.
- include_role:
- name: repo-setup
- tasks_from: create-repo-script
- vars:
- repo_setup_script: repo_setup_upgrade.sh
- repo_setup_run_update: false
- # when yum_config_module is enabled
- repo_cmd_before_setup_script: repo_cmd_before_setup_upgrade.sh
- repo_setup_new_script: repo_setup_upgrade_new.sh
- repo_cmd_after_setup_script: repo_cmd_after_setup_upgrade.sh
-
- # The next task triggers the yum upgrade command in as
- # repo_setup_run_update is true in release files by default.
- - name: Standalone upgrade setup new repos
- include_role:
- name: repo-setup
- tasks_from: setup_repos
- vars:
- repo_setup_log: repo_setup_upgrade.log
- repo_setup_script: repo_setup_upgrade.sh
- when: not use_yum_config_module|default(false)|bool
-
- # Run setup_repos_new tasks when using yum_config_module
- - name: Standalone upgrade setup new repos using yum-config module
- include_role:
- name: repo-setup
- tasks_from: setup_repos_new
- vars:
- repo_setup_log: repo_setup_upgrade.log
- repo_cmd_before_setup_script: repo_cmd_before_setup_upgrade.sh
- repo_setup_new_script: repo_setup_upgrade_new.sh
- repo_cmd_after_setup_script: repo_cmd_after_setup_upgrade.sh
- when: use_yum_config_module|default(false)|bool
-
- - name: Check and enable the component-ci-testing repo if present
- become: true
- when: job.component is defined
- block:
- - name: Stat for the component-ci-testing repo file
- stat:
- path: "/etc/yum.repos.d/{{ job.component }}-component.repo"
- register: component_repo
- - name: Enable the component-ci-testing repo if we have one
- ini_file:
- path: "/etc/yum.repos.d/{{ job.component }}-component.repo"
- option: enabled
- value: '1'
- section: "{{ job.component }}"
- no_extra_spaces: true
- when:
- - component_repo.stat.isreg is defined
- - component_repo.stat.isreg
-
- tags:
- - standalone-upgrade
-
-# This is what is gating the patch in the N version in a N-1->N
-# upgrade.
-- name: Standalone upgrade runs DLRN gate role and install repo
- hosts: undercloud
- vars:
- artg_compressed_gating_repo: "/home/{{ undercloud_user }}/gating_repo.tar.gz"
- # This should not be enabled because the updating of the packages occurs
- # durring the upgrade process. For general installation it's ok to have
- # this enabled, but this needs to be disabled for upgrades
- ib_gating_repo_update: false
- roles:
- - build-test-packages
- - {role: install-built-repo, when: compressed_gating_repo is defined}
- tags:
- - build
-
-# NOTE(aschultz): nested virt causes problems in CI so we default to qemu
-# and do not do the dynamic virt lookup.
-- name: Standalone Upgrade
- hosts: undercloud
- vars:
- standalone_libvirt_type: "{{ standalone_virt_type|default('qemu') }}"
- roles:
- - standalone-upgrade
- tags:
- - standalone-upgrade
-
-# Remove me when os_tempest tempest init gets fixed
-- name: Tempest workspace workaround
- hosts: undercloud
- tasks:
- - name: Nuke tempest workspace
- file:
- path: "{{ item }}"
- state: absent
- with_items:
- - "{{ ansible_user_dir }}/tempest"
- - "{{ ansible_user_dir }}/.tempest"
- ignore_errors: true
-
-- name: Validate the Standalone upgrade
- hosts: undercloud
- # Note(chkumar246): Moved the os_tempest related var at the top
- # of play level in order to have scope for the whole of the play
- # https://bugs.launchpad.net/tripleo/+bug/1838496
- vars:
- tempest_install_method: distro
- tempest_cloud_name: 'standalone'
- tempest_cidr: '192.168.24.0/24'
- tasks:
- - include_tasks: tasks/tempest.yml
- when: use_os_tempest | default(true)
- environment:
- # Disable ssl warnings
- CURL_CA_BUNDLE: ""
- tags:
- - standalone-upgrade
diff --git a/playbooks/multinode-standalone.yml b/playbooks/multinode-standalone.yml
deleted file mode 100644
index ee772b257..000000000
--- a/playbooks/multinode-standalone.yml
+++ /dev/null
@@ -1,79 +0,0 @@
----
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - standalone
- vars:
- inventory: multinode
- roles:
- - tripleo-inventory
-
-- name: Enable nested virtualization on the host
- hosts: undercloud
- gather_facts: true
- roles:
- - parts/kvm
- tags:
- - nested_virt
-
-- name: Prepare the undercloud for installation
- hosts: undercloud
- roles:
- - undercloud-setup
- tags:
- - standalone
-
-- name: Download amphora image for octavia
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: octavia-amphora-download,
- when: download_amphora is defined and download_amphora|bool}
- tags:
- - octavia
-
-# NOTE(aschultz): nested virt causes problems in CI so we default to qemu
-# and do not do the dynamic virt lookup.
-- name: Deploy Standalone
- hosts: undercloud
- vars:
- standalone_libvirt_type: "{{ standalone_virt_type|default('qemu') }}"
- roles:
- - standalone
- tags:
- - standalone
-
-- name: Run tripleo-validations standalone tests
- import_playbook: validations.yml
-
-- name: Validate the undercloud
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: validate-services, when: validate_services|default(false)|bool}
- tags:
- - standalone
-
-# Per https://bugs.launchpad.net/tripleo/+bug/1903993 we need to reduce the
-# standalone-upgrade runtime. If this is upgrade job fs56 skip tempest include.
-- name: Validate the deployment
- hosts: undercloud
- # Note(chkumar246): Moved the os_tempest related var at the top
- # of play level in order to have scope for the whole of the play
- # https://bugs.launchpad.net/tripleo/+bug/1838496
- vars:
- tempest_install_method: distro
- tempest_cloud_name: 'standalone'
- tasks:
- - include_tasks: tasks/tempest.yml
- when:
- - job is undefined or (job is defined and
- job.featureset is defined and job.featureset != '056')
- - use_os_tempest | default(true)
- - not job.skip_os_tempest|default(false)
- environment:
- # Disable ssl warnings
- CURL_CA_BUNDLE: ""
- tags:
- - standalone
diff --git a/playbooks/multinode-undercloud-minion.yml b/playbooks/multinode-undercloud-minion.yml
deleted file mode 100644
index 145fb7578..000000000
--- a/playbooks/multinode-undercloud-minion.yml
+++ /dev/null
@@ -1,84 +0,0 @@
----
-# TODO(aschultz): fix tags in here to be undercloud-minion-setup
-- name: Collect output from undercloud
- hosts: undercloud
- gather_facts: false
- tasks:
- - name: Copy output files
- include_role:
- name: undercloud-deploy
- tasks_from: gather-outputs
- tags:
- - undercloud-setup
-
-- name: Write output from undercloud
- hosts: overcloud
- gather_facts: false
- tasks:
- - name: Reading and setting undercloud facts from gather-outputs
- set_fact:
- undercloud_outputs: "{{ hostvars['undercloud']['undercloud_outputs'] }}"
- undercloud_passwords: "{{ hostvars['undercloud']['undercloud_passwords'] }}"
- - name: write output files to old consistent location
- include_role:
- name: undercloud-setup
- tasks_from: write-outputs
- - name: create new consistent location
- file:
- state: directory
- path: "{{ working_dir ~ '/tripleo-deploy/minion' }}"
- - name: write output files to new consistent location
- include_role:
- name: undercloud-setup
- tasks_from: write-outputs
- vars:
- undercloud_outputs_dir: "{{ working_dir ~ '/tripleo-deploy/minion/' }}"
- tags:
- - undercloud-setup
-
-- name: Setup the undercloud minion
- hosts: overcloud
- vars:
- # these are the defaults but we should be explicit
- minion_enable_heat_engine: true
- minion_enable_ironic_conductor: true
- tasks:
- - name: Include atop setup
- include_role:
- name: undercloud-setup
- tasks_from: atop
- - name: Set container update fact from undercloud
- set_fact:
- update_containers_append_tag: "{{ hostvars['undercloud']['update_containers_append_tag'] | default('') }}"
- - name: Include repo-setup
- include_role:
- name: repo-setup
- - name: Include package installs
- include_role:
- name: undercloud-setup
- tasks_from: package_installs
- when: package_installs|default(true)|bool
- - name: Update built packages
- shell: |
- {{ ansible_pkg_mgr }} --enablerepo='gating-repo' update -y # noqa 305
- become: true
- when: hostvars['undercloud']['compressed_gating_repo'] is defined
- tags:
- - undercloud-setup
-
-- name: Deploy the undercloud minion
- hosts: overcloud
- roles:
- - undercloud-minion-deploy
- tags:
- - undercloud-setup
-
-- name: Validate minion
- hosts: undercloud
- vars:
- validate_minion_heat_engine: true
- validate_minion_ironic_conductor: true
- roles:
- - validate-minion
- tags:
- - overcloud-validate
diff --git a/playbooks/multinode-undercloud-mixed-os.yml b/playbooks/multinode-undercloud-mixed-os.yml
deleted file mode 100644
index ee2aff393..000000000
--- a/playbooks/multinode-undercloud-mixed-os.yml
+++ /dev/null
@@ -1,95 +0,0 @@
----
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-deploy
- vars:
- inventory: multinode_mixed_os
- roles:
- - tripleo-inventory
-
-- name: Create configs on subnodes
- hosts: overcloud_control
- roles:
- - role: repo-setup
- when: not mixed_upgrade|default(false)|bool
- tasks:
- - name: Create a clean hosts file on subnodes
- copy:
- dest: /etc/hosts
- content: |
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- become: true
-
- - name: Run atop on overcloud node if configured
- include_role:
- name: undercloud-setup
- tasks_from: atop
-
- tags:
- - undercloud-setup
-
-- name: Prepare the undercloud for installation
- hosts: undercloud
- roles:
- - undercloud-setup
- tags:
- - undercloud-setup
-
-- name: Install built packages on subnodes
- hosts: overcloud_control
- vars:
- ib_repo_host: undercloud
- roles:
- - role: repo-setup
- when: not mixed_upgrade|default(false)|bool
- - role: install-built-repo
- when: hostvars['undercloud']['compressed_gating_repo'] is defined and not mixed_upgrade|default(false)|bool
-
- tags:
- - build
-
-- name: Install the undercloud
- tags: undercloud-install
- hosts: undercloud
- tasks:
- - name: get hash set fact mixed_os_dlrn_hash_8 for periodic jobs (no content provider)
- when:
- - not job.consumer_job | default(false) | bool
- - registry_distro_lower is defined
- block:
- - include_role:
- name: repo-setup
- tasks_from: tripleo-get-hash-set-fact.yml
- vars:
- search_tag: "{{ dlrn_hash_tag }}"
- tgh_os_version_override: "{{ (ansible_distribution == 'RedHat') | ternary('rhel', 'centos') }}8"
- fact_name: "mixed_os_dlrn_hash_8"
- - name: "debug dlrn_hash_tag resolution "
- debug:
- msg: "d_h_t {{ dlrn_hash_tag }} resolved to mixed_os_dlrn_hash_8 {{ mixed_os_dlrn_hash_8 }} "
- - name: set fact mixed_os_dlrn_hash_8 for check/gate jobs (with content provider)
- when:
- - job.consumer_job | default(false) | bool
- - job.provider_dlrn_hash_distro is defined
- - registry_distro_lower is defined
- set_fact:
- mixed_os_dlrn_hash_8: "{{ job.provider_dlrn_hash_distro[registry_distro_lower] }}"
-
- - name: Deploy the undercloud
- include_role:
- name: undercloud-deploy
-
-- name: Validate the undercloud
- hosts: undercloud
- roles:
- - validate-undercloud
-
-- name: Set Libvirt type
- hosts: overcloud
- roles:
- - set-libvirt-type
- tags:
- - overcloud-deploy
diff --git a/playbooks/multinode-undercloud-upgrade.yml b/playbooks/multinode-undercloud-upgrade.yml
deleted file mode 100644
index eacce6b1d..000000000
--- a/playbooks/multinode-undercloud-upgrade.yml
+++ /dev/null
@@ -1,56 +0,0 @@
----
-# the yum repos ALWAYS need to change
-- name: Configure next release repository in the undercloud
- hosts: undercloud
- tags:
- - undercloud-upgrade
- vars:
- repo_setup_script: "repo-setup-{{ lookup('env', 'UPGRADE_RELEASE') }}.sh"
- repo_setup_log: "repo-setup-{{ lookup('env', 'UPGRADE_RELEASE') }}.log"
- repo_setup_run_update: false
- dlrn_hash_path: ''
- dlrn_hash_path_newest: ''
- # This should not be enabled because the updating of the packages occurs
- # durring the upgrade process. For general installation it's ok to have
- # this enabled, but this needs to be disabled for upgrades
- ib_gating_repo_update: false
- roles:
- - role: repo-setup
-
-# note: in upstream CI the gerrit change is built on the content-provider
-# this task will be skipped upstream
-- name: Build the gerrit changes on the relevant release for the upgrade
- hosts: undercloud
- tags:
- - build
- vars:
- repo_setup_script: "repo-setup-{{ lookup('env', 'UPGRADE_RELEASE') }}.sh"
- repo_setup_log: "repo-setup-{{ lookup('env', 'UPGRADE_RELEASE') }}.log"
- repo_setup_run_update: false
- dlrn_hash_path: ''
- dlrn_hash_path_newest: ''
- artg_compressed_gating_repo: "${HOME}/gating_repo.tar.gz"
- # This should not be enabled because the updating of the packages occurs
- # durring the upgrade process. For general installation it's ok to have
- # this enabled, but this needs to be disabled for upgrades
- ib_gating_repo_update: false
- roles:
- - role: build-test-packages
- - {role: install-built-repo, when: compressed_gating_repo is defined}
-
-- name: Prepare containers for Upgrade
- hosts: undercloud
- gather_facts: false
- tags:
- - undercloud-upgrade
- roles:
- - role: container-update
- when:
- - containerized_undercloud_upgrade|default(false)|bool
-
-- name: Run tripleo-upgrade role to upgrade undercloud
- hosts: undercloud
- tags:
- - undercloud-upgrade
- roles:
- - role: tripleo-upgrade
diff --git a/playbooks/multinode-undercloud.yml b/playbooks/multinode-undercloud.yml
deleted file mode 100644
index cc064f90c..000000000
--- a/playbooks/multinode-undercloud.yml
+++ /dev/null
@@ -1,91 +0,0 @@
----
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-deploy
- vars:
- inventory: multinode
- roles:
- - tripleo-inventory
-
-- name: Create configs on subnodes
- hosts: overcloud
- pre_tasks:
- - name: Include vars when dependency is defined
- when: job.dependency is defined or dependency is defined
- vars:
- tripleo_quickstart_dir: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/tripleo-quickstart'].src_dir }}"
- t_q_dependency_dir: "{{ tripleo_quickstart_dir }}/config/release/dependency_ci/{{ job.dependency|default(dependency) }}"
- block:
- - name: Load vars from dependency file
- include_vars:
- file: "{{ t_q_dependency_dir }}/repo_config.yaml"
- roles:
- # When doing mixed upgrade, we need different repos on undercloud
- # vs. overcloud. Rely on $UPGRADE_RELEASE together with
- # bootstrap-overcloud-full-minimal.sh to setup overcloud.
- - role: repo-setup
- when: not mixed_upgrade|default(false)|bool
- tasks:
- - name: Create a clean hosts file on subnodes
- copy:
- dest: /etc/hosts
- content: |
- 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
- ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
- become: true
-
- - name: Run atop on overcloud node if configured
- include_role:
- name: undercloud-setup
- tasks_from: atop
-
- tags:
- - undercloud-setup
-
-- name: Prepare the undercloud for installation
- hosts: undercloud
- roles:
- - undercloud-setup
- tags:
- - undercloud-setup
-
-- name: Install built packages on subnodes
- hosts: overcloud
- vars:
- ib_repo_host: undercloud
- roles:
- - role: repo-setup
- when: not mixed_upgrade|default(false)|bool
- - role: install-built-repo
- when: hostvars['undercloud']['compressed_gating_repo'] is defined and not mixed_upgrade|default(false)|bool
-
- tags:
- - build
-
-- name: Install the undercloud
- hosts: undercloud
- roles:
- - undercloud-deploy
-
-- name: Validate the undercloud
- hosts: undercloud
- roles:
- - validate-undercloud
-
-- name: Download amphora image for octavia
- hosts: undercloud
- gather_facts: false
- tags:
- - octavia
- roles:
- - {role: octavia-amphora-download,
- when: download_amphora is defined and download_amphora|bool}
-
-- name: Set Libvirt type
- hosts: overcloud
- roles:
- - set-libvirt-type
- tags:
- - overcloud-deploy
diff --git a/playbooks/multinode-validate.yml b/playbooks/multinode-validate.yml
deleted file mode 100644
index 5e9b1fd94..000000000
--- a/playbooks/multinode-validate.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-- name: setup dstat performance monitoring
- hosts: overcloud
- tags:
- - overcloud-validate
- roles:
- - {role: validate-perf,
- when: validate_performance|bool and use_os_tempest | default(true) | bool}
- ignore_errors: true
-
-# Validate the deployment
-- name: validate the overcloud
- hosts: undercloud
- tags:
- - overcloud-validate
- - undercloud-validate
- gather_facts: false
- roles:
- - {role: validate-services, when: validate_services|default(false)|bool}
-
-- name: Validate the deployment
- hosts: undercloud
- # Note(chkumar246): Moved the os_tempest related var at the top
- # of play level in order to have scope for the whole of the play
- # https://bugs.launchpad.net/tripleo/+bug/1838496
- vars:
- tempest_install_method: distro
- tempest_cloud_name: 'overcloud'
- tempest_cidr: '192.168.24.0/24'
- tasks:
- - include_tasks: tasks/tempest.yml
- when: use_os_tempest | default(true) | bool
- environment:
- # Disable ssl waarnings
- CURL_CA_BUNDLE: ""
- tags:
- - overcloud-validate
- - undercloud-validate
diff --git a/playbooks/multinode.yml b/playbooks/multinode.yml
deleted file mode 100644
index 52e482d66..000000000
--- a/playbooks/multinode.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-- import_playbook: quickstart.yml
-- import_playbook: multinode-undercloud.yml
-- import_playbook: multinode-overcloud-prep.yml
-- import_playbook: multinode-overcloud.yml
-- import_playbook: multinode-overcloud-update.yml
-- import_playbook: multinode-overcloud-upgrade.yml
-- import_playbook: validations.yml
-- import_playbook: multinode-validate.yml
diff --git a/playbooks/nodepool-setup.yml b/playbooks/nodepool-setup.yml
deleted file mode 100644
index be8efdf4e..000000000
--- a/playbooks/nodepool-setup.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-# setup the nodepool nodes
-- name: Setup the provisioned virtual machines to look like nodepool nodes
- hosts: subnodes
- gather_facts: true
- roles:
- - nodepool-setup
diff --git a/playbooks/ovb-create-stack.yml b/playbooks/ovb-create-stack.yml
deleted file mode 100644
index 7cce2b949..000000000
--- a/playbooks/ovb-create-stack.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-# 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_host: "{{ virthost }}"
-
-- name: Create the OVB stack
- hosts: localhost
- roles:
- - {role: ovb-manage-stack, ovb_manage_stack_mode: 'create'}
diff --git a/playbooks/ovb-delete-stack.yml b/playbooks/ovb-delete-stack.yml
deleted file mode 100644
index 2fff5860e..000000000
--- a/playbooks/ovb-delete-stack.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- name: clean up heat stack
- hosts: localhost
- roles:
- - {role: ovb-manage-stack, ovb_manage_stack_mode: 'delete'}
diff --git a/playbooks/ovb-setup.yml b/playbooks/ovb-setup.yml
deleted file mode 100644
index 2c3683c51..000000000
--- a/playbooks/ovb-setup.yml
+++ /dev/null
@@ -1,78 +0,0 @@
----
-- include: ovb-create-stack.yml
- when: not use_testenv_broker|default(false)|bool
-
-- include: prepare-slave.yml
- when: use_testenv_broker|default(false)|bool
-
-- name: Inventory the undercloud instance
- hosts: localhost
- gather_facts: true
- roles:
- - tripleo-inventory
-
-# Small playbook with logic for when to build images or not.
-# The logic there can be completely overridden by setting the
-# to_build variable.
-- name: When to build images or not
- import_playbook: to-build-or-not-to-build.yml
-
-- name: Setup the undercloud
- hosts: undercloud
- gather_facts: true
- roles:
- - undercloud-setup
- tasks:
- - name: Add eth2 interface from eth2.conf
- command: os-net-config -c {{ working_dir }}/eth2.conf -v
- become: true
- when:
- - network_isolation|bool
- - use_testenv_broker|default(false)|bool
-
- - name: Set DNS servers for OVB clouds - undercloud
- set_fact:
- undercloud_undercloud_nameservers: "{{ custom_nameserver }}"
- cacheable: true
-
- - name: Set DNS servers for OVB clouds - overcloud
- set_fact:
- overcloud_dns_servers: "{{ custom_nameserver }}"
- cacheable: true
-
-- name: Inventory the undercloud instance
- hosts: localhost
- gather_facts: true
- roles:
- - tripleo-inventory
-
-- name: Get images for quickstart
- hosts: undercloud
- gather_facts: false
- vars:
- ib_repo_image_inject: "{{ not to_build|bool }}"
- ib_repo_run_live: false
- modify_image_vc_ram: 4096
- modify_image_vc_cpu: 4
- modify_image_vc_verbose: true
- roles:
- - {role: fetch-images,
- when: not to_build|bool}
- - {role: repo-setup,
- repo_inject_image_path: "$HOME/{{ overcloud_image }}.qcow2",
- repo_run_live: false,
- when: not to_build|bool}
- - {role: repo-setup,
- repo_inject_image_path: "$HOME/ironic-python-agent.initramfs",
- repo_run_live: false,
- initramfs_image: true,
- libguestfs_mode: false,
- when: not to_build|bool}
- - {role: install-built-repo,
- ib_repo_image_path: "$HOME/{{ overcloud_image }}.qcow2",
- when: compressed_gating_repo is defined and not to_build|bool}
- - {role: install-built-repo,
- ib_repo_image_path: "$HOME/ironic-python-agent.initramfs",
- initramfs_image: true,
- libguestfs_mode: false,
- when: compressed_gating_repo is defined and not to_build|bool}
diff --git a/playbooks/ovb.yml b/playbooks/ovb.yml
deleted file mode 100644
index 0617ffee6..000000000
--- a/playbooks/ovb.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- import_playbook: ovb-setup.yml
-- import_playbook: baremetal-full-undercloud.yml
-- import_playbook: baremetal-full-overcloud-prep.yml
-- import_playbook: baremetal-full-overcloud.yml
-- import_playbook: validations.yml
-- import_playbook: baremetal-full-overcloud-validate.yml
- when: job.enable_overcloud_validate|default(true)|bool
diff --git a/playbooks/prepare-slave.yml b/playbooks/prepare-slave.yml
deleted file mode 100644
index 087e90028..000000000
--- a/playbooks/prepare-slave.yml
+++ /dev/null
@@ -1,52 +0,0 @@
----
-# Playbook included in OVB setups that use a testenv broker to create the
-# OVB stack.
-
-- name: Local setup for quickstart
- hosts: localhost
- connection: local
- tasks:
- - name: Host setup
- shell: >
- set -eo pipefail;
- echo "127.0.0.1 $(hostname) $(hostname).openstacklocal" | sudo tee -a /etc/hosts;
- echo "127.0.0.2 undercloud undercloud.openstacklocal" | sudo tee -a /etc/hosts;
- if [ ! -e ${HOME}/.ssh/id_rsa.pub ] ; then
- if [[ -e ${HOME}/.ssh/id_rsa ]]; then
- ssh-keygen -y -f ${HOME}/.ssh/id_rsa > ${HOME}/.ssh/id_rsa.pub;
- else
- ssh-keygen -N "" -f ${HOME}/.ssh/id_rsa;
- fi
- fi;
- sudo mkdir -p /root/.ssh;
- cat ~/.ssh/id_rsa.pub | sudo tee -a /root/.ssh/authorized_keys | tee -a ~/.ssh/authorized_keys;
- sudo rm -rf /etc/puppet /etc/hiera.yaml;
- sudo cp {{ tripleo_root }}/tripleo-ci/test-environments/overcloud-cacert.pem /etc/pki/ca-trust/source/anchors/;
- sudo update-ca-trust extract;
- cp -f {{ lookup('env', 'TE_DATAFILE') }} ~/instackenv.json;
- changed_when: true
-
- - name: Correct the driver for newer releases
- # TODO(dtantsur): remove when Pike is not supported
- command: sed -i s/pxe_ipmitool/ipmi/ ~/instackenv.json
- when: release not in ['newton', 'ocata', 'pike']
-
- - name: Create eth2.conf file
- blockinfile:
- dest: "{{ working_dir }}/eth2.conf"
- content: |
- network_config:
- - type: interface
- name: eth2
- use_dhcp: false
- mtu: 1450
- addresses:
- - ip_netmask: 10.0.0.1/24
- - ip_netmask: 2001:db8:fd00:1000::1/64
- create: true
-
- - name: Install ipmitool if not installed
- package:
- name: ipmitool
- state: latest # noqa 403
- become: true
diff --git a/playbooks/provision_multinodes.yml b/playbooks/provision_multinodes.yml
deleted file mode 100644
index 792ddae24..000000000
--- a/playbooks/provision_multinodes.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: Multinode
- hosts: localhost
- gather_facts: false
- roles:
- - role: multinodes
diff --git a/playbooks/quickstart-extras-overcloud-prep.yml b/playbooks/quickstart-extras-overcloud-prep.yml
deleted file mode 100644
index 9727b5f6a..000000000
--- a/playbooks/quickstart-extras-overcloud-prep.yml
+++ /dev/null
@@ -1,55 +0,0 @@
----
-# Prepare any additional configuration files required by the overcloud
-- name: Prepare configuration files for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-config
- roles:
- - overcloud-prep-config
-
-# Prepare the overcloud for a containerized deployment
-- name: Prepare overcloud containers
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-containers
- roles:
- - overcloud-prep-containers
-
-# Prepare the overcloud images for deployment
-- name: Prepare the overcloud images for deployment
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-images
- roles:
- - overcloud-prep-images
-
-# Prepare the overcloud flavor configuration
-- name: Prepare overcloud flavors
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-flavors
- roles:
- - {role: overcloud-prep-flavors,
- when: step_overcloud_prep_flavors|bool and undercloud_enable_nova|bool}
-
-# Prepare the undercloud networks for the overcloud deployment
-- name: Prepare the undercloud networks for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-prep-network
- roles:
- - overcloud-prep-network
-
-- name: Prepare the SSL Configuration for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- tags:
- - overcloud-scripts
- - overcloud-ssl
- roles:
- - {role: overcloud-ssl}
diff --git a/playbooks/quickstart-extras-overcloud.yml b/playbooks/quickstart-extras-overcloud.yml
deleted file mode 100644
index 9ac2a6b1d..000000000
--- a/playbooks/quickstart-extras-overcloud.yml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-# Deploy the overcloud
-- name: Deploy the overcloud
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-deploy
- roles:
- - overcloud-deploy
-
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- tags:
- - overcloud-deploy
- - overcloud-inventory
- vars:
- inventory: all
- roles:
- - tripleo-inventory
-
-# Check the results of the deployment, note after inventory has executed
-- name: Check the result of the deployment
- hosts: undercloud
- tags:
- - overcloud-deploy
- - overcloud-check
- tasks:
- - name: Check the overcloud_deployment_result.json if this is CI job
- tags:
- - overcloud-deploy
- block:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
diff --git a/playbooks/quickstart-extras-standalone.yml b/playbooks/quickstart-extras-standalone.yml
deleted file mode 100644
index 00b1c91d7..000000000
--- a/playbooks/quickstart-extras-standalone.yml
+++ /dev/null
@@ -1,66 +0,0 @@
----
-- include: quickstart.yml
-
-# setup for the undercloud
-- name: Prepare the node for installation
- hosts: undercloud
- gather_facts: false
- tags:
- - standalone
- roles:
- - undercloud-setup
-
-- name: Add remove ens3 if not required
- hosts: undercloud
- gather_facts: true
- tasks:
- - include_role:
- name: baremetal-prep-virthost
- tasks_from: remove_ens3.yml
- when:
- - ansible_distribution == 'CentOS'
- - ansible_distribution_major_version|int >= 8
-
-- name: Gather facts
- hosts: undercloud
- become: false
- tags:
- - standalone
- tasks:
- - name: Ensure all facts are gathered
- setup:
-
-# Deploy the standalone
-- name: Deploy the standalone
- hosts: undercloud
- gather_facts: true
- tags:
- - standalone
- roles:
- - standalone
-
-- name: Validate the undercloud
- hosts: undercloud
- gather_facts: false
- roles:
- - {role: validate-services, when: validate_services|default(false)|bool}
- tags:
- - standalone
-
-- name: Validate the deployment
- hosts: undercloud
- # Note(chkumar246): Moved the os_tempest related var at the top
- # of play level in order to have scope for the whole of the play
- # https://bugs.launchpad.net/tripleo/+bug/1838496
-
- vars:
- tempest_install_method: distro
- tempest_cloud_name: 'standalone'
- tasks:
- - include_tasks: tasks/tempest.yml
- when: use_os_tempest | default(true)
- environment:
- # Disable ssl warnings
- CURL_CA_BUNDLE: ""
- tags:
- - standalone
diff --git a/playbooks/quickstart-extras-undercloud.yml b/playbooks/quickstart-extras-undercloud.yml
deleted file mode 100644
index 988b7897e..000000000
--- a/playbooks/quickstart-extras-undercloud.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-# Deploy the FreeIPA server
-- name: Deploy the FreeIPA server
- hosts: supplemental
- gather_facts: false
- tags:
- - freeipa-setup
- roles:
- - {role: freeipa-setup, when: deploy_supplemental_node|bool and enable_tls_everywhere|bool}
-
-# setup for the undercloud
-- name: Setup the undercloud
- hosts: undercloud
- gather_facts: false
- vars:
- ansible_user: root
- tags:
- - undercloud-setup
- roles:
- - {role: undercloud-setup, when: undercloud_setup|bool}
-
-# Deploy the undercloud
-- name: Deploy the undercloud
- hosts: undercloud
- gather_facts: false
- tags:
- - undercloud-deploy
- roles:
- - undercloud-deploy
-
-- name: Download amphora image for octavia
- hosts: undercloud
- gather_facts: false
- tags:
- - octavia
- roles:
- - {role: octavia-amphora-download,
- when: download_amphora is defined and download_amphora|bool}
diff --git a/playbooks/quickstart-extras-validate.yml b/playbooks/quickstart-extras-validate.yml
deleted file mode 100644
index f43f6c4cd..000000000
--- a/playbooks/quickstart-extras-validate.yml
+++ /dev/null
@@ -1,37 +0,0 @@
----
-# Validate the deployment
-- name: setup dstat performance monitoring
- hosts: overcloud
- tags:
- - overcloud-validate
- roles:
- - {role: validate-perf,
- when: validate_performance|bool and use_os_tempest | default(true) | bool}
- ignore_errors: true
-
-# Execute tempest against the overcloud deployment
-- name: Validate the deployment
- hosts: undercloud
- tasks:
- - include_tasks: tasks/tempest.yml
- vars:
- tempest_install_method: distro
- tempest_cloud_name: 'overcloud'
- when: use_os_tempest | default(true)
- environment:
- # Disable ssl waarnings
- CURL_CA_BUNDLE: ""
- tags:
- - overcloud-validate
-
-# Ensure services and containers are OK
-- name: Execute simple service and container validations
- hosts:
- - undercloud
- - overcloud
- tags:
- - overcloud-validate
- - undercloud-validate
- gather_facts: false
- roles:
- - {role: validate-services, when: validate_services|default(false)|bool}
diff --git a/playbooks/quickstart-extras.yml b/playbooks/quickstart-extras.yml
deleted file mode 100644
index 49c0e7c8e..000000000
--- a/playbooks/quickstart-extras.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-# This is the playbook used by the `quickstart.sh` script.
-
-- import_playbook: quickstart.yml
-- import_playbook: quickstart-extras-undercloud.yml
-- import_playbook: quickstart-extras-overcloud-prep.yml
-- import_playbook: quickstart-extras-overcloud.yml
-- import_playbook: quickstart-extras-validate.yml
diff --git a/playbooks/repo-setup.yml b/playbooks/repo-setup.yml
deleted file mode 100644
index 5a3d9c95c..000000000
--- a/playbooks/repo-setup.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: Setup repositories
- hosts: undercloud
- gather_facts: true
- roles:
- - repo-setup
diff --git a/playbooks/scale_nodes.yml b/playbooks/scale_nodes.yml
deleted file mode 100644
index 88113b4a5..000000000
--- a/playbooks/scale_nodes.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-
-################
-# Deploy Nodes #
-################
-
-# From tripleo-quickstart/playbooks
-- import_playbook: quickstart-extras.yml
-
-###############
-# Scale Nodes #
-###############
-
-# Scale nodes w/o delete
-- name: Scale overcloud nodes
- hosts: undercloud
- roles:
- - {role: overcloud-scale, artosn_scale_nodes: true, artosn_delete_original_node: false}
-
-# Delete the original node of type that was scaled - ensure overcloud validates after reducing scale
-- name: Delete original node of type scaled
- hosts: undercloud
- roles:
- - {role: overcloud-scale, artosn_scale_nodes: false, artosn_delete_original_node: true}
-
-# NOTE(hrybacki: inventory regeneration and overcloud validation must be completed in a second playbook. The
-# deleted node is removed from the hosts file. However, it still exists in memory and will cause the
-# 'ansible-role-tripleo-inventory: regenerate ssh config' task to fail when attempting to acces non-existant host vars
diff --git a/playbooks/scale_nodes_verify.yml b/playbooks/scale_nodes_verify.yml
deleted file mode 100644
index 0c687e0cf..000000000
--- a/playbooks/scale_nodes_verify.yml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-
-# NOTE(hrybacki: inventory regeneration and overcloud validation must be completed in a second playbook. The
-# deleted node is removed from the hosts file. However, it still exists in memory and will cause the
-# 'ansible-role-tripleo-inventory: regenerate ssh config' task to fail when attempting to acces non-existant host vars
-
-# Re-inventory the overcloud
-- name: Inventory the overcloud
- hosts: undercloud
- gather_facts: true
- vars:
- inventory: all
- roles:
- - tripleo-inventory
diff --git a/playbooks/snapshot-libvirt.yml b/playbooks/snapshot-libvirt.yml
deleted file mode 100644
index efcc103c9..000000000
--- a/playbooks/snapshot-libvirt.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- name: Snapshot virts
- hosts: virthost
- gather_facts: true
- vars:
- - libvirt_uri: qemu:///system
- - overcloud_nodes:
- - name: subnode-0
- - name: subnode-1
- roles:
- - snapshot-libvirt
- become: true
diff --git a/playbooks/tasks/tempest.yml b/playbooks/tasks/tempest.yml
deleted file mode 100644
index 202ab487e..000000000
--- a/playbooks/tasks/tempest.yml
+++ /dev/null
@@ -1,237 +0,0 @@
----
-# Load the skipp list
-- name: Run tempest-skip tool to load tests to be skipped
- block:
- - name: Load tests to be skipped
- vars:
- list_skipped_release: "{{ release }}"
- list_skipped_job: "{{ zuul.job | default(omit) }}"
- list_skipped_deployment: "{{ (tempest_cloud_name in ['undercloud']) | ternary('undercloud', 'overcloud') }}"
- list_skipped_installer: "{{ (osp_release is defined) | ternary('osp', 'tripleo') }}"
- include_role:
- name: list_skipped
-
- - name: Add skiplist tests to tempest_test_blacklist - skip them
- set_fact:
- tempest_test_blacklist: "{{ tempest_skip_register.skipped_tests }}"
- when: not tempest_run_skipped | default(false) | bool
-
- - name: Add skiplist tests to tempest_test_whitelist - run them
- set_fact:
- tempest_test_whitelist: "{{ tempest_skip_register.skipped_tests }}"
- tempest_test_blacklist: []
- when: tempest_run_skipped | default(false) | bool
-
- vars:
- # when ansible.cfg have the option interpreter_python set to auto, ansible
- # executes with the system python instead of virtualenv even though you are
- # inside the virtualenv. Setting ansible_python_interpreter here ensures
- # that this playbook will be executed the virtualenv python, which have the
- # openstac-tempest-skiplist module
- ansible_python_interpreter: "{{ local_working_dir }}/bin/python"
- list_skipped_yaml_file: "{{ local_working_dir }}/usr/local/share/ansible/roles/validate-tempest/vars/tempest_skip.yml"
- when: tempest_use_skiplist | default(true)
- delegate_to: localhost
-
-- name: Run tempest-skip tool to load tests to be executed
- block:
- - name: Load tests to be executed
- vars:
- list_allowed_release: "{{ release }}"
- list_allowed_job: "{{ zuul.job | default(omit) }}"
- list_allowed_group: "{{ tempest_allowed_group | default(omit) }}"
- include_role:
- name: list_allowed
-
- - name: Add tests to tempest_test_includelist
- set_fact:
- tempest_test_includelist: "{{ tempest_allowed_register.allowed_tests }}"
- tempest_test_whitelist: "{{ tempest_allowed_register.allowed_tests }}"
- vars:
- ansible_python_interpreter: "{{ local_working_dir }}/bin/python"
- list_allowed_yaml_file: "{{ local_working_dir }}/usr/local/share/ansible/roles/validate-tempest/vars/tempest_allow.yml"
- when:
- - tempest_test_whitelist is not defined
- - not tempest_run_skipped | default(false) | bool
- delegate_to: localhost
-
-- name: set python_cmd
- set_fact:
- python_cmd: "python{{ ansible_python.version.major }}"
- cacheable: true
- when: python_cmd is not defined
-
-- name: Check if virtualenv is in the system
- command: "{{ python_cmd }} -m virtualenv --version"
- register: virtualenv_exist
- failed_when: false
- changed_when: false
-
-- when: virtualenv_exist.rc != 0
- name: Install virtualenv
- become: true
- package:
- state: present
- name: >
- {% if ansible_python.version.major == 3 %}
- python3-virtualenv
- {% else %}
- python-virtualenv
- {% endif %}
-
- # FIXME(chandankumar): centos9 https://bugs.launchpad.net/tripleo/+bug/1953032/comments/5
- # TODO(marios): centos8 https://bugs.launchpad.net/tripleo/+bug/1976247
-- name: Disable stackviz for CentOS Stream 9 and 8
- set_fact:
- tempest_run_stackviz: false
- when: ansible_distribution_major_version is version('8', '>=')
-
-# This will execute os_tempest
-- name: Execute os_tempest
- when: use_os_tempest | default(true)
- block:
- - name: Fail the tempest playbook on undefined cloud name and install method
- fail:
- msg: |
- The variable tempest_install_method and tempest_cloud_name is required and
- has not been set.
- when:
- - tempest_install_method is not defined
- - tempest_cloud_name is not defined
-
- # If tempest is running on undercloud, do not set this variable to true
- - name: Initialize neutron service for network creation
- set_fact:
- tempest_service_available_neutron: true
- when: tempest_cloud_name not in ['undercloud']
-
- - name: Create /root/.config/openstack directory
- file:
- state: directory
- path: "/root/.config/openstack"
- mode: 0700
- become: true
-
- - name: Copy clouds.yaml file to /root directory
- block:
- - name: Copy clouds.yaml file from user's home to /root directory
- copy:
- src: '{{ ansible_user_dir }}/.config/openstack/clouds.yaml'
- remote_src: true
- dest: '/root/.config/openstack/clouds.yaml'
- mode: 0600
- become: true
- rescue:
- - name: Copy clouds.yaml file /etc/openstack to /root directory
- copy:
- src: '/etc/openstack/clouds.yaml'
- remote_src: true
- dest: '/root/.config/openstack/clouds.yaml'
- mode: 0600
- become: true
-
- - name: Set network vars
- set_fact:
- tempest_public_net_physical_type: 'datacentre'
- tempest_public_subnet_cidr: '{{ tempest_cidr }}'
- tempest_public_subnet_gateway_ip: '{{ tempest_cidr|nthhost(1) }}'
- tempest_public_subnet_allocation_pools: '{{ tempest_cidr|nthhost(150) ~ "-" ~ tempest_cidr|nthhost(200) }}'
- tempest_network_ping_gateway: "{{ tempest_ping_router|default(true)|bool }}"
- tempest_private_net_provider_type: 'geneve'
- tempest_private_net_create: true
- tempest_router_create: true
- when: tempest_cidr is defined
-
- - name: Handle migration of br-ex network
- block:
- - name: Check if standalone parameters exists
- stat:
- path: "{{ working_dir }}/standalone_parameters.yaml"
- register: parameter_file
-
- - name: Read content of standalone parameters file if exists
- slurp:
- src: "{{ working_dir }}/standalone_parameters.yaml"
- register: standalone_parameters
- when: parameter_file.stat.exists
-
- - name: Parse contents
- set_fact:
- standalone_parameters_yaml: "{{ standalone_parameters['content'] | b64decode | from_yaml }}"
- when: parameter_file.stat.exists
-
- - name: set tempest facts for br-ex network migration
- set_fact:
- tempest_public_subnet_cidr: '172.16.1.0/24'
- tempest_public_subnet_gateway_ip: '172.16.1.2'
- tempest_public_subnet_allocation_pools: '172.16.1.100-172.16.1.150'
- when:
- - parameter_file.stat.exists
- - "'NeutronPhysicalBridge' not in (standalone_parameters_yaml | from_yaml)['parameter_defaults']"
- when:
- - job.environment_type is defined and job.environment_type == "standalone"
- - job.bridge_address_prefix is defined and job.bridge_address_prefix == "172.16.1"
-
- - name: Set tempest workspace related vars
- set_fact:
- tempest_use_tempestconf: true
- tempest_service_setup_host: '{{ inventory_hostname }}'
- tempest_workspace: "{{ ansible_user_dir }}/tempest"
- stackviz_venv_bin: "{{ ansible_user_dir }}/stackviz_venv/bin"
- tempest_test_extra_test: ['keystone_tempest_plugin.tests.api']
-
- - name: set facts while running tempest from source
- set_fact:
- tempest_git_repo: https://opendev.org/openstack/tempest
- tempest_tempestconf_git_repo: https://opendev.org/openinfra/python-tempestconf
- tempest_tempestconf_venv_bin: "{{ ansible_user_dir }}/tempestconf_venv/bin"
- tempest_venv_bin: "{{ ansible_user_dir }}/tempest_venv/bin"
- when: tempest_install_method == 'source'
-
- - name: Set extra facts for tempestconf
- vars:
- default_cirros_image: /opt/cache/files/cirros-0.5.2-x86_64-disk.img
- set_fact:
- tempest_tempestconf_profile_extras:
- image: "{{ featureset_override['cirros_image'] | default(default_cirros_image) }}"
- flavor_min_mem: 128
- retry_image: true
- overrides:
- identity.v3_endpoint_type: public
- validation.ssh_key_type: 'ecdsa'
- image.http_image: https://github.com/cirros-dev/cirros/releases/download/0.5.2/cirros-0.5.2-x86_64-disk.img
-
- # stackviz in venv pulls oslo.db due upstream constraints,
- # but it dropped py2 support so on such system we need to skip it
- # https://bugs.launchpad.net/tripleo/+bug/1862134
- - name: disable stackviz in python2 environment
- set_fact:
- tempest_run_stackviz: false
- when:
- - ansible_distribution_major_version is version('8', '<')
-
- - name: Run overcloud_network_discovery role
- vars:
- ansible_become: true
- debug: true
- execute_netstat: true
- kill_netstat: false
- include_role:
- name: overcloud-network-discovery
-
- - name: Run os_tempest role
- vars:
- ansible_become: true
- debug: true
- tempest_run: 'yes'
- include_role:
- name: os_tempest
-
- - name: Run overcloud_network_discovery role to kill netstat service
- vars:
- ansible_become: true
- debug: true
- execute_netstat: false
- kill_netstat: true
- include_role:
- name: overcloud-network-discovery
diff --git a/playbooks/to-build-or-not-to-build.yml b/playbooks/to-build-or-not-to-build.yml
deleted file mode 100644
index c497eb415..000000000
--- a/playbooks/to-build-or-not-to-build.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-- name: Decide whether we need to build images
- hosts: undercloud
- tasks:
- - include_role:
- name: check-to-build-or-not-to-build
diff --git a/playbooks/tobiko.yml b/playbooks/tobiko.yml
deleted file mode 100644
index e96c05921..000000000
--- a/playbooks/tobiko.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- name: Prepare and run Tobiko
- hosts: undercloud
- vars:
- debug: true
- tobiko_config: true
- tobiko_run: true
- tempest_cloud_name: overcloud
- tags:
- - overcloud-validate
- - standalone
- roles:
- - {role: validate-tobiko}
diff --git a/playbooks/validations.yml b/playbooks/validations.yml
deleted file mode 100644
index aac82a533..000000000
--- a/playbooks/validations.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-- name: Execute Validations Framework tests
- hosts: undercloud
- gather_facts: true
- vars:
- inventory: "{{ job.validations_inventory|default('tripleo-deploy/tripleo-ansible-inventory.yaml') }}"
- vf_log_dir: "/var/log/validations"
- tags:
- - overcloud-deploy
- - undercloud-deploy
- - standalone
- tasks:
- - include_role:
- name: validations
- when:
- - job.enable_validation|default(false)|bool
diff --git a/releasenotes/notes/Update_heat_deprecation_references-649da9a605fb40de.yaml b/releasenotes/notes/Update_heat_deprecation_references-649da9a605fb40de.yaml
deleted file mode 100644
index bdcf9b03f..000000000
--- a/releasenotes/notes/Update_heat_deprecation_references-649da9a605fb40de.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-fixes:
- - |
- The references to the Heat command are deprecated from Mitaka release and
- we should now be using the OpenStack CLI instead.
diff --git a/releasenotes/notes/add-default-cloud-settings-60e48de95aa4c2ac.yaml b/releasenotes/notes/add-default-cloud-settings-60e48de95aa4c2ac.yaml
deleted file mode 100644
index 6ef4a948f..000000000
--- a/releasenotes/notes/add-default-cloud-settings-60e48de95aa4c2ac.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-features:
- - |
- Added public cloud settings.
- All public cloud settings can be overridden to deploy on custom cloud
- environments.
- Added functionality to remove stacks and key pairs from the host cloud.
diff --git a/releasenotes/notes/composable_upgrade-50c2b6edc9a1ae82.yaml b/releasenotes/notes/composable_upgrade-50c2b6edc9a1ae82.yaml
deleted file mode 100644
index 37dde044c..000000000
--- a/releasenotes/notes/composable_upgrade-50c2b6edc9a1ae82.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-features:
- - Add support for composable upgrade since Newton release. The workflow for
- composable upgrade implement also the one for making mixed upgrade
- https://blueprints.launchpad.net/tripleo/+spec/tripleo-composable-upgrade-job
diff --git a/releasenotes/notes/custom-undercloud-roles-file-3603a5e98e2b12d5.yaml b/releasenotes/notes/custom-undercloud-roles-file-3603a5e98e2b12d5.yaml
deleted file mode 100644
index 35fbcde6a..000000000
--- a/releasenotes/notes/custom-undercloud-roles-file-3603a5e98e2b12d5.yaml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-fixes:
- - |
- Fix `undercloud_roles_data` to contain a relative path as tripleoclient
- expects it.
-other:
- - |
- ``undercloud deploy`` CLI now supports `undercloud_roles_data`.
- It can also be defined in `undercloud.conf` as `roles_file` to be
- used with ``undercloud install --use-heat`` as well.
diff --git a/releasenotes/notes/custom-undercloud-roles-file-812cf0871a3d3370.yaml b/releasenotes/notes/custom-undercloud-roles-file-812cf0871a3d3370.yaml
deleted file mode 100644
index ac04acf43..000000000
--- a/releasenotes/notes/custom-undercloud-roles-file-812cf0871a3d3370.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
----
-features:
- - |
- Add `undercloud_roles_data` for containerized undercloud
- deployments. Allows to specify a custom undercloud roles file which
- should be taken into account when preparing docker images for UC.
- Defaults to `{{ overcloud_templates_path }}/roles_data_undercloud.yaml`.
-
- .. note :: The default value can not be changed yet. The command
- `openstack undercloud deploy` works only with the static role file
- `roles_data_undercloud.yaml` from t-h-t. Custom undercloud roles
- data files, like `roles/UndercloudLight.yaml`, need to be copied as
- `{{ overcloud_heat_templates }}/roles_data_undercloud.yaml` in order
- to use this feature.
diff --git a/releasenotes/notes/deploy-undercloud-with-heat-d3f76546f2048fed.yaml b/releasenotes/notes/deploy-undercloud-with-heat-d3f76546f2048fed.yaml
deleted file mode 100644
index 51daa637d..000000000
--- a/releasenotes/notes/deploy-undercloud-with-heat-d3f76546f2048fed.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-features:
- - |
- EXPERIMENTAL feature to install the undercloud with openstack heat
- add support for a containerized undercloud. It allows to update the
- specified packages, install custom t-h-t templates and fetch work
- in progress dependency changes. This can be done deployment runtime,
- by an undercloud deploy script defined from a given template.
- The feature is invoked by using the config file in
- config/general_config/containers_undercloud_minimal.yml
- e.g. ./quickstart.sh -c $working_dir/config/general_config/containers_undercloud_minimal.yml --tags all -R master-tripleo-ci -w $working_dir $VIRTHOST
-
-deprecations:
- - |
- The variable "undercloud_hieradata_override_file" which was the hieradata
- override file for the undercloud, was deprecated in favor of the
- variables "hieradata_override_file_classic_undercloud" and
- "hieradata_override_file_t_h_t_undercloud".
diff --git a/releasenotes/notes/image_build-b094e7078674d3f6.yaml b/releasenotes/notes/image_build-b094e7078674d3f6.yaml
deleted file mode 100644
index 5396b7e89..000000000
--- a/releasenotes/notes/image_build-b094e7078674d3f6.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-issues:
- - |
- Because of very long image modifying by libguestfs, we now implement
- a different way to do it by converting image to raw, mounting it
- and modifying in the place (usual tripleo-ci way
- to do it, as it was before transition to quickstart).
- This implementation might be temporary until we figure what happens
- with libguestfs.
diff --git a/releasenotes/notes/mitaka-eol-523435fd9218f06b.yaml b/releasenotes/notes/mitaka-eol-523435fd9218f06b.yaml
deleted file mode 100644
index 21145a183..000000000
--- a/releasenotes/notes/mitaka-eol-523435fd9218f06b.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/multinic-network-isolation-update-130956fcb270d4cb.yaml b/releasenotes/notes/multinic-network-isolation-update-130956fcb270d4cb.yaml
deleted file mode 100644
index 5bac7ece5..000000000
--- a/releasenotes/notes/multinic-network-isolation-update-130956fcb270d4cb.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-features:
- - Added support for other network isolation physical topologies such as
- 'multiple-nics', 'bond-with-vlans', and 'public-bond'
-deprecations:
- - The use of network isolation types 'multi-nic', 'bond_with_vlans', and
- 'single_nic_vlans' are deprecated and will be removed in the 'R' release.
- Please change these values to 'multiple-nics', 'bond-with-vlans', and
- 'single-nic-vlans' accordingly.
diff --git a/releasenotes/notes/nova_cellv2_multicell-9d745283581c8626.yaml b/releasenotes/notes/nova_cellv2_multicell-9d745283581c8626.yaml
deleted file mode 100644
index 28dffc086..000000000
--- a/releasenotes/notes/nova_cellv2_multicell-9d745283581c8626.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/remove-undercloud-deploy-d91353832f0a7965.yaml b/releasenotes/notes/remove-undercloud-deploy-d91353832f0a7965.yaml
deleted file mode 100644
index bb600b9c8..000000000
--- a/releasenotes/notes/remove-undercloud-deploy-d91353832f0a7965.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-other:
- - |
- The `openstack undercloud deploy` command has been removed. The support for
- this method of deployment in the `undercloud-deploy` role has been removed.
diff --git a/releasenotes/notes/restore-tags-extras-playbook-3fdc668612708931.yaml b/releasenotes/notes/restore-tags-extras-playbook-3fdc668612708931.yaml
deleted file mode 100644
index 4f0ea9235..000000000
--- a/releasenotes/notes/restore-tags-extras-playbook-3fdc668612708931.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-features:
- - |
- Tags were added in all the playbooks so that it is possible to control
- atomically the flow of the entire process.
- For details about how to use tags check the chapter *Using tags to
- atomically execute specific phases of the deployment* in
- [TripleO Quickstart - Getting Started Guide](https://docs.openstack.org/tripleo-quickstart/latest/getting-started.html)
diff --git a/releasenotes/notes/root-device-hints-a8a6e41ec851ec12.yaml b/releasenotes/notes/root-device-hints-a8a6e41ec851ec12.yaml
deleted file mode 100644
index a53231bd5..000000000
--- a/releasenotes/notes/root-device-hints-a8a6e41ec851ec12.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-features:
- - Added the possibility to give root device hints
- for nodes, covering the same type of hints as
- Ironic allows.
-deprecations:
- - Currently only support for disk size hint was possible
- on OOOQ. This was using the ``disk_root_device_size``
- setting, as well as the disk property on instackenv.json
- This feature is not being removed, but the usage of new
- root device hintes feature is prefered. If some device
- hints are given using this new env setting, the old
- way will be ignored.
- In the future, ``disk_root_device_size`` hint will need
- to be deprecated.
-fixes:
- - Currently OOOQ deploys on baremetal, on servers with multiple
- disks, is not behaving correctly. There was the possibility
- of giving root device hints, but only based on size. On systems
- where the disk size was the same, it was impossible to target
- the right disk.
diff --git a/releasenotes/notes/switch_to_tripleomaster_registry-fd195a8ec8ca511b.yaml b/releasenotes/notes/switch_to_tripleomaster_registry-fd195a8ec8ca511b.yaml
deleted file mode 100644
index 3eb35d50a..000000000
--- a/releasenotes/notes/switch_to_tripleomaster_registry-fd195a8ec8ca511b.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-feature:
- - |
- Switch to tripleomaster registry be default for container images, where
- push happens automaticallyon RDO promotion.
-deprecations:
- - |
- The tripleoupstream container registry is not used anymore and may be
- retired in the future.
diff --git a/releasenotes/notes/undercloud-containers-registry-opts-fe4530037ac3762a.yaml b/releasenotes/notes/undercloud-containers-registry-opts-fe4530037ac3762a.yaml
deleted file mode 100644
index d6dfd00f9..000000000
--- a/releasenotes/notes/undercloud-containers-registry-opts-fe4530037ac3762a.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
----
-fixes:
- - |
- Containerized underclouds are allowed to have a custom
- `undercloud_docker_registry_tag`. `undercloud_docker_registry_port`
- may be omitted, if `undercloud_docker_registry_host` does not
- expect a custom port, like 'docker.io'.
-
- The docker registry host, port and tag for containerized undercloud
- services default to the values provided for overcloud deployments.
- You may want to alter it, if building images locally with Kolla, or
- fetching from remote registries not fitting overcloud deployment cases.
- As overcloud deployments may consume images form the undercloud local
- registry, it is possible to have `undercloud_docker_*` and
- `docker_*` params diverged for containerized underclouds vs overclouds.
diff --git a/releasenotes/notes/undercloud-deploy-pike-f14645c4a5442ef8.yaml b/releasenotes/notes/undercloud-deploy-pike-f14645c4a5442ef8.yaml
deleted file mode 100644
index 31d06440a..000000000
--- a/releasenotes/notes/undercloud-deploy-pike-f14645c4a5442ef8.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-deprecations:
- - |
- The experimental containerized undercloud deployments driven via
- `undercloud deploy` CLI is not supported anymore for Pike.
diff --git a/releasenotes/notes/undercloud_heat_templates_path-a28dd58b923aafae.yaml b/releasenotes/notes/undercloud_heat_templates_path-a28dd58b923aafae.yaml
deleted file mode 100644
index f12a6445e..000000000
--- a/releasenotes/notes/undercloud_heat_templates_path-a28dd58b923aafae.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-features:
- - |
- Underclouds and overclouds may be installed with Heat templates fetched
- into a custom location defined with ``overcloud_templates_path``.
diff --git a/releasenotes/notes/update_deprecated_openstack_command-7821ae15b0f05c76.yaml b/releasenotes/notes/update_deprecated_openstack_command-7821ae15b0f05c76.yaml
deleted file mode 100644
index 178eb2dac..000000000
--- a/releasenotes/notes/update_deprecated_openstack_command-7821ae15b0f05c76.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-other:
- - |
- The nodes registration and configure are done through `openstack overcloud
- node import instackenv.json` command from newton release and above.
diff --git a/releasenotes/notes/validate_services-ea3d14b982f4f9e8.yaml b/releasenotes/notes/validate_services-ea3d14b982f4f9e8.yaml
deleted file mode 100644
index 7e28555d4..000000000
--- a/releasenotes/notes/validate_services-ea3d14b982f4f9e8.yaml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-features:
- - New "validate_services" boolean flag in order to check the service state
- - New "validate-services" role in charge of container and service state
- validation
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 79a1ca5d9..000000000
--- a/releasenotes/source/conf.py
+++ /dev/null
@@ -1,270 +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 = 'sphinx'
-
-# 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
-repository_name = 'openstack/tripleo-quickstart-extras'
-bug_project = 'tripleo'
-bug_tag = 'documentation'
diff --git a/releasenotes/source/index.rst b/releasenotes/source/index.rst
deleted file mode 100644
index 8dec4337a..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/roles/baremetal-prep-overcloud/README.md b/roles/baremetal-prep-overcloud/README.md
deleted file mode 100644
index 9a5261063..000000000
--- a/roles/baremetal-prep-overcloud/README.md
+++ /dev/null
@@ -1,49 +0,0 @@
-Role Name
-=========
-
-An Ansible role to setup the undercloud for a deployment on baremetal overcloud nodes.
-
-Requirements
-------------
-
-This playbook expects that the undercloud has been installed and setup using one of the roles relevant to baremetal overcloud deployments.
-
-Role Variables
---------------
-
-**Note:** Make sure to include all environment file and options from your [initial Overcloud creation](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/7/html/Director_Installation_and_Usage/sect-Scaling_the_Overcloud.html).
-
-- step_root_device_size: -- boolean value that will apply disk size hints and rerun introspection if true
-- working_dir: <'/home/stack'> -- working directory for the role. Assumes stackrc file is present at this location
-- step_adjust_mtu: -- boolean value that will change MTUS on specified nics
-- mtu: <1350> -- numerical value to set MTUs
-- mtu_interface: <'eth1'> -- list of NICs
-- undercloud_type: -- can be overwritten with values like 'baremetal' or 'ovb'
-- network_isolation: -- bolean value to test if network isolation wil be used in the deployment
-- network_isolation_ipv4_cidr: <"172.16.23.0/24">
-
-Dependencies
-------------
-
-This playbook does not deploy the overcloud. After this playbook runs, call https://github.com/redhat-openstack/ansible-role-tripleo-overcloud.
-
-Example Playbook
-----------------
-
- 1. Sample playbook to call the role
-
- - name: Prepare for deployment on baremetal overcloud
- hosts: virthost
- gather_facts: false
- roles:
- - ansible-role-tripleo-overcloud-prep-baremetal
-
-License
--------
-
-Apache
-
-Author Information
-------------------
-
-RDO-CI Team
diff --git a/roles/baremetal-prep-overcloud/defaults/main.yml b/roles/baremetal-prep-overcloud/defaults/main.yml
deleted file mode 100644
index 2d8edc7ff..000000000
--- a/roles/baremetal-prep-overcloud/defaults/main.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-
-step_install_upstream_ipxe: false
-
-step_adjust_mtu: false
-mtu: 1350
-mtu_interface:
- - eth1
-
-undercloud_type: virtual
-network_isolation: true
-network_isolation_ipv4_cidr: "172.16.23.0/24"
diff --git a/roles/baremetal-prep-overcloud/meta/main.yml b/roles/baremetal-prep-overcloud/meta/main.yml
deleted file mode 100644
index 98bfef3b5..000000000
--- a/roles/baremetal-prep-overcloud/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - extras-common
diff --git a/roles/baremetal-prep-overcloud/tasks/install-upstream-ipxe.yml b/roles/baremetal-prep-overcloud/tasks/install-upstream-ipxe.yml
deleted file mode 100644
index b65eb91e3..000000000
--- a/roles/baremetal-prep-overcloud/tasks/install-upstream-ipxe.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-
-- name: Copy install upstream ipxe script template
- template:
- src: install-upstream-ipxe.sh.j2
- dest: "{{ working_dir }}/install-upstream-ipxe.sh"
- mode: 0755
-
-- name: Run install upstream ipxe script
- shell: >
- "{{ working_dir }}"/install-upstream-ipxe.sh
- when: step_install_upstream_ipxe|bool
diff --git a/roles/baremetal-prep-overcloud/tasks/main.yml b/roles/baremetal-prep-overcloud/tasks/main.yml
deleted file mode 100644
index 6e82cfb87..000000000
--- a/roles/baremetal-prep-overcloud/tasks/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-- include: install-upstream-ipxe.yml
diff --git a/roles/baremetal-prep-overcloud/templates/install-upstream-ipxe.sh.j2 b/roles/baremetal-prep-overcloud/templates/install-upstream-ipxe.sh.j2
deleted file mode 100644
index 5dd786f40..000000000
--- a/roles/baremetal-prep-overcloud/templates/install-upstream-ipxe.sh.j2
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-# Script to install the ipxe upstream version
-
-set -eux
-
-### --start_docs
-
-## Use
-## ===================
-
-##.. note:: it may be necessary to install the upstream version of ipxe, to avoid this kind of problems:
-##
-
-## * Install package dependencies
-## ::
-sudo yum -y install xz-devel gcc
-
-## * Clone upstream repo
-## ::
-rm -rf /tmp/ipxe
-git clone git://git.ipxe.org/ipxe.git /tmp/ipxe
-
-## * Compile and replace undionly.kpxe
-## ::
-pushd /tmp/ipxe/src
-make
-sudo cp /tmp/ipxe/src/bin/undionly.kpxe /tftpboot/undionly.kpxe
-popd
-
-### --stop_docs
diff --git a/roles/baremetal-prep-overcloud/tests/inventory b/roles/baremetal-prep-overcloud/tests/inventory
deleted file mode 100644
index 2fbb50c4a..000000000
--- a/roles/baremetal-prep-overcloud/tests/inventory
+++ /dev/null
@@ -1 +0,0 @@
-localhost
diff --git a/roles/baremetal-prep-overcloud/tests/test.yml b/roles/baremetal-prep-overcloud/tests/test.yml
deleted file mode 100644
index 009a5c7bb..000000000
--- a/roles/baremetal-prep-overcloud/tests/test.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- hosts: localhost
- remote_user: root
- roles:
- - ansible-role-tripleo-baremetal-overcloud
diff --git a/roles/baremetal-prep-virthost/README.md b/roles/baremetal-prep-virthost/README.md
deleted file mode 100644
index b9bc2f7b8..000000000
--- a/roles/baremetal-prep-virthost/README.md
+++ /dev/null
@@ -1,47 +0,0 @@
-Role Name
-=========
-
-An Ansible role to set up a machine to host a virtual undercloud for a TripleO deployment on baremetal nodes.
-
-Requirements
-------------
-
-This role assumes that the host machine already has a nic on the provisioning network. The role assigns the nic an IP address.
-
-Role Variables
---------------
-
-**Note:** Make sure to include all environment file and options from your [initial Overcloud creation](https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux_OpenStack_Platform/7/html/Director_Installation_and_Usage/sect-Scaling_the_Overcloud.html)
-
-- virthost_provisioning_interface: -- NIC for the provisioning interface on the undercloud host
-- virthost_provisioning_ip: <192.168.122.1> -- IP address for the provisioning interface on the undercloud host
-- virthost_provisioning_netmask: <255.255.255.192> -- Netmask for the provisioning interface on the undercloud host
-- virthost_provisioning_hwaddr: <52:54:00:00:76:00> -- MAC address the provisioning interface on the undercloud host
-- working_dir: <'/home/stack'> -- working directory for the role.
-
-
-Dependencies
-------------
-
-The playbook included in this role calls https://github.com/redhat-openstack/ansible-role-tripleo-validate-ipmi and https://github.com/redhat-openstack/ansible-role-tripleo-baremetal-overcloud.
-
-Example Playbook
-----------------
-
- 1. Sample playbook to call the role
-
- - name: Prepare the host for PXE forwarding
- hosts: virthost
- gather_facts: false
- roles:
- - ansible-role-tripleo-baremetal-prep-virthost
-
-License
--------
-
-Apache-2.0
-
-Author Information
-------------------
-
-RDO-CI Team
diff --git a/roles/baremetal-prep-virthost/defaults/main.yml b/roles/baremetal-prep-virthost/defaults/main.yml
deleted file mode 100644
index b18ac945b..000000000
--- a/roles/baremetal-prep-virthost/defaults/main.yml
+++ /dev/null
@@ -1,6 +0,0 @@
----
-
-virthost_provisioning_interface: eth1
-virthost_provisioning_ip: 192.168.122.1
-virthost_provisioning_netmask: 255.255.255.192
-virthost_provisioning_hwaddr: 52:54:00:00:76:00
diff --git a/roles/baremetal-prep-virthost/meta/main.yml b/roles/baremetal-prep-virthost/meta/main.yml
deleted file mode 100644
index 98bfef3b5..000000000
--- a/roles/baremetal-prep-virthost/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - extras-common
diff --git a/roles/baremetal-prep-virthost/tasks/add_services_ports_firewalld.yml b/roles/baremetal-prep-virthost/tasks/add_services_ports_firewalld.yml
deleted file mode 100644
index 78802b5a2..000000000
--- a/roles/baremetal-prep-virthost/tasks/add_services_ports_firewalld.yml
+++ /dev/null
@@ -1,13 +0,0 @@
----
-- name: ensure public firewalld services are added
- become: true
- firewalld:
- zone: public
- service: "{{ item }}"
- permanent: true
- state: enabled
- with_items:
- - tftp
- - dhcp
- - dhcpv6
- - dns
diff --git a/roles/baremetal-prep-virthost/tasks/main.yml b/roles/baremetal-prep-virthost/tasks/main.yml
deleted file mode 100644
index 65c502207..000000000
--- a/roles/baremetal-prep-virthost/tasks/main.yml
+++ /dev/null
@@ -1,27 +0,0 @@
----
-- name: Copy over provisioning nic script template for rhel7 or centos7
- template:
- src: add-provisioning-interface.sh.j2
- dest: "{{ working_dir }}/add-provisioning-interface.sh"
- mode: 0755
- when:
- - ansible_distribution in ['RedHat', 'CentOS']
- - ansible_distribution_major_version|int <= 7
-
-- name: Copy over provisioning nic script template for rhel8 or centos8
- template:
- src: add-provisioning-interface-os-major-version-8.sh.j2
- dest: "{{ working_dir }}/add-provisioning-interface.sh"
- mode: 0755
- when:
- - ansible_distribution in ['RedHat', 'CentOS']
- - ansible_distribution_major_version|int >= 8
-
-- name: wait for script file to exist
- wait_for: path="{{ working_dir }}/add-provisioning-interface.sh"
-
-- name: Add provisioning interface to the "brovc" bridge
- become: true
- shell: >
- "{{ working_dir }}"/add-provisioning-interface.sh
- changed_when: true
diff --git a/roles/baremetal-prep-virthost/tasks/remove_ens3.yml b/roles/baremetal-prep-virthost/tasks/remove_ens3.yml
deleted file mode 100644
index aed09ff84..000000000
--- a/roles/baremetal-prep-virthost/tasks/remove_ens3.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-- name: Discover if ens3 interface exists
- setup:
- gather_subset: "!all,!min,network"
- register: net
-
-- name: Check if ifcfg-ens3 exists
- become: true
- stat:
- path: /etc/sysconfig/network-scripts/ifcfg-ens3
- register: ens3_interface
-
-- name: Remove the interface file
- become: true
- file:
- path: /etc/sysconfig/network-scripts/ifcfg-ens3
- state: absent
- when:
- - ens3_interface.stat.exists
- - "'ens3' not in net.ansible_facts.ansible_interfaces"
diff --git a/roles/baremetal-prep-virthost/tasks/set_locale_UTF_8.yml b/roles/baremetal-prep-virthost/tasks/set_locale_UTF_8.yml
deleted file mode 100644
index 0386ccaa9..000000000
--- a/roles/baremetal-prep-virthost/tasks/set_locale_UTF_8.yml
+++ /dev/null
@@ -1,10 +0,0 @@
----
-- name: Get current locale and language configuration
- shell: localectl status | grep 'LANG'
- register: locale_status
- changed_when: false
-
-- name: run localectl to set LANG=en_US.UTF-8
- become: true
- command: "localectl set-locale LANG=en_US.UTF-8"
- when: '"LANG=en_US.UTF-8" not in locale_status.stdout'
diff --git a/roles/baremetal-prep-virthost/templates/add-provisioning-interface-os-major-version-8.sh.j2 b/roles/baremetal-prep-virthost/templates/add-provisioning-interface-os-major-version-8.sh.j2
deleted file mode 100644
index bad10dc42..000000000
--- a/roles/baremetal-prep-virthost/templates/add-provisioning-interface-os-major-version-8.sh.j2
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-
-set -eux
-
-### --start_docs
-
-## * Remove the stale nmcli bridge port connection from the previous deployment
-## ::
-
-if sudo nmcli con show | grep -i brovc-port1; then
- sudo nmcli con delete brovc-port1
-fi
-
-## * Add the NIC on the provisioning interface to the "brovc" bridge
-## ::
-
-sudo nmcli connection add type ethernet slave-type bridge con-name \
- brovc-port1 ifname {{ virthost_provisioning_interface }} \
- master brovc
-
-### --stop_docs
diff --git a/roles/baremetal-prep-virthost/templates/add-provisioning-interface.sh.j2 b/roles/baremetal-prep-virthost/templates/add-provisioning-interface.sh.j2
deleted file mode 100644
index f4309df8a..000000000
--- a/roles/baremetal-prep-virthost/templates/add-provisioning-interface.sh.j2
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/bin/bash
-
-set -eux
-
-### --start_docs
-
-## Deploying a baremetal overcloud from a virtual machine undercloud
-## =================================================================
-
-## * The following set up steps are run *on the virthost machine* to allow the undercloud VM
-## * to PXE boot the overcloud nodes:
-
-## Set up the virthost machine for PXE forwarding
-## ----------------------------------------------
-
-## * Add a static IPADDR to the NIC on provisioning network
-## ::
-
-sudo cat > /etc/sysconfig/network-scripts/ifcfg-{{ virthost_provisioning_interface }} << EOF
-NAME={{ virthost_provisioning_interface }}
-IPADDR={{ virthost_provisioning_ip }}
-NETMASK={{ virthost_provisioning_netmask }}
-NM_CONTROLLED=no
-DEFROUTE=yes
-IPV4_FAILURE_FATAL=no
-IPV6INIT=yes
-IPV6_AUTOCONF=yes
-IPV6_DEFROUTE=yes
-IPV6_FAILURE_FATAL=no
-ONBOOT=yes
-HWADDR={{ virthost_provisioning_hwaddr }}
-PEERDNS=yes
-PEERROUTES=yes
-IPV6_PEERDNS=yes
-IPV6_PEERROUTES=yes
-EOF
-
-## * Bring the NIC down first
-## ::
-
-sudo ifdown {{ virthost_provisioning_interface }}
-
-## * Bring the NIC up again
-## ::
-
-sudo ifup {{ virthost_provisioning_interface }}
-
-## * Add the NIC on the provisioning interface to the "brovc" bridge
-## ::
-
-if ! sudo brctl show brovc | grep {{ virthost_provisioning_interface }}; then
- sudo brctl addif brovc {{ virthost_provisioning_interface }}
-fi
-
-### --stop_docs
diff --git a/roles/baremetal-prep-virthost/templates/ifcfg-virthost-provision.j2 b/roles/baremetal-prep-virthost/templates/ifcfg-virthost-provision.j2
deleted file mode 100644
index 2d889250d..000000000
--- a/roles/baremetal-prep-virthost/templates/ifcfg-virthost-provision.j2
+++ /dev/null
@@ -1,16 +0,0 @@
-NAME={{ virthost_provisioning_interface }}
-IPADDR={{ virthost_provisioning_ip }}
-NETMASK={{ virthost_provisioning_netmask }}
-NM_CONTROLLED=no
-DEFROUTE=yes
-IPV4_FAILURE_FATAL=no
-IPV6INIT=yes
-IPV6_AUTOCONF=yes
-IPV6_DEFROUTE=yes
-IPV6_FAILURE_FATAL=no
-ONBOOT=yes
-HWADDR={{ virthost_provisioning_hwaddr }}
-PEERDNS=yes
-PEERROUTES=yes
-IPV6_PEERDNS=yes
-IPV6_PEERROUTES=yes
diff --git a/roles/baremetal-prep-virthost/tests/inventory b/roles/baremetal-prep-virthost/tests/inventory
deleted file mode 100644
index 2fbb50c4a..000000000
--- a/roles/baremetal-prep-virthost/tests/inventory
+++ /dev/null
@@ -1 +0,0 @@
-localhost
diff --git a/roles/baremetal-prep-virthost/tests/test.yml b/roles/baremetal-prep-virthost/tests/test.yml
deleted file mode 100644
index 3fbe855a8..000000000
--- a/roles/baremetal-prep-virthost/tests/test.yml
+++ /dev/null
@@ -1,5 +0,0 @@
----
-- hosts: localhost
- remote_user: root
- roles:
- - ansible-role-tripleo-baremetal-prep-virthost
diff --git a/roles/baremetal-undercloud/README.md b/roles/baremetal-undercloud/README.md
deleted file mode 100644
index 8775c13ef..000000000
--- a/roles/baremetal-undercloud/README.md
+++ /dev/null
@@ -1,360 +0,0 @@
-baremetal-undercloud
-====================
-
-This role aims to build a baremetal undercloud machine from scratch. Using
-tripleo-quickstart, this means that you will be able to provide, prepare and
-install the undercloud on a physical machine.
-
-From the tripleo-quickstart perspective virthost and undercloud will be the
-same host.
-
-Requirements
-------------
-
-To make all the things working you need to have an environment with all the
-things in place:
-
-**Hardware requirements**
-
-* A physical machine for the undercloud that can be accessed as root from the
- jump host
-* At least two other physical machines that will become controller and compute,
- for HA three controllers and one compute are needed
-* A working network link between overcloud and undercloud, typically the second
- net device of the undercloud will talk to the first net device of all the
- overcloud machines
-
-**Software requirements**
-
-* The tripleo-quickstart quickstart.sh script:
- * A config file (i.e. ha.yml) containing all the customizations for the
- baremetal environment
-* This set of files, dependent from the hardware:
- * File undercloud-provisioning.sh - optional, name is not important
- * File network-environment.yaml - mandatory
- * Directory nic-configs - mandatory if declared inside the
- resource_registry section in network-environment.yaml and must contain
- all the needed files
- * File instackenv.json - mandatory, must contain the ipmi credentials for
- the nodes
-
-Role Variables
---------------
-
-A typical configuration file will contain something like this:
-
-```yaml
-# Virthost key for accessing newly provided machine
-virthost_key: ~/.ssh/customkey
-
-# Type of undercloud (we're deploying on baremetal otherwise this should be
-# virtual)
-undercloud_type: baremetal
-
-# Specify the secondary net interface for overcloud provisioning
-undercloud_local_interface: eth1
-
-# Specify the external network for undercloud that will be used to route
-# overcloud traffic
-undercloud_external_network_cidr: 172.20.0.0/24
-
-# Declare the additional interface on undercloud to route overcloud traffic
-undercloud_networks:
- external:
- address: 172.20.0.254
- netmask: 255.255.255.0
- device_type: ovs
- type: OVSIntPort
- ovs_bridge: br-ctlplane
- ovs_options: '"tag=1105"'
- tag: 1105
-
-# Define all the flavors
-flavor_map:
- control: baremetal
- cellcontrol: baremetal
- compute: baremetal
- storage: baremetal
- ceph: baremetal
- swift: baremetal
-
-# Will be used by baremetal-undercloud role
-step_provide_undercloud: true
-# Will be used by baremetal-prep-overcloud role
-step_install_upstream_ipxe: true
-# Will be used by overcloud-prep-images role
-step_introspect: true
-
-# Explicitly declare kvm since we are on BM and disable vBMC
-libvirt_type: kvm
-libvirt_args: "--libvirt-type kvm"
-enable_vbmc: false
-
-# Environment specific variables
-baremetal_provisioning_script: "/path/to/undercloud-provisioning.sh"
-baremetal_network_environment: "/path/to/network-environment.yaml"
-baremetal_instackenv: "/path/to/instackenv.json"
-baremetal_nic_configs: "/path/to/nic_configs"
-
-# Public (Floating) network definition
-public_physical_network: "floating"
-floating_ip_cidr: ""
-public_net_pool_start: ""
-public_net_pool_end: ""
-public_net_gateway: ""
-
-extra_args: "--ntp-server --control-scale 3 --compute-scale 2 --ceph-storage-scale 0 --block-storage-scale 0 --swift-storage-scale 0 --templates -e /usr/share/openstack-tripleo-heat-templates/environments/puppet-pacemaker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e /home/stack/network-environment.yaml"
-```
-
-A brief explanation of the variables:
-
-* The variable **undercloud_type** is checked in some of the dependent roles
- (see @Dependencies).
-* The variable **virthost_key** is optional, if defined it must be a path to a
- private ssh key file needed to access to virthost. If you access to the
- virthost with the default ssh key of the user launching quickstart.sh then
- you don't need to set it.
-* The **undercloud_local_interface** needs to be changed accordingly to the
- baremetal hardware.
-* The **undercloud_external_network_cidr** will be the overcloud external
- network that undercloud will route.
-* A specific **flavor_map** (in this case baremetal) needs to be applied to
- each node kind.
-* With **step_provide_undercloud** you can choose if you want to provide the
- virthost.
-* With **step_introspect** you can choose if you want to introspect nodes.
-* With **step_install_upstream_ipxe** you can choose if you want to install
- upstream ipxe (useful with some hardware issues).
-* The **libvirt_type** and **libvirt_args** must be set to kvm, since we will
- work on baremetal with native virtual capabilities.
-* **baremetal_provisioning_script** is the script to provide the machine, if
- **step_provide_undercloud is false** than this can be omitted.
-* **baremetal_network_environment**, **baremetal_instackenv** and *optionally*
- **baremetal_nic_configs** will contain all the environment files.
-* Depending on the network in which spawned instances will be exposed all the
- related parameters (**floating_ip_cidr** and **public_net**\*) must be
- declared explicitly.
-* **extra_args** will contain all deploy specific (like HA settings)
-
-The main task of the role is this one:
-
-```yaml
----
-# tasks file for baremetal-undercloud
-
-# Do machine provisioning
-- include: machine-provisioning.yml
- tags:
- - machine-provision
-
-# Prepare machine to be used with TripleO
-- include: machine-setup.yml
- tags:
- - machine-setup
-
-# Configure repos and packages
-- include: undercloud-repos-conf.yml
- delegate_to: "{{ virthost }}"
- tags:
- - undercloud-repos-conf
-
-# Get overcloud images
-- include: overcloud-images.yml
- delegate_to: "{{ virthost }}"
- tags:
- - overcloud-images
-```
-
-This is basically what each specific tasks does:
-
-* **machine-provisioning.yml** provides the machine and make it become both
- virthost/undercloud
-* **machine-setup.yml** prepares the undercloud with ssh connections, users,
- sudoers and inventory addition
-* **undercloud-repos-conf.yml** repositories and packages configurations
-* **overcloud-images.yml** overcloud images retrieving
-
-Some notes:
-
-* Even if virthost and undercloud are the same machine, the name "undercloud"
- will be inventoried in any case
-* Each action is tagged so it is possible to exclude a specific section
-* Some variables can be controlled via configuration settings (look above in
- @Role usage)
-
-Dependencies
-------------
-
-If you don't need to change anything in how the environments gets deployed,
-then all the dependencies should be satisfied by the default
-**quickstart-extras-requirements.txt** file.
-
-In any case the roles you will need to deploy an entire environment from
-scratch (see @Example Playbook) are:
-
-* **baremetal-undercloud** (this role)
-* **tripleo-inventory** (part of *tripleo-quickstart*)
-* **tripleo/undercloud** (part of *tripleo-quickstart*)
-* **baremetal-prep-overcloud**
-* **overcloud-prep-{config,images,flavors,network}**
-* **overcloud-deploy**
-* **overcloud-validate** or **overcloud-validate-ha** (if you want to test HA
- capabilities)
-
-Example Playbook
-----------------
-
-Here's is an example playbook that uses this role in combination to all the
-others coming from various related to tripleo-quickstart:
-
-```yaml
----
-# Provision and initial undercloud setup
-- name: Baremetal undercloud install
- hosts: localhost
- roles:
- - baremetal-undercloud
- tags:
- - undercloud-bm-install
-
-# Machine at this point is provided
-- name: Add the undercloud node to the generated inventory
- hosts: localhost
- gather_facts: true
- roles:
- - tripleo-inventory
- tags:
- - undercloud-inventory
-
-# Deploy the undercloud
-- name: Install undercloud
- hosts: undercloud
- gather_facts: false
- roles:
- - tripleo/undercloud
- tags:
- - undercloud-install
-
-# Baremetal preparation (with workarounds)
-- name: Prepare baremetal for the overcloud deployment
- hosts: undercloud
- roles:
- - baremetal-prep-overcloud
- tags:
- - baremetal-prep-overcloud
-
-# Prepare any additional configuration files required by the overcloud
-- name: Prepare configuration files for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-config
- tags:
- - overcloud-prep-config
-
-# Prepare the overcloud images for deployment
-- name: Prepare the overcloud images for deployment
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-images
- tags:
- - overcloud-prep-images
-
-# Prepare the overcloud flavor configuration
-- name: Prepare overcloud flavors
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-flavors
- tags:
- - overcloud-prep-flavors
-
-# Prepare the undercloud networks for the overcloud deployment
-- name: Prepare the undercloud networks for the overcloud deployment
- hosts: undercloud
- gather_facts: false
- roles:
- - overcloud-prep-network
- tags:
- - overcloud-prep-network
-
-# Deploy the overcloud
-- name: Deploy the overcloud
- hosts: undercloud
- gather_facts: true
- roles:
- - overcloud-deploy
- tags:
- - overcloud-deploy
-
-- name: Add the overcloud nodes to the generated inventory
- hosts: undercloud
- gather_facts: true
- vars:
- inventory: all
- roles:
- - tripleo-inventory
- tags:
- - overcloud-inventory
-
-# Check the results of the deployment, note after inventory has executed
-- name: Check the result of the deployment
- hosts: undercloud
- tasks:
- - name: ensure the deployment result has been read into memory
- include_vars: "{{ local_working_dir }}/overcloud_deployment_result.json"
- delegate_to: localhost
-
- # overcloud_deploy_result = ["failed", "passed"]
- - name: did the deployment pass or fail?
- debug: var=overcloud_deploy_result
- failed_when: overcloud_deploy_result == "failed"
- delegate_to: localhost
- tags:
- - overcloud-deploy-check
-```
-
-The steps of the sample playbook are these:
-
-* First invoked role is baremetal-undercloud
-* Then undercloud is inventoried
-* Undercloud is prepared for deploying
-* Overcloud is then deployed, inventoried and validated
-
-Quickstart invocation
----------------------
-
-You can invoke *quickstart.sh* like this:
-
-```console
-./quickstart.sh \
- --clean \
- --playbook baremetal-undercloud.yml \
- --working-dir /path/to/workdir \
- --config /path/to/config.yml \
- --release \
- --tags all \
-
-```
-
-Basically this command:
-
-* Uses the playbook **baremetal-undercloud.yml**
-* Uses a custom workdir that is rebuilt from scratch (so if it already exists,
- it is dropped, see *--clean*)
-* Get all the extra requirements
-* Select the config file
-* Chooses release (liberty, mitaka, newton, or "master" for ocata)
-* Performs all the tasks in the playbook
-* Starts the installation on virthost
-
-License
--------
-
-Apache
-
-Author Information
-------------------
-
-Raoul Scarazzini
diff --git a/roles/baremetal-undercloud/defaults/main.yml b/roles/baremetal-undercloud/defaults/main.yml
deleted file mode 100644
index 173f5a2a0..000000000
--- a/roles/baremetal-undercloud/defaults/main.yml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-
-undercloud_key: "{{ local_working_dir }}/id_rsa_undercloud"
-
-baremetal_provisioning_log: "{{ local_working_dir }}/baremetal_provision.log"
-
-undercloud_local_interface: eth1
-undercloud_network_cidr: 192.168.24.0/24
-
-step_provide_undercloud: true
-step_prepare_undercloud: true
diff --git a/roles/baremetal-undercloud/meta/main.yml b/roles/baremetal-undercloud/meta/main.yml
deleted file mode 100644
index 98bfef3b5..000000000
--- a/roles/baremetal-undercloud/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - extras-common
diff --git a/roles/baremetal-undercloud/packages/defaults/main.yml b/roles/baremetal-undercloud/packages/defaults/main.yml
deleted file mode 100644
index cf4a84f78..000000000
--- a/roles/baremetal-undercloud/packages/defaults/main.yml
+++ /dev/null
@@ -1,20 +0,0 @@
----
-# Additional packages
-undercloud_additional_pkgs:
- - vim
- - tmux
- - openssl
- - curl
- - bind-utils
- - net-tools
- - git
- - lftp
- - libguestfs-tools
- - sos
-
-# Configure ntp on undercloud
-step_undercloud_ntp: true
-
-# Custom ntp servers
-undercloud_custom_ntps:
- - pool.ntp.org
diff --git a/roles/baremetal-undercloud/packages/tasks/main.yml b/roles/baremetal-undercloud/packages/tasks/main.yml
deleted file mode 100644
index b252ea533..000000000
--- a/roles/baremetal-undercloud/packages/tasks/main.yml
+++ /dev/null
@@ -1,28 +0,0 @@
----
-# tasks file for baremetal-undercloud's packages subrole
-
-# Install the Tripleo package (usually python-tripleoclient)
-- name: Install TripleO package
- become: true
- package:
- name: "{{ item }}"
- state: present
- with_items: "{{ undercloud_rpm_dependencies.split() }}"
- tags:
- - undercloud-tripleo-pkg
-
-# Install additional packages (if declared)
-- name: Install additional packages
- become: true
- package:
- name: "{{ undercloud_additional_pkgs|default([]) }}"
- state: present
- tags:
- - undercloud-additional-pkgs
-
-# Configure ntp on undercloud
-- include: ntp.yml
- become: true
- when: "{{ step_undercloud_ntp|bool }}"
- tags:
- - undercloud-ntp
diff --git a/roles/baremetal-undercloud/packages/tasks/ntp.yml b/roles/baremetal-undercloud/packages/tasks/ntp.yml
deleted file mode 100644
index 2fb39df5d..000000000
--- a/roles/baremetal-undercloud/packages/tasks/ntp.yml
+++ /dev/null
@@ -1,67 +0,0 @@
----
-# Ensure ntp packages are installed
-- name: Install ntp packages
- package:
- name: ['ntp', 'ntpdate']
- state: present
-
-# Enable ntpd service
-- name: Enable ntpd service
- service:
- name: 'ntpd'
- enabled: true
-
-# Enable ntpdate service
-- name: Enable ntpdate service
- service:
- name: 'ntpdate'
- enabled: true
-
-# Stop ntpd service
-- name: Ensure ntp service is stopped to be able to launch ntpdate
- service:
- name: 'ntpd'
- state: stopped
-
-# Disable default ntp servers if custom servers are defined
-- name: Disable configured servers in ntp.conf (if custom servers are defined)
- replace:
- destfile: /etc/ntp.conf
- regexp: '^server (.*)'
- replace: '#server \1'
- when: undercloud_custom_ntps is defined
-
-# Enable custom ntp servers if custom servers are defined
-- name: Add new server in ntp.conf (if custom servers are defined)
- lineinfile:
- destfile: /etc/ntp.conf
- line: 'server {{ item }} iburst'
- with_items: '{{ undercloud_custom_ntps|default([]) }}'
-
-# Setup custom ntp servers in step-tickers if custom servers are defined
-- name: Set step-ticker (if custom servers are defined)
- lineinfile:
- destfile: /etc/ntp/step-tickers
- line: '{{ item }}'
- create: true
- with_items: '{{ undercloud_custom_ntps|default([]) }}'
-
-# Configure ntpdate hardware synchronization
-- name: Configure ntpdate to synchronize the hardware clock
- lineinfile:
- destfile: /etc/sysconfig/ntpdate
- regexp: '^SYNC_HWCLOCK=.*'
- line: 'SYNC_HWCLOCK=yes'
-
-# Sync time now
-- name: Synchronize time immediately with ntpdate
- shell: |
- set -euxo pipefail
- ntpdate $(grep ^server /etc/ntp.conf | tail -1 | awk '{print $2}')
- changed_when: false
-
-# Start ntpd
-- name: Start ntpd service
- service:
- name: 'ntpd'
- state: started
diff --git a/roles/baremetal-undercloud/tasks/machine-provisioning.yml b/roles/baremetal-undercloud/tasks/machine-provisioning.yml
deleted file mode 100644
index 35ce7ca84..000000000
--- a/roles/baremetal-undercloud/tasks/machine-provisioning.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- name: Provision script execution
- shell: >
- set -o pipefail &&
- {{ baremetal_provisioning_script }} 2>&1 {{ timestamper_cmd }} | tee
- {{ baremetal_provisioning_log }}
- when: step_provide_undercloud|bool
diff --git a/roles/baremetal-undercloud/tasks/machine-setup.yml b/roles/baremetal-undercloud/tasks/machine-setup.yml
deleted file mode 100644
index ce27f8475..000000000
--- a/roles/baremetal-undercloud/tasks/machine-setup.yml
+++ /dev/null
@@ -1,100 +0,0 @@
----
-- name: Check that virthost/undercloud is set
- fail:
- msg: "You need to set virthost/undercloud before running these playbooks."
- when: virthost is not defined
-
-- name: Ensure local working dir exists
- file:
- path: "{{ local_working_dir }}"
- state: directory
-
-- name: Create empty ssh config file
- file:
- path: "{{ local_working_dir }}/ssh.config.ansible"
- state: touch
-
-- name: Create initial ssh config file with virthost_key (if defined)
- blockinfile:
- dest: "{{ local_working_dir }}/ssh.config.ansible"
- block: |
- Host {{ virthost }}
- Hostname {{ virthost }}
- IdentityFile {{ virthost_key }}
- User root
- StrictHostKeyChecking no
- UserKnownHostsFile=/dev/null
- when: virthost_key is defined
-
-- name: Add the virthost to the inventory
- add_host:
- name: "{{ virthost }}"
- groups: "virthost"
- ansible_fqdn: "{{ virthost }}"
- ansible_user: "root"
- ansible_host: "{{ virthost }}"
-
-- name: Create virthost/undercloud access key
- command: >
- ssh-keygen -f {{ undercloud_key }} -N ''
- -C 'ansible_generated_virt_host'
- -t rsa -b 4096
- args:
- creates: "{{ undercloud_key }}"
-
-- name: Create non-root user on virthost/undercloud
- delegate_to: "{{ virthost }}"
- user:
- name: "{{ non_root_user }}"
- state: present
- shell: /bin/bash
- become: true
-
-- name: Configure non-root user authorized_keys on virthost/undercloud
- delegate_to: "{{ virthost }}"
- authorized_key:
- user: "{{ non_root_user }}"
- key: "{{ lookup('file', undercloud_key|quote + '.pub')|default('') }}"
- become: true
-
-- name: Grant sudo privileges to non-root user on virthost/undercloud
- delegate_to: "{{ virthost }}"
- copy:
- content: |
- {{ non_root_user }} ALL=(ALL) NOPASSWD:ALL
- dest: /etc/sudoers.d/{{ non_root_user }}
- owner: root
- group: root
- mode: 0440
- become: true
-
-- name: get undercloud ip
- delegate_to: "{{ virthost }}"
- shell: |
- set -euo pipefail
- ip route get 1 | awk '{print $NF;exit}'
- register: registered_undercloud_ip
- changed_when: false
-
-- name: Re-add the virthost to the inventory
- add_host:
- name: "{{ virthost }}"
- groups: "virthost"
- ansible_fqdn: "{{ virthost }}"
- ansible_user: "{{ non_root_user }}"
- ansible_host: "{{ virthost }}"
- ansible_private_key_file: "{{ undercloud_key }}"
-
-# Add the undercloud to the in-memory inventory.
-- name: Add undercloud machine 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"'
- ansible_scp_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"'
- ansible_sftp_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"'
- undercloud_ip: "{{ registered_undercloud_ip.stdout }}"
diff --git a/roles/baremetal-undercloud/tasks/main.yml b/roles/baremetal-undercloud/tasks/main.yml
deleted file mode 100644
index 052968413..000000000
--- a/roles/baremetal-undercloud/tasks/main.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-# tasks file for baremetal-undercloud
-
-# Do machine provisioning
-- include: machine-provisioning.yml
- tags:
- - machine-provision
-
-# Prepare machine to be used with TripleO
-- include: machine-setup.yml
- tags:
- - machine-setup
diff --git a/roles/build-images/README.md b/roles/build-images/README.md
deleted file mode 100644
index 663d905ac..000000000
--- a/roles/build-images/README.md
+++ /dev/null
@@ -1,79 +0,0 @@
-build-images
-============
-
-An Ansible role for building TripleO undercloud and overcloud images. The role
-can either operate directly against a host (direct) or setup a build
-environment inside of a libvirt guest using libguestfs-tools (isolated).
-
-It starts by creating the overcloud images from the provided yaml files. It
-then uses the convert-image role from tripleo-quickstart to turn the
-qcow2 image into an undercloud image. Finally, it injects the
-previously created overcloud image and ironic-python-agent images into this
-new undercloud image.
-
-Requirements
-------------
-
-* [convert-image](https://opendev.org/openstack/tripleo-quickstart/src/branch/master/roles/convert-image) role from tripleo-quickstart (if building an undercloud image)
-* [fetch-images](https://opendev.org/openstack/tripleo-quickstart/src/branch/master/roles/fetch-images) role from tripleo-quickstart (if using isolated build)
-* [modify-image](https://opendev.org/openstack/tripleo-quickstart-extras/src/branch/master/roles/modify-image) role from tripleo-quickstart-extras
-* [repo-setup](https://opendev.org/openstack/tripleo-quickstart/src/branch/master/roles/repo-setup/) role from tripleo-quickstart-extras
-
-Role Variables
---------------
-
-* `images_working_dir` -- Directory on the host where images and logs will be
- placed
-* `images_destroy_working_dir` -- Whether to destroy the previous image
- directory before starting. (Default true)
-* `overcloud_image_build_script` -- Template used for the overcloud image build
-* `overcloud_image_build_log` -- Log file for output from the image build
- script.
-* `build_image_isolated` -- Whether to use libguestfs to create an isolated
- build environment. (Default true)
-* `build_isolation_image_url` -- URL for image to use as the isolated build
- environment. (Currently requires an .md5 file in the same location because
- the fetch-images role from quickstart is used to get the image)
-* `build_undercloud` -- Whether to build an undercloud image. (Default true)
-* `package_images` -- Whether to create tarballs and md5s for all of the
- produced images. (Default true)
-* `overcloud_repo_paths` -- List of repo paths that will be passed to DIB for
- package installs in the overcloud images. These repos will also be copied on
- to the undercloud image.
-* `image_build_yaml_paths` -- List of yaml files to be passed to the overcloud
- image build. (Defaults to yamls packaged in tripleo-common. In order to
- produce security hardened images, the alternate overcloud-hardened-images
- need to be used instead of the overcloud-images ones).
-* `image_build_extract_list` -- List of artifacts to extract from the isolated
- build environment after building.
-* `inject_images` -- List of artifacts to inject into the undercloud image. Set
- to [] to disable injection
-* `skip_build_images` -- skip building images if there present or cached
- (default: true), setting it to false will add '--no-skip' option to openstack
- image build command.
-* `base_image_url` -- URL of base image
-* `base_image_path` -- path to save base image on host
-
-Example Usage
--------------
-
-```yaml
----
-- name: Build images using an isolated build environment
- hosts: virthost
- roles:
- - build-images
-
-- name: Build images with repos directly installed on the host
- hosts: virthost
- vars:
- build_image_isolated: false
- roles:
- - build-images
-
-```
-
-License
--------
-
-Apache
diff --git a/roles/build-images/defaults/main.yml b/roles/build-images/defaults/main.yml
deleted file mode 100644
index b24a54bd7..000000000
--- a/roles/build-images/defaults/main.yml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-images_working_dir: "{{ ansible_user_dir }}/workspace"
-images_destroy_working_dir: true
-build_image_isolated: true
-build_isolation_image_url: https://images.rdoproject.org/CentOS-7-x86_64-GenericCloud.qcow2
-cleanup_images_working_dir: false
-skip_build_images: true
-build_isolation_image:
- name: isolation-image
- url: "{{ build_isolation_image_url }}"
- type: qcow2
-build_undercloud: true
-overcloud_as_undercloud: true
-overcloud_repo_paths:
- - "/etc/yum.repos.d/delorean*"
- - "/etc/yum.repos.d/quickstart-*"
- - "{% if ansible_distribution_major_version is version('9', '>=') -%}/etc/yum.repos.d/centos.repo{% endif %}"
- - "{% if job is defined and job.component is defined -%}/etc/yum.repos.d/*-component.repo{%- endif -%}"
diff --git a/roles/build-images/meta/main.yml b/roles/build-images/meta/main.yml
deleted file mode 100644
index 98bfef3b5..000000000
--- a/roles/build-images/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - extras-common
diff --git a/roles/build-images/tasks/convert-image.yml b/roles/build-images/tasks/convert-image.yml
deleted file mode 100644
index 7426aeb5d..000000000
--- a/roles/build-images/tasks/convert-image.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-- name: indirect role include (workaround to https://github.com/ansible/ansible/issues/19472)
- include_role:
- name: convert-image
diff --git a/roles/build-images/tasks/fetch-images.yml b/roles/build-images/tasks/fetch-images.yml
deleted file mode 100644
index d1dbf97cf..000000000
--- a/roles/build-images/tasks/fetch-images.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-- name: indirect role include (workaround to https://github.com/ansible/ansible/issues/19472)
- include_role:
- name: fetch-images
diff --git a/roles/build-images/tasks/main.yml b/roles/build-images/tasks/main.yml
deleted file mode 100644
index e7fc4a814..000000000
--- a/roles/build-images/tasks/main.yml
+++ /dev/null
@@ -1,202 +0,0 @@
----
-- name: Delete prior working directory if present
- file:
- path: "{{ images_working_dir }}"
- state: absent
- become: true
- when: images_destroy_working_dir | bool
-
-- name: Create the working directory
- file:
- path: "{{ images_working_dir }}"
- state: directory
- mode: 0755
- owner: "{{ non_root_user }}"
- become: true
-
-- name: create the repo setup script for the build host
- include_role:
- name: repo-setup
- vars:
- repo_run_live: false
- repo_setup_dir: "{{ images_working_dir }}"
-
-- name: Check for extra repo created by repo-setup role
- stat:
- path: "{{ images_working_dir }}/web-gating.repo"
- register: new_repo
-
-- name: Inject gating repo during image build process
- when:
- - new_repo.stat.exists
- - to_build|bool
- block:
- - name: set facts for gating repo
- set_fact:
- gating_repo: "{{ images_working_dir }}/web-gating.repo"
-
- - name: Append gating repo during image build
- set_fact:
- overcloud_repo_paths: "{{ overcloud_repo_paths + [ gating_repo ] }}"
-
-- name: Run the image build script (direct) using oooci-build-images role
- vars:
- dib_yum_repo_conf: "{{ overcloud_repo_paths }}"
- workspace: "{{ images_working_dir }}"
- build_all_images: true
- tripleo_image_type: "{{ overcloud_image }}"
- tripleo_common_path: "/usr/share/tripleo-common"
- include_role:
- name: oooci-build-images
- when:
- - not build_image_isolated|bool
- - to_build|bool
-
-- when: build_image_isolated|bool
- block:
- - name: Make sure /dev/pts exists
- shell: |
- mkdir -p /dev/pts
- mount devpts /dev/pts -t devpts ||:
- changed_when: true
-
- - name: get image to use as isolated build env
- include: fetch-images.yml
- vars:
- image_fetch_dir: "{{ images_working_dir }}"
- images:
- - "{{ build_isolation_image }}"
-
- - name: run the repo setup script (isolated)
- include: modify-image.yml
- vars:
- modify_image_working_dir: "{{ images_working_dir }}"
- image_to_modify: "{{ images_working_dir }}/{{ build_isolation_image.name }}.qcow2"
- modify_script: "{{ images_working_dir }}/repo_setup.sh"
-
- - name: Set image_build_extract_list for {{ overcloud_image }}
- set_fact:
- image_build_extract_list:
- - "ironic-python-agent.initramfs"
- - "ironic-python-agent.kernel"
- - "{{ overcloud_image }}.qcow2"
- - "{{ overcloud_image }}.initrd"
- - "{{ overcloud_image }}.vmlinuz"
- when:
- - image_build_extract_list is not defined
- - not whole_disk_images|bool
-
- - name: Set image_build_extract_list for {{ overcloud_image }}
- set_fact:
- image_build_extract_list:
- - "ironic-python-agent.initramfs"
- - "ironic-python-agent.kernel"
- - "{{ overcloud_image }}.qcow2"
- when:
- - image_build_extract_list is not defined
- - whole_disk_images|bool
-
- - name: run the image build script (isolated)
- include: modify-image.yml
- vars:
- modify_image_working_dir: "{{ images_working_dir }}"
- image_to_modify: "{{ images_working_dir }}/{{ build_isolation_image.name }}.qcow2"
- modify_script: "{{ images_working_dir }}/overcloud_image_build_script.sh"
- modify_image_vc_ram: 16384
- modify_image_vc_cpu: 8
- modify_image_extract_list: "{{ image_build_extract_list }}"
-
- rescue:
- - name: Set image_build_failed fact
- set_fact:
- image_build_failed: true
-
- always:
- - name: Displaying log files from build isolation image
- shell: |
- virt-cat -a {{ build_isolation_image.name }}.qcow2 \
- /tmp/builder.log > builder.log 2>&1 || true
- virt-cat -a {{ build_isolation_image.name }}.qcow2 \
- /ironic-python-agent.log > ironic-python-agent.log 2>&1 || true
- virt-cat -a {{ build_isolation_image.name }}.qcow2 \
- /{{ overcloud_image }}.log > {{ overcloud_image }}.log 2>&1 || true
- environment:
- LIBGUESTFS_BACKEND: direct
- LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}"
- args:
- chdir: "{{ images_working_dir }}"
-
-
-# Note(trown) We got a false positive in the RDO job which is already using this
-# because even though the fail was executed it did not actually cause ansible to
-# exit with nonzero. I suspect it is some interaction with block, so moving the
-# actual fail out of the block.
-- name: Throw error msg if image build is failing
- fail: msg='*** Image Build Error ***'
- when: image_build_failed|default(false)|bool
-
-- when: build_undercloud|bool
- block:
- - name: run the repo setup script on overcloud image
- include: modify-image.yml
- vars:
- modify_images_working_dir: "{{ images_working_dir }}"
- image_to_modify: "{{ images_working_dir }}/{{ overcloud_image }}.qcow2"
- modify_script: "{{ images_working_dir }}/repo_setup.sh"
-
- - name: convert the overcloud image to an undercloud image
- include: convert-image.yml
- vars:
- convert_image_working_dir: "{{ images_working_dir }}"
-
- - name: Set inject_images for {{ 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
- - not whole_disk_images|bool
-
- - name: Set inject_images for {{ overcloud_image }}
- set_fact:
- inject_images:
- - "ironic-python-agent.initramfs"
- - "ironic-python-agent.kernel"
- - "{{ overcloud_image }}.qcow2"
- when:
- - inject_images is not defined
- - whole_disk_images|bool
-
- - name: Inject overcloud/ipa images
- command: >
- virt-customize -a {{ images_working_dir }}/undercloud.qcow2
- --upload {{ images_working_dir }}/{{ item }}:/home/{{ undercloud_user }}/{{ item }}
- --run-command
- 'chown {{ undercloud_user }}:{{ undercloud_user }} /home/{{ undercloud_user }}/{{ item }}'
- changed_when: true
- environment:
- LIBGUESTFS_BACKEND: direct
- LIBVIRT_DEFAULT_URI: "{{ libvirt_uri }}"
- with_items: "{{ inject_images }}"
-
- - name: Compress the undercloud image
- shell: |
- qemu-img convert -c -O qcow2 undercloud.qcow2 undercloud-compressed.qcow2
- mv undercloud-compressed.qcow2 undercloud.qcow2
- args:
- chdir: "{{ images_working_dir }}"
-
- - name: Create undercloud md5sum
- shell: md5sum undercloud.qcow2 > undercloud.qcow2.md5
- args:
- chdir: "{{ images_working_dir }}"
-
-- name: Clean up the images working dir
- shell: >-
- rm -rf {{ images_working_dir }}/{{ overcloud_image }}.d {{ images_working_dir }}/ironic-python-agent.d/
- sudo chown $USER: {{ images_working_dir }}/{{ overcloud_image }}.* {{ images_working_dir }}/ironic-python-agent.*
- when: cleanup_images_working_dir|bool
diff --git a/roles/build-images/tasks/modify-image.yml b/roles/build-images/tasks/modify-image.yml
deleted file mode 100644
index 46e81813e..000000000
--- a/roles/build-images/tasks/modify-image.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-- name: indirect role include (workaround to https://github.com/ansible/ansible/issues/19472)
- include_role:
- name: modify-image
diff --git a/roles/build-test-packages/README.md b/roles/build-test-packages/README.md
deleted file mode 100644
index efde091e2..000000000
--- a/roles/build-test-packages/README.md
+++ /dev/null
@@ -1,106 +0,0 @@
-build-test-packages
-===================
-
-An Ansible role for generating custom RPMSs from upstream Gerrit changes in the
-TripleO project using DLRN. This repo then can be injected in the tested
-environment, a repo file created and a yum update should start using the built
-RPMs.
-
-Requirements
-------------
-
-* [DLRN](https://github.com/openstack-packages/DLRN)
-
-Role Variables
---------------
-
-* `local_working_dir` -- the directory where tripleo-quickstart is located
-* `build_repo_dir` -- the directory where the DLRN repo is built.
- The variable defaults to the home directory of the user.
-* `artg_dlrn_repo_url` -- the URL of the DLRN repository
-* `artg_rdoinfo_repo_url` -- the URL of the rdoinfo repository that contains
- the project definitions for DLRN
-* `artg_compressed_gating_repo` -- a full path to a compressed repository that
- contains all the generated rpms
-* `artg_change_list` -- a list of changes to gate. Only needed when not running
- in Zuul or Gerrit (see below). The format is:
-* `artg_requirements` -- used in roles mode, the requirements file to use for
- replacing the gated roles
-* `artg_skipped_projects` -- a list of projects that are not going to be gated.
- This is useful if the project is directly checked out by the gate job as this
- retains "Depends-On" functionality for the rest of the projects. Also useful
- to skip projects that DLRN cannot build.
-* `artg_repos_dir` -- Root directory which contains project directories with
- sources for build.
-* `artg_build_one` -- Boolean to indicate if dlrn should build one package at a
- time. If set to false, dlrn will be run to build all the required packages
- in one invocation of dlrn.
-* `dlrn_target` -- Target for the DLRN build Can be something like centos or
- fedora. Defaults to centos.
-* `dlrn_baseurl` -- URL used by DLRN to get the repo definitions when building
- packages
-* `dlrn_use_local_mirrors` -- use the local repo definitions from
- /etc/yum.repos.d/ for CentOS and DLRN while building packages; used upstream
-
-
-Example artg_change_list for just code changes:
-```yaml
-artg_change_list:
- - host: "review.opendev.org"
- project: "openstack/tripleo-heat-templates"
- branch: "master"
- refspec: "refs/changes/1/123456/1"
- - host: ...
-```
-
-Example artg_change_list for code changes and package changes:
-```yaml
-artg_change_list:
- - host: "review.opendev.org"
- project: "openstack/tripleo-heat-templates"
- branch: "master"
- refspec: "refs/changes/1/123456/1"
- distgit:
- host: "ssh://user@review.rdoproject.org"
- project: "openstack/tripleo-heat-templates-distgit"
- refspec: "refs/changes/1/123456/1"
- - host: ...
-```
-
-Gating with Zuul or Jenkins
----------------------------
-
-The role can also work with Zuul and Jenkins based gating jobs.
-
-In case of Zuul, the role uses `ZUUL_HOST` and `ZUUL_CHANGES` vars to parse the
-full set of dependent changes that were previously
-[resolved by Zuul](http://docs.openstack.org/infra/zuul/gating.html#cross-repository-dependencies).
-
-If we're running in a Jenkins environment with the
-[Gerrit Trigger plugin](https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger),
-`GERRIT_HOST`, `GERRIT_CHANGE_ID`, `GERRIT_BRANCH` and
-`GERRIT_PATCHSET_REVISION` are used to detect the gated change. The role then
-searches for "Depends-On:" lines in the commit message (and recursively in the
-commit messages of the dependent changes) and adds all of them to the gating
-list. This happens through Gerrit server's public REST API.
-
-Example Playbook
-----------------
-
-```yaml
----
-- name: Build custom RPMs
- hosts: virthost
- roles:
- - build-test-packages
-```
-
-License
--------
-
-Apache
-
-Author Information
-------------------
-
-RDO-CI Team
diff --git a/roles/build-test-packages/defaults/main.yml b/roles/build-test-packages/defaults/main.yml
deleted file mode 100644
index ad091f23c..000000000
--- a/roles/build-test-packages/defaults/main.yml
+++ /dev/null
@@ -1,100 +0,0 @@
----
-
-python_cmd: python3
-build_repo_dir: "{{ ansible_user_dir }}"
-rdoinfo_repo_name: rdoinfo
-artg_dlrn_repo_url: "https://github.com/openstack-packages/DLRN.git"
-artg_rdoinfo_repo_url: https://github.com/redhat-openstack/rdoinfo
-artg_compressed_gating_repo: "/home/stack/gating_repo.tar.gz"
-artg_build_one: true
-artg_rdo_packages: []
-ansible_coll_packages: []
-dlrn_target: >-
- {%- if (ansible_distribution == "RedHat") and
- (dlrn_use_local_mirrors|bool) -%}
- redhat-local
- {%- elif (ansible_distribution == "RedHat") -%}
- redhat
- {%- elif (ansible_distribution == "CentOS") and
- (ansible_distribution_major_version|int >= 8) and
- (dlrn_use_local_mirrors|bool) -%}
- centos{{ ansible_distribution_major_version }}-local
- {%- elif (ansible_distribution == "CentOS") and
- (ansible_distribution_major_version|int >= 8) -%}
- centos{{ ansible_distribution_major_version }}-stream
- {%- elif (ansible_distribution == "CentOS") and
- (ansible_distribution_major_version|int <= 7) and
- (dlrn_use_local_mirrors|bool) -%}
- centos-local
- {%- else -%}
- centos
- {%- endif -%}
-
-initial_dlrn_config: >-
- {%- if (ansible_distribution == "RedHat") -%}
- redhat
- {%- elif (ansible_distribution == "CentOS") and
- (ansible_distribution_major_version|int >= 8) -%}
- centos{{ ansible_distribution_major_version }}
- {%- else -%}
- centos
- {%- endif -%}
-
-
-dlrn_cleanup: false
-dlrn_baseurl: >-
- {%- if ansible_distribution == "RedHat" and ansible_distribution_major_version|int == 8 -%}
- https://trunk.rdoproject.org/rhel8-master
- {%- elif (ansible_distribution == "CentOS") and (ansible_distribution_major_version|int >= 8) -%}
- https://trunk.rdoproject.org/centos{{ ansible_distribution_major_version }}/
- {%- else -%}
- https://trunk.rdoproject.org/centos7/
- {%- endif -%}
-
-use_components: >-
- {%- if (ansible_distribution_major_version|int >= 8) -%}
- 1
- {%- else -%}
- 0
- {%- endif -%}
-
-dlrn_use_local_mirrors: false
-dlrn_pre_installed: false
-
-artg_skipped_projects:
- - openstack/puppet-openstack-integration
- - openstack/puppet-watcher
- - openstack/tripleo-quickstart
- - openstack/tripleo-quickstart-extras
- - openstack/tripleo-upgrade
- - x/browbeat
- - openstack/tripleo-ha-utils
- - openstack/grenade
- - openstack/project-config
- - openstack/tripleo-ci
- - zuul/zuul-jobs
- - openstack/openstack-virtual-baremetal
- - openstack/openstack-ansible-os_tempest
- - openstack/ansible-role-python_venv_build
- - openstack/ansible-config_template
- - openstack/ansible-role-collect-logs
- - openstack/tripleo-ci-internal-jobs
- - openstack/tripleo-ci-internal-config
- - tripleo-environments
- - testproject
- - containers/podman
-
-artg_github_projects:
- - containers/ansible-podman-collections
- - ansible-collections/community.general
- - ansible-collections/ansible.posix
- - ansible-collections/ansible.netcommon
-
-artg_branchless_projects:
- - openstack/diskimage-builder
- - openstack/octavia-tempest-plugin
- - openstack/tempest
- - openstack/validations-common
- - openstack/validations-libs
- - x/tripleo-ipa
- - x/whitebox-neutron-tempest-plugin
diff --git a/roles/build-test-packages/library/jenkins_deps.py b/roles/build-test-packages/library/jenkins_deps.py
deleted file mode 100755
index 9287703ce..000000000
--- a/roles/build-test-packages/library/jenkins_deps.py
+++ /dev/null
@@ -1,229 +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.
-# see http://docs.ansible.com/developing_modules.html#common-module-boilerplate
-import json
-import logging
-import re
-import requests
-from ansible.module_utils.basic import *
-
-
-DOCUMENTATION = '''
----
-module: jenkins_deps
-version_added: "2.0"
-short_description: Parses the Gerrit commit message and identifies cross repo depenency changes
-description:
- - Parses the Gerrit commit message and identifies cross repo depenency changes.
- The expected format in the commit message is:
- Depends-On: [@]
- Where is the gerrit Change-Id of the dependent change,
- should be a part of a hostname in ALLOWED_HOSTS.
-options:
- host:
- description:
- - The hostname of the Gerrit server.
- required: True
- change_id:
- description:
- - The change-id of the Gerrit change, starting with I...
- required: True
- branch:
- description:
- - The branch of the change.
- required: True
- patchset_rev:
- description:
- - The sha hash of the patchset to be tested. Latest will be used if omitted.
- required: False
-'''
-
-EXAMPLES = '''
-- jenkins-deps:
- host: review.opendev.org
- change_id: I387b6bfd763d2d86cad68a3119b0edd0caa237b0
- patchset_rev: d18f21853e2f3be7382a20d0f42232ff3a78b348
-'''
-
-# we ignore any other host reference
-ALLOWED_HOSTS = ['review.opendev.org',
- 'review.gerrithub.io',
- 'review.rdoproject.org']
-
-
-def parse_commit_msg(current_host, msg):
- '''Look for dependency links in the commit message.'''
- tags = []
- for line in iter(msg.splitlines()):
- # note: this regexp takes care of sanitizing the input
- tag = re.search(r'Depends-On: *(I[0-9a-f]+)@?([0-9a-z\.\-:]*)',
- line, re.IGNORECASE)
- if tag:
- change_id = tag.group(1)
- target = tag.group(2)
- if target == '':
- host = current_host
- else:
- # match a shorthand hostname for our allowed list
- for hostname in ALLOWED_HOSTS:
- if target in hostname:
- host = hostname
- break
- else:
- logging.warning('Cannot resolve "%s" to a host from the '
- 'ALLOWED HOSTS list', target)
- continue
- tags.append({'host': host,
- 'change_id': change_id,
- 'branch': None,
- 'revision': None})
- return tags
-
-
-def get_details(host, change_id, branch, revision):
- '''Get the details of a specific change'''
- url = ''.join(['https://', host, '/changes/?q=change:', change_id])
- try:
- req = requests.get(url)
- req.raise_for_status()
- except requests.exceptions.HTTPError:
- return {'fail_msg': ''.join(['warning: failed to query change '
- 'details from ', url])}
- # strip XSSI attack prevention prefix
- data = json.loads(req.text[4:])
- if len(data) == 0:
- return {'fail_msg': ''.join(['warning: no change found with id ',
- change_id, ' at ', url])}
- elif len(data) == 1:
- # not filtering by branch if not necessary
- full_id = data[0]['id']
- else:
- # there are more than one change with the same ID
- try:
- full_id = [change['id'] for change
- in data if change['branch'] == branch][0]
- except IndexError:
- return {'fail_msg': ''.join(['warning: no change found with id ',
- change_id, ' for branch ', branch,
- ' at ', url])}
- url = ''.join(['https://', host, '/changes/', full_id,
- '?o=ALL_REVISIONS&o=ALL_COMMITS'])
- try:
- req = requests.get(url)
- req.raise_for_status()
- except requests.exceptions.HTTPError:
- return {'fail_msg': ''.join(['warning: failed to fetch details of ',
- change_id, ' from ', url])}
- # strip XSSI attack prevention prefix
- data = json.loads(req.text[4:])
- if revision is None:
- revision = data['current_revision']
- if revision not in data['revisions']:
- return {'fail_msg': ''.join(['warning: cannot find revision ',
- revision, ' of change ', change_id,
- ' at ', url])}
- return {'host': host,
- 'change_id': str(data['change_id']),
- 'project': str(data['project']),
- 'branch': str(data['branch']),
- 'refspec': str(data['revisions'][revision]['ref']),
- 'commit_msg':
- str(data['revisions'][revision]['commit']['message'])}
-
-
-def resolve_dep(host, change_id, branch, revision):
- '''Dependency resolution.
-
- Resolve the dependencies in the target commits until there are no more
- dependent changes. If the branch or revision is None, it can still resolve
- the dependencies. It only uses the branch when the change_id is ambigiuous
- and by default uses the latest patchset's revision.
-
- The function avoids circular dependencies and only allows one change per
- project to be added to the output list.
-
- Returns a list of dictionaries with the dependent changes.
-
- '''
- resolved_ids = []
- deps = []
- to_resolve = [{'host': host,
- 'change_id': change_id,
- 'branch': branch,
- 'revision': revision}]
- output_msg = []
- while len(to_resolve) > 0:
- change = to_resolve.pop()
- # use the original branch as default
- if change['branch'] is None:
- change['branch'] = branch
-
- # avoid circular dependencies
- if change['change_id'] in resolved_ids:
- continue
-
- details = get_details(**change)
- if 'fail_msg' in details:
- output_msg.append(details['fail_msg'])
- continue
- resolved_ids.append(details['change_id'])
-
- # allow only one of each project as a dependency
- if details['project'] not in (d['project'] for d in deps):
- deps.append({'host': change['host'],
- 'project': details['project'],
- 'branch': details['branch'],
- 'refspec': details['refspec']})
- else:
- output_msg.append(
- ''.join(['warning: skipping ', change['change_id'], ' on ',
- change['host'], ' because project "',
- details['project'], '" is already a dependency']))
- continue
- new_deps = parse_commit_msg(change['host'], details['commit_msg'])
- to_resolve.extend(new_deps)
- for index in range(len(deps)):
- if deps[index]['host'] == 'review.opendev.org':
- # redirect change cloning to reduce load on review.opendev.org
- deps[index]['host'] = 'opendev.org'
- # add https:// prefix for cloning the change
- deps[index]['host'] = ''.join(['https://', deps[index]['host']])
- if len(deps) == 0:
- output_msg.append('error: failed to resolve the target change')
- return {'failed': True,
- 'msg': ', '.join(output_msg)}
- else:
- return {'changed': True,
- 'ansible_facts': {'jenkins_change_list': deps},
- 'msg': ', '.join(output_msg)}
-
-
-def main():
- module = AnsibleModule(
- argument_spec=dict(
- host=dict(required=True, type='str'),
- change_id=dict(required=True, type='str'),
- branch=dict(required=False, default=None, type='str'),
- patchset_rev=dict(required=False, default=None, type='str')
- )
- )
- result = resolve_dep(module.params['host'],
- module.params['change_id'],
- module.params['branch'],
- module.params['patchset_rev'])
- module.exit_json(**result)
-
-
-if __name__ == "__main__":
- main()
diff --git a/roles/build-test-packages/meta/main.yml b/roles/build-test-packages/meta/main.yml
deleted file mode 100644
index bd990ac59..000000000
--- a/roles/build-test-packages/meta/main.yml
+++ /dev/null
@@ -1,22 +0,0 @@
----
-galaxy_info:
- author: Red Hat
- description: |
- An Ansible role for generating custom RPMSs from upstream Gerrit changes in
- the TripleO project using DLRN. This repo then can be injected in the tested
- environment, a repo file created and a yum update should start using the
- built RPMs.
- license: Apache
- platforms:
- - name: CentOS
- versions:
- - 7
- - 8
- - name: EL
- versions:
- - 7
- - 8
- min_ansible_version: 2.8
-
-dependencies:
- - extras-common
diff --git a/roles/build-test-packages/molecule/default/converge.yml b/roles/build-test-packages/molecule/default/converge.yml
deleted file mode 100644
index 2fdf39340..000000000
--- a/roles/build-test-packages/molecule/default/converge.yml
+++ /dev/null
@@ -1,7 +0,0 @@
----
-- name: Converge
- hosts: all
- tasks:
- - name: Include role
- include_role:
- name: build-test-packages
diff --git a/roles/build-test-packages/molecule/default/molecule.yml b/roles/build-test-packages/molecule/default/molecule.yml
deleted file mode 100644
index 213781eaa..000000000
--- a/roles/build-test-packages/molecule/default/molecule.yml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-driver:
- name: docker
-log: true
-platforms:
- - name: instance
- image: centos:7
-provisioner:
- name: ansible
- log: true
- env:
- # ANSIBLE_STDOUT_CALLBACK: yaml
- # hack to make it find 'common' role from tq
- ANSIBLE_ROLES_PATH: "${ANSIBLE_ROLES_PATH}:${MOLECULE_SCENARIO_DIRECTORY}/../../../../../tripleo-quickstart/roles"
-verifier:
- name: ansible
diff --git a/roles/build-test-packages/molecule/default/verify.yml b/roles/build-test-packages/molecule/default/verify.yml
deleted file mode 100644
index e0fbb1198..000000000
--- a/roles/build-test-packages/molecule/default/verify.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-- name: Verify
- hosts: all
diff --git a/roles/build-test-packages/tasks/detect_github_pr.yml b/roles/build-test-packages/tasks/detect_github_pr.yml
deleted file mode 100644
index d6a02bac4..000000000
--- a/roles/build-test-packages/tasks/detect_github_pr.yml
+++ /dev/null
@@ -1,33 +0,0 @@
----
-- name: Parse Gerrit commit message and find "github" links
- set_fact:
- gh_prs: "{{ zuul.message|default('') | b64decode | regex_search('github: https://github.com/(.+)/pull/(.+)', '\\1', '\\2') }}"
-
-- when:
- - gh_prs | length > 1
-
- block:
- - name: Construct change if exists
- set_fact:
- gh_change:
- project: "{{ gh_prs[0] }}"
- host: "https://github.com/{{ gh_prs[0] }}/pull"
- branch: "master"
- refspec: "{{ gh_prs[1] }}"
-
- - name: Make sure source dir for this change exist
- file:
- path: "{{ ansible_user_dir }}/src/github.com/{{ gh_prs[0] }}"
- state: directory
- recurse: true
-
- - name: Fetch the required pull request
- git:
- repo: "https://github.com/{{ gh_prs[0] }}"
- version: "pull/{{ gh_prs[1] }}/head"
- refspec: "+refs/pull/{{ gh_prs[1] }}/head:refs/remotes/origin/pull/{{ gh_prs[1] }}/head"
- dest: "{{ ansible_user_dir }}/src/github.com/{{ gh_prs[0] }}"
-
- - name: Add found PRs to artg_change_list
- set_fact:
- artg_change_list: "{{ artg_change_list }} + [ {{ gh_change }} ]"
diff --git a/roles/build-test-packages/tasks/dlrn-build.yml b/roles/build-test-packages/tasks/dlrn-build.yml
deleted file mode 100644
index 8b77191ac..000000000
--- a/roles/build-test-packages/tasks/dlrn-build.yml
+++ /dev/null
@@ -1,176 +0,0 @@
----
-- name: Set release name
- set_fact:
- artg_release: "{{ job.branch_override | default(artg_change.branch) | replace('stable/', '') }}"
-
-- name: print out the release name
- debug:
- var: artg_release
-
-- when: artg_release in ['master']
- block:
- - name: Set DLRN distro (legacy distgit branch naming)
- set_fact:
- artg_distro: "rpm-{{ artg_release }}"
-
- - name: Set DLRN distro for branchless projects
- set_fact:
- artg_distro: "{{ release }}-rdo"
- when:
- - release is defined and release not in ['master']
- - artg_change.project in artg_branchless_projects
-
-- name: Set DLRN distro (new stable branch naming scheme)
- set_fact:
- artg_distro: "{{ artg_release }}-rdo"
- when: artg_release not in ['master']
-
-- name: Make sure /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT exists (RHEL)
- shell:
- cmd: |
- export CERTPATH="/usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT"
- export CERTDIR=$(dirname $CERTPATH)
- [ ! -d $CERTDIR ] && mkdir -p $CERTDIR
- touch $CERTPATH
- become: true
- when: ansible_distribution in ['RedHat']
-
-- name: Use local baseurl when using local mirrors
- set_fact:
- dlrn_baseurl: 'file:///tmp/fake-dlrn-repos'
- when: dlrn_use_local_mirrors|bool
-
-- name: Override projects.ini settings
- lineinfile:
- dest: '{{ build_repo_dir }}/DLRN/projects.ini'
- regexp: '{{ project_item.regexp }}'
- line: '{{ project_item.line }}'
- with_items:
- - {regexp: 'baseurl=.*', line: 'baseurl={{ dlrn_baseurl }}'}
- - {regexp: 'distro=.*', line: 'distro={{ artg_distro }}'}
- - {regexp: 'source=.*', line: 'source={{ artg_change.branch }}'}
- loop_control:
- loop_var: project_item
- when: osp_release is not defined
-
-- name: Override projects.ini settings for downstream
- lineinfile:
- dest: '{{ build_repo_dir }}/DLRN/projects.ini'
- regexp: '{{ project_item.regexp }}'
- line: '{{ project_item.line }}'
- with_items:
- - {regexp: 'baseurl=.*', line: 'baseurl={{ dlrn_baseurl }}'}
- - {regexp: 'distro=.*', line: 'distro={{ release }}-rdo'}
- - {regexp: 'source=.*', line: 'source={{ artg_change.branch }}'}
- loop_control:
- loop_var: project_item
- when: osp_release is defined
-
-- block:
- - name: Map project name to DLRN project name
- register: project_name_mapped_output
- shell:
- chdir: '{{ build_repo_dir }}/DLRN'
- cmd: |
- source '{{ build_repo_dir }}/dlrn-venv/bin/activate'
- set -xeo pipefail
- # {{ rdoinfo_repo_name }}/{{ rdoinfo_repo_name.split('info')[0] }}-full.yml will
- # return rdo-full.yml and for downstream is osp-full.yml.
- rdopkg findpkg -s '{{ artg_change.project | basename }}' \
- -i {{ rdoinfo_repo_name }}/{{ rdoinfo_repo_name.split('info')[0] }}-full.yml
- changed_when: false
- failed_when: project_name_mapped_output.rc != 0 or not project_name_mapped_output.stdout
-
- - set_fact:
- project_name_mapped: "{{ project_name_mapped_output.stdout | regex_search('name:(.+)', '\\1') | first | trim }}"
-
- rescue:
- - debug:
- msg: |
- WARNING: Got {{ project_name_mapped_output.rc }} result code trying to build {{ artg_change.project }}
- --- STDERR ---
- {{ project_name_mapped_output.stderr }}
- --- STDOUT ---
- {{ project_name_mapped_output.stdout }}
-
-- when: project_name_mapped is defined
- block:
- - name: Append project name to package list
- set_fact:
- artg_rdo_packages: '{{ artg_rdo_packages }} + {{ [ project_name_mapped ] }}'
-
- - name: Check if project {{ project_name_mapped }} source already exist
- stat:
- path: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}/.git'
- register: repo_status
-
- - name: Create data directory if doesn't exist yet
- file:
- path: "{{ build_repo_dir }}/DLRN/data/"
- state: directory
-
- - name: Copy from ready directories if configured
- command: >
- cp -raf {{ artg_repos_dir | dirname }}/{{ artg_change.project }}
- {{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}
- ignore_errors: true
- register: copy_dir
- when: artg_repos_dir is defined
-
- - name: Clone the gated change
- git:
- repo: '{{ artg_change.host }}/{{ artg_change.project }}'
- dest: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}'
- refspec: '{{ artg_change.refspec }}'
- version: 'FETCH_HEAD'
- when:
- - >-
- (artg_repos_dir is not defined and not repo_status.stat.exists) or
- copy_dir is defined and copy_dir is failed
-
- - name: Cleanup and checkout the relevant branch
- vars:
- git_path: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}'
- git_branch: '{{ artg_change.branch }}'
- shell: |
- set -eu
- pushd {{ git_path }}
- git clean -ffd
- git reset --hard HEAD
- git checkout {{ git_branch }}
- popd
-
- - name: Ensure distgit repo is absent, DLRN takes care of cloning based on config
- file:
- path: "{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}_distro"
- state: absent
-
- - name: Clone the distgit change
- git:
- repo: '{{ artg_change.distgit.host }}/{{ artg_change.distgit.project }}'
- dest: '{{ build_repo_dir }}/DLRN/data/{{ project_name_mapped }}_distro'
- refspec: '{{ artg_change.distgit.refspec }}'
- version: 'FETCH_HEAD'
- accept_hostkey: true
- when:
- - artg_change.distgit is defined
- - artg_repos_dir is not defined or copy_dir is defined and copy_dir is failed
-
- - name: Generate DLRN Script
- template:
- src: run_dlrn.sh.j2
- dest: "{{ build_repo_dir }}/run_dlrn.sh"
- mode: 0744
-
- - name: Print info about building
- debug:
- msg: "Building change for {{ project_name_mapped|default('unknown') }}"
-
- - name: Run DLRN
- shell: >
- set -o pipefail &&
- {{ build_repo_dir }}/run_dlrn.sh 2>&1 {{ timestamper_cmd }} >> {{ build_repo_dir }}/dlrn.log
- args:
- chdir: '{{ build_repo_dir }}'
- register: repo_built
- when: artg_build_one|bool
diff --git a/roles/build-test-packages/tasks/github-pr.yml b/roles/build-test-packages/tasks/github-pr.yml
deleted file mode 100644
index 6279cc814..000000000
--- a/roles/build-test-packages/tasks/github-pr.yml
+++ /dev/null
@@ -1,75 +0,0 @@
----
-- when: artg_change.project in artg_github_projects
- block:
-
- - name: Install packages
- package:
- name:
- - rpm-build
- - ansible-macros
- - "ansible{% if ansible_distribution_major_version|int >= 9 %}-core{% endif %}"
- state: present
- disable_gpg_check: true
- become: true
- register: install
- retries: 10
- until: install is success
- delay: 10
-
- - name: Set collection path
- set_fact:
- collection_path: >-
- {{ ansible_user_dir }}/{{
- zuul.projects['github.com/' + artg_change.project].src_dir|
- default('src/github.com/' + artg_change.project) }}
-
-- when:
- - artg_change.project in artg_github_projects
- - artg_change.project == "containers/ansible-podman-collections"
- block:
-
- - name: Build collection
- shell: >-
- ./contrib/build_rpm.sh > ~/ansible-podman-collections-build_rpm.log 2>&1
- args:
- chdir: "{{ collection_path }}"
- changed_when: true
- tags:
- - skip_ansible_lint
-
-- when:
- - artg_change.project in artg_github_projects
- - artg_change.project != "containers/ansible-podman-collections"
- block:
-
- - name: Create a script to build collection
- template:
- src: build_collection.sh.j2
- dest: ~/build_collection.sh
- mode: 0777
-
- - name: Create a spec file for building collection
- template:
- src: "specs/{{ artg_change.project.split('/')[1].split('.') | join ('-') }}-build.spec.j2"
- dest: "{{ collection_path }}/{{ 'ansible-collection-' + (artg_change.project.split('/')[1].split('.') | join ('-')) }}-build.spec"
-
- - name: Change collection version in galaxy.yml
- lineinfile:
- path: "{{ collection_path }}/galaxy.yml"
- regexp: "^version:.*"
- line: 'version: 9.9.9'
-
- - name: Build collection
- shell: >-
- ~/build_collection.sh > ~/{{ artg_change.project|replace('/', '-') }}-build_rpm-err.log 2>&1 || true;
- ~/build_collection.sh > ~/{{ artg_change.project|replace('/', '-') }}-build_rpm.log 2>&1
- args:
- chdir: "{{ collection_path }}"
- changed_when: true
- tags:
- - skip_ansible_lint
-
-- name: Append project name to package list
- set_fact:
- ansible_coll_packages: '{{ ansible_coll_packages }} + {{ [ artg_change.project ] }}'
- when: artg_change.project in artg_github_projects
diff --git a/roles/build-test-packages/tasks/main.yml b/roles/build-test-packages/tasks/main.yml
deleted file mode 100644
index fe270c1a9..000000000
--- a/roles/build-test-packages/tasks/main.yml
+++ /dev/null
@@ -1,330 +0,0 @@
----
-
-# needed to avoid potential failure when role is used without gather
-- name: gather facts used by role
- setup:
- gather_subset:
- - '!min'
- - user_dir
- - python
- - processor
- - pkg_mgr
- - distribution
-
-- name: Ensure DLRN package dependencies
- become: true
- package:
- state: present
- name:
- - createrepo
- - gcc
- - git
- - libffi-devel
- - mock
- - openssl-devel
- - redhat-rpm-config
- - rsync
- - rpm-build
- - rpmdevtools
- - sqlite
- - python3-libselinux
- register: package_ensure_dlrndeps
- until: package_ensure_dlrndeps is success
- retries: 3
- delay: 5
-
-- name: Create mock group
- become: true
- group:
- name: mock
- state: present
-
-- name: Add user to mock group
- become: true
- user:
- name: '{{ ansible_user_id }}'
- groups: mock
- append: true
-
-- name: Fetch DLRN from source
- git:
- repo: '{{ artg_dlrn_repo_url }}'
- dest: '{{ build_repo_dir }}/DLRN'
- version: 'master'
- register: _git_clone
- until: _git_clone is success
- retries: 3
- delay: 5
- when: dlrn_pre_installed|bool
-
-- name: Ensure DLRN dir is present
- file:
- path: '{{ build_repo_dir }}/DLRN/'
- state: directory
-
-- name: Remove data files from previous runs
- shell:
- rm -rf '{{ build_repo_dir }}/DLRN/*'
- args:
- warn: false
- register: result
- changed_when: result.stdout or result.stderr
-
-- name: drop in the templated version of projects.ini
- template:
- src: projects.ini.j2
- dest: '{{ build_repo_dir }}/DLRN/projects.ini'
-
-- name: Pip installs
- vars:
- ansible_python_interpreter: "/usr/bin/{{ python_cmd }}"
- block:
- - name: Install and update pip
- # noqa 403
- pip:
- name: pip
- virtualenv: "{{ build_repo_dir }}/dlrn-venv"
- virtualenv_command: "/usr/bin/{{ python_cmd }} -m venv"
- state: latest
- extra_args: --upgrade
-
- - name: Pip install rdopkg
- # noqa 403
- pip:
- name: rdopkg
- virtualenv: "{{ build_repo_dir }}/dlrn-venv"
- virtualenv_command: "/usr/bin/{{ python_cmd }} -m venv"
- state: latest
- when: not dlrn_pre_installed|bool
-
- - name: Pip install DLRN
- # noqa 403
- pip:
- name: dlrn
- virtualenv: "{{ build_repo_dir }}/dlrn-venv"
- virtualenv_command: "/usr/bin/{{ python_cmd }} -m venv"
- state: latest
- when: not dlrn_pre_installed|bool
-
-- name: Pip install pre-installed DLRN
- shell: >
- source {{ build_repo_dir }}/dlrn-venv/bin/activate;
- pip install -r requirements.txt;
- {{ python_cmd }} setup.py install;
- args:
- chdir: '{{ build_repo_dir }}/DLRN'
- when: dlrn_pre_installed|bool
-
-- name: copy the DLRN scripts in the virtualenv to the scripts dir
- synchronize:
- src: "{{ build_repo_dir }}/dlrn-venv/share/dlrn/scripts"
- dest: "{{ build_repo_dir }}/DLRN"
- delegate_to: "{{ inventory_hostname }}"
-
-- name: Fetch local rdoinfo copy
- git:
- repo: '{{ artg_rdoinfo_repo_url }}'
- dest: '{{ build_repo_dir }}/DLRN/{{ rdoinfo_repo_name }}'
- version: 'master'
- register: _git_clone
- until: _git_clone is success
- retries: 3
- delay: 5
-
-- name: Remove ssh reference from dist-git url
- shell: >
- sed -i -e "s|osp-distgit: git+ssh|osp-distgit: git|g" packages.yml
- args:
- chdir: "{{ build_repo_dir }}/DLRN/{{ rdoinfo_repo_name }}"
- when: ansible_distribution in ['RedHat']
-
-- name: Use local {{ ansible_distribution }} mirror if available ( centos 7 and RHEL )
- shell: >
- set -o pipefail ;
- gawk '{ print $0 }; /^# repos$/ { exit }' {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}.cfg
- > {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- cat /etc/yum.repos.d/quickstart-{{ ansible_distribution | lower }}-*.repo >> {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- find /etc/yum.repos.d -name "delorean*repo" ! -name "delorean*build-deps.repo" -exec cat {} \; -exec echo "" \;
- >> {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- find /etc/yum.repos.d -name "CentOS-Stream-*repo" -not -name "CentOS-Stream*Extras-common*repo" -exec cat {} \; -exec echo "" \;
- >> {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- find /etc/yum.repos.d -name "delorean*build-deps.repo" -exec sed 's/enabled=.*/enabled=1/g' {} \;
- >> {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- {% if ansible_distribution in ["RedHat"] and osp_release is defined %}
- find /etc/yum.repos.d -name "osptrunk-deps.repo" -exec sed 's/enabled=.*/enabled=1/g' {} \;
- >> {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- {% endif %}
- echo '"""' >> {{ build_repo_dir }}/DLRN/scripts/{{ initial_dlrn_config }}-local.cfg;
- mkdir -p /tmp/fake-dlrn-repos/current;
- touch /tmp/fake-dlrn-repos/delorean-deps.repo;
- touch /tmp/fake-dlrn-repos/current/delorean.repo;
- when:
- - dlrn_use_local_mirrors|bool
-
-- name: get env variables for changes and default change list
- set_fact:
- gerrit_host: "{{ lookup('env', 'GERRIT_HOST') }}"
- zuul_changes: "{{ lookup('env', 'ZUUL_CHANGES') }}"
- artg_change_list: "{{ artg_change_list|default(job.artg_change_list|default([])) }}"
- cacheable: true
-
-- name: Parse Jenkins changes
- jenkins_deps:
- host: "{{ lookup('env', 'GERRIT_HOST') }}"
- change_id: "{{ lookup('env', 'GERRIT_CHANGE_ID') }}"
- branch: "{{ lookup('env', 'GERRIT_BRANCH') }}"
- patchset_rev: "{{ lookup('env', 'GERRIT_PATCHSET_REVISION') }}"
- when: gerrit_host != "" # noqa 602
-
-- name: Add Jenkins changes to the change list
- set_fact:
- artg_change_list: "{{ artg_change_list|union(jenkins_change_list|default([])) }}"
- cacheable: true
-
-# Below is the list of cases needs to handle while constructing zuul change lists to process
-# 1. Gerrit change branch is not equal to project branch
-# 2. project name should be present in zuul processed change list
-- name: construct zuul deps list but don't cache it so it can be reprepared during upgrades
- set_fact:
- artg_change_list_prep: "{{ artg_change_list_prep|default([]) + [{'host': item.change_url | regex_search('(^https?://.*?)/', '\\1') | first,
- 'project': item.project.name,
- 'branch': item.branch,
- 'refspec': '/'.join(['refs', 'changes',
- item.change[-2:],
- item.change,
- item.patchset]) }] }}"
- with_items: "{{ zuul['items'] }}"
- when:
- - zuul is defined
- - "'change_url' in item"
- - item.project.name not in artg_change_list_prep|default([]) | map(attribute='project') |list
- - >-
- (release is defined and release in item.branch) or
- (release is not defined and item.branch == zuul.override_checkout | default(zuul.branch)) or
- (osp_release is defined and osp_release in item.branch) or
- item.project.name in artg_branchless_projects
-
-- name: Cache artg_change_list if change list is prepared
- set_fact:
- artg_change_list: "{{ artg_change_list|union(artg_change_list_prep) }}"
- cacheable: true
- when: artg_change_list_prep is defined
-
-- name: Detect github PRs from commit message
- include: detect_github_pr.yml
-
-- name: Print out the change list
- debug:
- var: artg_change_list
-
-- name: Check loop devices stat
- stat:
- path: "/dev/loop{{ item }}"
- register: stat_loop_devices
- with_sequence: start=0 end=11
-
-- name: Set loop_devices_absent fact
- set_fact:
- loop_devices_absent: "{{ stat_loop_devices.results|selectattr('stat.exists','equalto',false)|map(attribute='item')|list }}"
-
-- name: Clone and build the specific DLRN projects
- include: dlrn-build.yml artg_change={{ item }}
- with_items: '{{ artg_change_list|default([]) }}'
- when:
- - '"-distgit" not in item.project'
- - item.project not in artg_skipped_projects
- - >-
- release in item.branch or
- (zuul.project.name | default("") == rdoinfo_repo_name) or
- (osp_release is defined and osp_release in item.branch) or
- item.project in artg_branchless_projects
- - '"github.com" not in item.host'
-
-- name: Build package using DLRN
- when: not artg_build_one|bool
- block:
- - name: Print info about building
- debug:
- msg: "Building all changes in the patch together"
-
- - name: Generate DLRN Script
- template:
- src: run_dlrn.sh.j2
- dest: "{{ build_repo_dir }}/run_dlrn.sh"
- mode: 0744
-
- - name: Run DLRN
- shell: >
- set -o pipefail &&
- {{ build_repo_dir }}/run_dlrn.sh 2>&1 {{ timestamper_cmd }} >> {{ build_repo_dir }}/dlrn.log
- args:
- chdir: '{{ build_repo_dir }}'
- register: repo_built_multi
-
-- name: Clone and build the Github PRs
- include: github-pr.yml artg_change={{ item }}
- with_items: '{{ artg_change_list|default([]) }}'
- when:
- - '"github.com" in item.host'
- - item.project in artg_github_projects
-
-- name: Clean up loop devices created by mock
- file:
- path: "/dev/loop{{ item }}"
- state: absent
- become: true
- with_items: "{{ loop_devices_absent }}"
-
-- block:
- - name: Create a directory to hold the rpms
- file:
- path: '{{ build_repo_dir }}/gating_repo'
- state: directory
-
- - name: Copy the generated rpms
- shell: >
- set -o pipefail &&
- rm -rf {{ build_repo_dir }}/gating_repo/*;
- [[ $(find {{ build_repo_dir }}/DLRN/data/repos -type f -name '*.rpm') ]] &&
- find {{ build_repo_dir }}/DLRN/data/repos -type f -name '*.rpm' -print0 | xargs -0 cp -t {{ build_repo_dir }}/gating_repo ||
- echo "no DLRN builds";
- [[ $(find ~/rpmbuild/RPMS/noarch/*collection*.rpm) ]] &&
- find ~/rpmbuild/RPMS/noarch -type f -name '*collection*.rpm' -print0 | xargs -0 cp -t {{ build_repo_dir }}/gating_repo ||
- echo "no collection builds";
-
- - name: Run createrepo on generated rpms
- command: createrepo gating_repo
- args:
- chdir: '{{ build_repo_dir }}'
-
- - name: Compress the repo
- # noqa 303
- command: 'tar czf {{ artg_compressed_gating_repo }} gating_repo'
- args:
- chdir: '{{ build_repo_dir }}'
-
- - name: Trigger repo injection for quickstart
- set_fact:
- compressed_gating_repo: "{{ artg_compressed_gating_repo }}"
- cacheable: true
- when:
- - >-
- artg_rdo_packages|default([])|length > 0 or
- ansible_coll_packages|default([])|length > 0
-
-- name: Clean up
- file:
- path: '{{ item }}'
- state: absent
- with_items:
- - '{{ build_repo_dir }}/dlrn-venv'
- - '{{ build_repo_dir }}/gating_repo'
- when: dlrn_cleanup|bool
-
-- name: Clean up DLRN if it was cloned by the playbook
- file:
- path: '{{ build_repo_dir }}/DLRN'
- state: absent
- when:
- - not dlrn_pre_installed|bool
- - dlrn_cleanup|bool
diff --git a/roles/build-test-packages/templates/build_collection.sh.j2 b/roles/build-test-packages/templates/build_collection.sh.j2
deleted file mode 100644
index 786d0f314..000000000
--- a/roles/build-test-packages/templates/build_collection.sh.j2
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# PKG_NAME for example: ansible-collection-ansible-posix
-export PKG_NAME={{ 'ansible-collection-' + (artg_change.project.split('/')[1].split('.') | join ('-')) }}
-# SUP_PKG_NAME for example: ansible.posix
-export SUP_PKG_NAME={{ artg_change.project.split('/')[1] }}
-export TMPINSTALLDIR=/tmp/${PKG_NAME}-fpm-install
-export VERSION=9.9.9
-
-rm -rf "${TMPINSTALLDIR}"
-mkdir -p ~/rpmbuild/SOURCES/
-mkdir -p "${TMPINSTALLDIR}/${SUP_PKG_NAME}-${VERSION}"
-cp -r . ${TMPINSTALLDIR}/${SUP_PKG_NAME}-${VERSION}
-tar -zcvf ~/rpmbuild/SOURCES/${PKG_NAME}-${VERSION}.tar.gz -C ${TMPINSTALLDIR} ${SUP_PKG_NAME}-${VERSION}
-rpmbuild -bb ${PKG_NAME}-build.spec
diff --git a/roles/build-test-packages/templates/projects.ini.j2 b/roles/build-test-packages/templates/projects.ini.j2
deleted file mode 100644
index a9748d476..000000000
--- a/roles/build-test-packages/templates/projects.ini.j2
+++ /dev/null
@@ -1,59 +0,0 @@
-[DEFAULT]
-datadir=./data
-scriptsdir=./scripts
-baseurl={{ dlrn_baseurl }}
-distro=rpm-master
-source=master
-target={{ dlrn_target }}
-smtpserver=
-reponame=delorean
-#templatedir=$VIRTUAL_ENV/dlrn/templates
-maxretries=3
-{% if osp_release is defined %}
-pkginfo_driver=dlrn.drivers.downstream.DownstreamInfoDriver
-{% else %}
-pkginfo_driver=dlrn.drivers.rdoinfo.RdoInfoDriver
-{% endif %}
-tags=
-rsyncdest=
-rsyncport=22
-workers=1
-gerrit_topic=rdo-FTBFS
-database_connection=sqlite:///commits.sqlite
-fallback_to_master=1
-use_components={{ use_components }}
-{% if osp_release is defined %}
-# Details about `release_numbering` and `release_minor` can be found at
-# at https://dlrn.readthedocs.io/en/latest/installation.html
-# There default values are `0.date.hash` and `0` respectively.
-# We are only setting these for downstream case when osp_release
-# is defined. For downstream case, we are hardcoding release_numbering=minor.date.hash
-# and then just set the release_minor value based on the OSP version
-# (e.g. 0 for 16/16.0, 1 for 16.1, 2 for 16.2 etc).
-release_numbering=minor.date.hash
-release_minor={{ '0' if '.' not in osp_release.split('-')[1] else osp_release.split('-')[1].split('.')[1] }}
-
-[downstream_driver]
-info_files=osp.yml
-versions_url=https://trunk.rdoproject.org/centos{{ ansible_distribution_major_version }}-{{ release }}/current/versions.csv
-downstream_distro_branch={{ osp_release }}{{ '.0' if '.' not in osp_release else '' }}-rhel-8-trunk
-downstream_tag=osp-{{ osp_release.split('-')[1] }}{{ '.0' if '.' not in osp_release else '' }}
-downstream_distgit_key=osp-distgit
-use_upstream_spec=true
-downstream_spec_replace_list=^%global with_doc.+/%global with_doc 0,^%global rhosp.*/%global rhosp 1
-{% endif %}
-
-[gitrepo_driver]
-# Options to be specified if pkginfo_driver is set to
-# dlrn.drivers.gitrepo.GitRepoDriver
-#
-#repo=http://github.com/openstack/rpm-packaging
-#directory=/openstack
-#skip=openstack-macros,keystoneauth1
-#use_version_from_spec=1
-
-[mockbuild_driver]
-# options to be specified if build_driver is set to
-# dlrn.drivers.mockdriver.MockBuildDriver
-# We want to prevent the package from being installed in the Mock env
-install_after_build=0
diff --git a/roles/build-test-packages/templates/run_dlrn.sh.j2 b/roles/build-test-packages/templates/run_dlrn.sh.j2
deleted file mode 100644
index 6478f18e1..000000000
--- a/roles/build-test-packages/templates/run_dlrn.sh.j2
+++ /dev/null
@@ -1,30 +0,0 @@
-set +e
-
-cd {{ build_repo_dir }}/DLRN
-source {{ build_repo_dir }}/dlrn-venv/bin/activate;
-{% if artg_build_one|bool %}
-export PKG={{ project_name_mapped }}
-{% else %}
-export PKG="{{ artg_rdo_packages|join(' --package-name ') }}"
-{% endif %}
-{% if ansible_distribution|lower == "redhat" %}
-export REQUESTS_CA_BUNDLE=/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
-{% endif %}
-
-while true; do
- dlrn --config-file projects.ini --head-only --package-name $PKG --local \
- --info-repo {{ rdoinfo_repo_name }} \
- {% if not artg_build_one|bool %}--order {% endif %}--dev;
- if [ $? -eq 0 ]; then
- # SUCCESS
- break;
- elif [ $? -eq 1 ]; then
- # FAILED
- exit 1;
- elif [ $? -eq 2 ]; then
- # RETRY
- continue;
- fi;
- # Unexpected DLRN return code
- exit $?;
-done;
diff --git a/roles/build-test-packages/templates/specs/ansible-netcommon-build.spec.j2 b/roles/build-test-packages/templates/specs/ansible-netcommon-build.spec.j2
deleted file mode 100644
index d503d81fa..000000000
--- a/roles/build-test-packages/templates/specs/ansible-netcommon-build.spec.j2
+++ /dev/null
@@ -1,40 +0,0 @@
-%global collection_namespace ansible
-%global collection_name netcommon
-
-Name: ansible-collection-%{collection_namespace}-%{collection_name}
-Version: 9.9.9
-Release: 999%{?dist}
-Summary: Ansible Network Collection for Common Code
-
-License: GPLv3+ and BSD and Python
-URL: %{ansible_collection_url}
-Source: https://github.com/ansible-collections/ansible.netcommon/archive/%{version}/%{name}-%{version}.tar.gz
-
-BuildRequires: (ansible >= 2.9.10 or ansible-core >= 2.11.0)
-
-BuildArch: noarch
-
-%description
-%{summary}.
-
-%prep
-%autosetup -n ansible.netcommon-%{version}
-sed -i -e '/version:/s/null/%{version}/' galaxy.yml
-find -type f ! -executable -type f -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' +
-rm -fvr tests/integration bindep.txt .yamllint changelogs/fragments/.keep
-find -type f -name '.gitignore' -print -delete
-
-%build
-%ansible_collection_build
-
-%install
-%ansible_collection_install
-
-%files
-%license LICENSE
-%doc README.md
-%{ansible_collection_files}
-
-%changelog
-* Mon Jul 05 2021 Sagi Shnaidman - 9.9.9
-- Clone this spec from: https://src.fedoraproject.org/rpms/ansible-collection-ansible-netcommon/blob/rawhide/f/ansible-collection-ansible-netcommon.spec
diff --git a/roles/build-test-packages/templates/specs/ansible-posix-build.spec.j2 b/roles/build-test-packages/templates/specs/ansible-posix-build.spec.j2
deleted file mode 100644
index fcc5e334c..000000000
--- a/roles/build-test-packages/templates/specs/ansible-posix-build.spec.j2
+++ /dev/null
@@ -1,40 +0,0 @@
-%global collection_namespace ansible
-%global collection_name posix
-
-Name: ansible-collection-%{collection_namespace}-%{collection_name}
-Version: 9.9.9
-Release: 999%{?dist}
-Summary: Ansible Collection targeting POSIX and POSIX-ish platforms
-
-License: GPLv3+ and Python
-URL: %{ansible_collection_url}
-Source: https://github.com/ansible-collections/ansible.posix/archive/%{version}/%{name}-%{version}.tar.gz
-
-BuildRequires: (ansible >= 2.9.10 or ansible-core >= 2.11.0)
-
-BuildArch: noarch
-
-%description
-%{summary}.
-
-%prep
-%autosetup -n ansible.posix-%{version}
-rm -fvr tests/{integration,utils} .github changelogs/fragments/.keep {test-,}requirements.txt shippable.yml
-rm -fvr .azure-pipelines
-find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' +
-find -type f -name '.gitignore' -print -delete
-
-%build
-%ansible_collection_build
-
-%install
-%ansible_collection_install
-
-%files
-%license COPYING
-%doc README.md
-%{ansible_collection_files}
-
-%changelog
-* Mon Jul 05 2021 Sagi Shnaidman - 9.9.9
-- Clone this spec from: https://src.fedoraproject.org/rpms/ansible-collection-ansible-posix/blob/rawhide/f/ansible-collection-ansible-posix.spec
diff --git a/roles/build-test-packages/templates/specs/community-general-build.spec.j2 b/roles/build-test-packages/templates/specs/community-general-build.spec.j2
deleted file mode 100644
index b2ccd54ea..000000000
--- a/roles/build-test-packages/templates/specs/community-general-build.spec.j2
+++ /dev/null
@@ -1,41 +0,0 @@
-%global collection_namespace community
-%global collection_name general
-
-Name: ansible-collection-%{collection_namespace}-%{collection_name}
-Version: 9.9.9
-Release: 999%{?dist}
-Summary: Modules and plugins supported by Ansible community
-
-License: GPLv3+ and BSD and Python
-URL: %{ansible_collection_url}
-Source: https://github.com/ansible-collections/community.general/archive/%{version}/%{name}-%{version}.tar.gz
-
-BuildRequires: (ansible >= 2.9.10 or ansible-core >= 2.11.0)
-
-BuildArch: noarch
-
-%description
-%{summary}.
-
-%prep
-%autosetup -n community.general-%{version}
-rm -fvr .github .azure-pipelines
-find -type f ! -executable -name '*.py' -print -exec sed -i -e '1{\@^#!.*@d}' '{}' +
-find -type f -name '.gitignore' -print -delete
-test -f scripts && sed -i -e 's|env python$|env python3|' scripts/inventory/*.py scripts/vault/*.py || echo 'nothing to do'
-
-%build
-%ansible_collection_build
-
-%install
-%ansible_collection_install
-rm -vr %{buildroot}%{ansible_collection_files}/%{collection_name}/tests
-
-%files
-%license COPYING
-%doc README.md CHANGELOG.rst
-%{ansible_collection_files}
-
-%changelog
-* Mon Jul 05 2021 Sagi Shnaidman - 9.9.9
-- Clone this spec from: https://src.fedoraproject.org/rpms/ansible-collection-community-general/blob/rawhide/f/ansible-collection-community-general.spec
diff --git a/roles/check-to-build-or-not-to-build/README.md b/roles/check-to-build-or-not-to-build/README.md
deleted file mode 100644
index 1fe07670c..000000000
--- a/roles/check-to-build-or-not-to-build/README.md
+++ /dev/null
@@ -1,32 +0,0 @@
-check-to-build-or-not-to-build
-==============================
-
-An Ansible role created from the original playbook
-to decide whether we need to build images. The role
-was created to allow this functionality to run on
-hosts other than the undercloud.
-
-This output of this role is a to_build variable,
-that is set to true or false to make image build and
-other related workflow decisions in later steps.
-
-Role Variables:
----------------
-* ` default_projects_need_build_list` -- list of repos can affect the image building itelf
-
-Example Usage
--------------
-
-```yaml
----
-- name: Decide whether we need to build images
- hosts: undercloud
- tasks:
- - include_role:
- name: check-to-build-or-not-to-build
-```
-
-License
--------
-
-Apache
diff --git a/roles/check-to-build-or-not-to-build/defaults/main.yml b/roles/check-to-build-or-not-to-build/defaults/main.yml
deleted file mode 100644
index 484ceed57..000000000
--- a/roles/check-to-build-or-not-to-build/defaults/main.yml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-default_projects_need_build_list:
- - diskimage-builder
- - tripleo-image-elements
- - tripleo-puppet-elements
- - instack-undercloud
- - python-tripleoclient
- - tripleo-common
- - ironic-python-agent
diff --git a/roles/check-to-build-or-not-to-build/tasks/main.yml b/roles/check-to-build-or-not-to-build/tasks/main.yml
deleted file mode 100644
index cfbd3c121..000000000
--- a/roles/check-to-build-or-not-to-build/tasks/main.yml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-# The next two tasks make the list of ZUUL_CHANGES look like our build list
-# after we cleanup the extra stuff there, we can just intersect the two
-# lists in order to match.
-- name: Cleanup front of ZUUL_CHANGES
- set_fact:
- zuul_changes: "{{ lookup('env', 'ZUUL_CHANGES')|regex_replace('openstack/', '') }}"
-
-- name: Cleanup end of ZUUL_CHANGES
- set_fact:
- zuul_changes: "{{ zuul_changes|regex_replace(':[a-z/]*:refs/changes/\\d{2}/\\d+/\\d+','') }}"
-
-- name: Split zuul_changes to a list
- set_fact:
- zuul_changes: "{{ zuul_changes.split('^') }}"
-
-- name: compare zuul_changes list to our always_build_list
- set_fact:
- projects_need_build: "{{ zuul_changes | intersect(projects_need_build_list|default(default_projects_need_build_list)) }}"
-
-- name: Default to using cached images
- set_fact:
- to_build: false
- cacheable: true
-
-- name: Build images when we have a change in the always build list
- set_fact:
- to_build: true
- cacheable: true
- when: projects_need_build != []
-
-- name: Always build images in the periodic and component jobs
- set_fact:
- to_build: true
- cacheable: true
- when: lookup('env', 'PERIODIC')|default('0')|int == 1 or job.component is defined
diff --git a/roles/container-build/README.md b/roles/container-build/README.md
deleted file mode 100644
index 43dc0c023..000000000
--- a/roles/container-build/README.md
+++ /dev/null
@@ -1,5 +0,0 @@
-container-build
-===============
-
-This role will deploy a simple Docker registry v2 in a container,
-build and push container images into that local registry.
diff --git a/roles/container-build/defaults/main.yaml b/roles/container-build/defaults/main.yaml
deleted file mode 100644
index 113dd9959..000000000
--- a/roles/container-build/defaults/main.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
----
-# Copyright 2020 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.
-
-content_provider_registry_ip: 127.0.0.1
-content_provider_registry_port: 5001
-container_registry_namespace: tripleomaster
-container_tag: current-tripleo
-container_file: /usr/share/openstack-tripleo-common/container-images/tripleo_containers.yaml
-# Notes(chandankumar): openstack- prefix is used from victoria release onwards
-docker_prep_prefix: >-
- {% if (build_container_images|default(false)|bool and
- not job.provider_job|default(false)|bool) or
- release not in ['queens', 'pike', 'stein', 'train', 'ussuri'] -%}
- openstack
- {%- else -%}
- {{ ansible_distribution | lower }}-binary
- {%- endif -%}
-# Temporary pin to 8.2 because of LP #1902846
-containers_base_image: "{{ job.containers_base_image|default('ubi8') }}"
-container_registry_image: quay.io/tripleoci/registry:2
-container_registry_image_fallback: quay.rdoproject.org/ceph/registry:2
-container_exclude_distro: "{{ ansible_distribution|lower }}{{ ansible_distribution_major_version}}"
-# Extra config needs to be passed to tcib tool
-# https://docs.openstack.org/tripleo-ansible/latest/roles/role-tripleo_container_image_build.html#r-o-l-e-d-e-f-a-u-l-t-s
-container_extra_config:
- tcib_args:
- TRIPLEO_ANSIBLE_REQ: /usr/share/openstack-tripleo-common-containers/container-images/kolla/tripleo-ansible-ee/requirements.yaml
diff --git a/roles/container-build/meta/main.yaml b/roles/container-build/meta/main.yaml
deleted file mode 100644
index 90f744dcd..000000000
--- a/roles/container-build/meta/main.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
----
-# Copyright 2020 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.
-
-dependencies:
- - extras-common
diff --git a/roles/container-build/tasks/main.yaml b/roles/container-build/tasks/main.yaml
deleted file mode 100644
index 8eec4a4b1..000000000
--- a/roles/container-build/tasks/main.yaml
+++ /dev/null
@@ -1,147 +0,0 @@
----
-# Copyright 2020 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.
-
-- name: Deploy the content provider registry
- block:
- - name: 'Deploy the content provider registry from {{ container_registry_image }}'
- become: true
- shell: >-
- podman run
- -d
- --network=host
- --name docker_registry
- -e REGISTRY_HTTP_ADDR="0.0.0.0:{{ content_provider_registry_port }}"
- -e REGISTRY_LOG_LEVEL=debug
- {{ container_registry_image }}
- tags:
- - skip_ansible_lint
- rescue:
- - name: "Deploy the content provider registry from {{ container_registry_image_fallback }}"
- become: true
- shell: >-
- podman run
- -d
- --network=host
- --name docker_registry
- -e REGISTRY_HTTP_ADDR="0.0.0.0:{{ content_provider_registry_port }}"
- -e REGISTRY_LOG_LEVEL=debug
- {{ container_registry_image_fallback }}
- tags:
- - skip_ansible_lint
-
-- name: Open port for content provider registry
- become: true
- command: >-
- iptables -I INPUT -p tcp --dport {{ content_provider_registry_port }} -j ACCEPT
- changed_when: true
-
-- name: Set container_image_build_volumes fact
- set_fact:
- container_image_build_volumes:
- - "/etc/yum.repos.d:/etc/distro.repos.d:z"
- - "/etc/pki/rpm-gpg:/etc/pki/rpm-gpg:z"
- - "/etc/pki/ca-trust:/etc/pki/ca-trust:z"
- when:
- - (ansible_distribution == 'RedHat') or (ansible_distribution_major_version|int < 8)
-
-- name: Set container_image_build_volumes fact for CentOS
- set_fact:
- container_image_build_volumes:
- - "/etc/yum.repos.d:/etc/distro.repos.d:z"
- - "/etc/pki/rpm-gpg:/etc/pki/rpm-gpg:z"
- - "/etc/dnf/vars:/etc/dnf/vars:z"
- when:
- - ansible_distribution == 'CentOS'
- - ansible_distribution_major_version|int >= 8
-
-- name: Check if /opt/gating_repo exists
- stat:
- path: /opt/gating_repo
- register: gating_stat
-
-- name: Add gating repo to mount volumes if exists
- set_fact:
- container_image_build_volumes:
- '{{ container_image_build_volumes + ["/opt/gating_repo:/opt/gating_repo:z"] }}'
- when: gating_stat.stat.exists|bool
-
-- name: Include exclude_containers and ci_branch from build-containers role
- when: zuul is defined
- block:
-
- - name: Include vars from build-containers to include exclude_containers
- include_vars: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/tripleo-ci'].src_dir }}/roles/build-containers/vars/main.yaml"
-
- - name: Set ci_branch for building containers check jobs
- include_tasks: "{{ ansible_user_dir }}/{{ zuul.projects['opendev.org/openstack/tripleo-ci'].src_dir }}/roles/build-containers/tasks/set_ci_branch.yml"
-
- - name: Set branch
- set_fact:
- branch: "{{ osp_release | default(ci_branch) }}"
-
-- name: Add tcib_extra params
- set_fact:
- tcib_extras:
- - "tcib_release={{ ansible_distribution_major_version }}"
- - "tcib_python_version={{ (ansible_distribution_major_version|int < 9) | ternary ('3.6', '3.9') }}"
- when: release not in ['train', 'ussuri', 'victoria']
-
-- name: Add tcib extra config params
- when:
- - container_extra_config is defined
- - release not in ['train', 'wallaby']
- block:
- - name: Generate config params
- copy:
- dest: "{{ ansible_user_dir }}/extra_config.yaml"
- content: |
- {{ container_extra_config | to_nice_yaml }}
-
- - name: Set tcib config params
- set_fact:
- tcib_extra_config: "{{ ansible_user_dir }}/extra_config.yaml"
-
-
-- name: Build and push container images to the local registry
- collections:
- - tripleo.operator
- include_role:
- name: tripleo_container_image_build
- vars:
- # TODO(tkajinam): With Ansible 2.14, the playbook triggered by the command
- # gets stuck if -vvv is set. We temporarily remove --debug
- # as a workaround until we find out the appropriate fix.
- # https://github.com/ansible/ansible-runner/issues/1164
- # tripleo_container_image_build_debug: true
- tripleo_container_image_build_generate_scripts: true
- tripleo_container_image_build_namespace: "{{ container_registry_namespace }}"
- tripleo_container_image_build_tag: "{{ container_tag }}"
- tripleo_container_image_build_push: true
- tripleo_container_image_build_registry: "{{ content_provider_registry_ip }}:{{ content_provider_registry_port }}"
- tripleo_container_image_build_rhel_modules: "{{ rhel_modules|default('') }}"
- tripleo_container_image_build_volumes: "{{ container_image_build_volumes }}"
- tripleo_container_image_build_work_dir: "{{ working_dir }}/container-builds"
- tripleo_container_image_build_prefix: "{{ docker_prep_prefix }}"
- tripleo_container_image_build_timeout: 10000
- tripleo_container_image_build_base: "{{ containers_base_image }}"
- tripleo_container_image_build_excludes: "{{ exclude_containers[branch][container_exclude_distro]|default([]) }}"
- tripleo_container_image_build_tcib_extras: "{{ tcib_extras | default([]) }}"
- tripleo_container_image_build_extra_config: "{{ tcib_extra_config | default('') }}"
- tripleo_container_image_build_distro: "{{ (ansible_distribution == 'RedHat') | ternary('rhel', 'centos') }}"
-
-- name: Pull and push non *tripleo* container images to local registry
- import_tasks: non_tripleo_containers.yml
- when: job.provider_job|default(false)|bool
diff --git a/roles/container-build/tasks/non_tripleo_containers.yml b/roles/container-build/tasks/non_tripleo_containers.yml
deleted file mode 100644
index df0ca720e..000000000
--- a/roles/container-build/tasks/non_tripleo_containers.yml
+++ /dev/null
@@ -1,138 +0,0 @@
----
-- name: Filter non-tripleo containers
- when: osp_release is not defined
- block:
-
- - name: Fetch tripleo containers
- command: cat "{{ container_file }}"
- register: all_containers
- changed_when: false
-
- - name: Store tripleo containers
- set_fact:
- containers: "{{ all_containers.stdout | from_yaml }}"
-
- - name: Filter out non-tripleo containers
- set_fact:
- non_tripleo_containers: "{{ containers.container_images | json_query('[?image_source != `tripleo`]') }}"
-
- - name: Filter out non-tripleo containers excluding kolla image_source
- set_fact:
- non_tripleo_containers: "{{ non_tripleo_containers | json_query('[?image_source != `kolla`]') }}"
- when: release in ["train"]
-
- - name: Store non-tripleo containers
- set_fact:
- non_tripleo_containers: "{{ non_tripleo_containers | map(attribute='imagename') | list }}"
-
-- name: Override non-tripleo containers for Downstream CI
- set_fact:
- non_tripleo_containers: "{{ downstream_ci_non_tripleo_containers | default([]) }}"
- when: osp_release is defined
-
-- name: Print non-tripleo containers
- debug:
- msg: "{{ non_tripleo_containers }}"
-
-- name: "Pull containers from {{ docker_registry_host }}"
- become: true
- command: 'podman pull {{ item }}'
- register: pull_success
- changed_when: true
- ignore_errors: true
- loop: "{{ non_tripleo_containers }}"
-
-- name: List down missing containers
- set_fact:
- missing_containers: "{{ missing_containers | default([]) + [pull_output.item] }}"
- when: pull_output is failed
- loop: "{{ pull_success.results }}"
- loop_control:
- loop_var: pull_output
-
-- name: Pull failed containers from RDO registry
- become: true
- command: "podman pull docker://quay.rdoproject.org/ceph/{{ item.split('/')[-1] }}"
- register: rdo_pull_success
- ignore_errors: true
- loop: "{{ missing_containers }}"
- changed_when: true
- when:
- - missing_containers | default([]) | length > 0
- - osp_release is not defined
-
-- name: Fallback to docker.io registry
- when:
- - rdo_pull_success is not skipped
- - rdo_pull_success is failed
- - missing_containers | default([]) | length > 0
- - osp_release is not defined
- block:
-
- - name: List down missing containers
- set_fact:
- rdo_missing_containers: "{{ rdo_missing_containers | default([]) + [ pull_output.item] }}"
- when: pull_output is failed
- loop: "{{ rdo_pull_success.results }}"
- loop_control:
- loop_var: pull_output
-
- - name: Pull failed containers from dockerhub
- become: true
- command: "podman pull {{ item.split('/')[-1] }}"
- register: docker_pull_success
- loop: "{{ rdo_missing_containers }}"
- changed_when: true
- ignore_errors: true
- when: rdo_missing_containers | default([]) | length > 0
-
- - name: Fail the job on failure of all fallback registry
- when:
- - docker_pull_success is not skipped
- - docker_pull_success is failed
- block:
-
- - name: List down missing containers
- set_fact:
- docker_missing_containers: "{{ docker_missing_containers | default([]) + [pull_output.item] }}"
- when: pull_output is failed
- loop: "{{ docker_pull_success.results }}"
- loop_control:
- loop_var: pull_output
-
- - name: Fail the job if missing containers exists
- fail:
- msg: "Failed to pull following containers: {{ docker_missing_containers }}"
- when: docker_missing_containers | default([]) | length > 0
-
-- name: Push non-tripleo containers to the content provider registry
- become: true
- block:
-
- - name: Make sure buildah is installed
- package:
- name: "buildah"
- state: present
-
- # NOTE(mwhahaha): use buildah because --format can only be specified with buildah push.
- # Additionally we could switch to oci, but v2v2 is what we convert on the undercloud.
- - name: Push non-tripleo containers (ceph, alertmanager, prometheus) to the content provider registry
- shell: >
- buildah push --format=v2s2 --tls-verify=False --log-level debug \
- $(buildah images -q {{ item.split('/')[-1] }}) \
- docker://{{ content_provider_registry_ip }}:{{ content_provider_registry_port }}/{{ docker_registry_namespace }}/{{ item.split('/')[-1] }};
- with_items: "{{ non_tripleo_containers }}"
- retries: 3
- delay: 5
- register: non_tripleo
- until: non_tripleo is not failed
- changed_when: false
- tags:
- - skip_ansible_lint
-
-- name: Dump non-tripleo containers output to file
- local_action:
- module: copy
- content: "{{ non_tripleo }}"
- dest: "{{ ansible_user_dir }}/non_tripleo_containers.log"
- when: non_tripleo is defined
diff --git a/roles/container-prep/README.md b/roles/container-prep/README.md
deleted file mode 100644
index 649588fd6..000000000
--- a/roles/container-prep/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-container-prep
-==============
-
-The containers used by TripleO are now in use in multiple parts of the
-workflow. This role is a common role for containers that can be used
-to setup either for the undercloud, standalone or overcloud-prep-containers.
-
-Role Variables
---------------
diff --git a/roles/container-prep/defaults/main.yml b/roles/container-prep/defaults/main.yml
deleted file mode 100644
index dad32e291..000000000
--- a/roles/container-prep/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-update_containers: false
diff --git a/roles/container-prep/meta/main.yml b/roles/container-prep/meta/main.yml
deleted file mode 100644
index 98bfef3b5..000000000
--- a/roles/container-prep/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - extras-common
diff --git a/roles/container-prep/tasks/main.yml b/roles/container-prep/tasks/main.yml
deleted file mode 100644
index 7c675fd4c..000000000
--- a/roles/container-prep/tasks/main.yml
+++ /dev/null
@@ -1,106 +0,0 @@
----
-# Conditional facts to be set which are common to undercloud and overcloud
-
-# confirmed variables for deploy and mixed upgrade
-# GOOD
-# docker_registry_namespace
-# http://opendev.org/openstack/tripleo-quickstart/tree/config/release/tripleo-ci/CentOS-7/master-undercloud-queens-overcloud.yml
-
-- name: set docker_registry_namespace_used
- set_fact:
- docker_registry_namespace_used: "{{ docker_registry_namespace }}"
- tags:
- - undercloud-install
-
-# get_build_command is passing the current hash
-# plus the latest dlrn hash and I'm not sure why
-# http://opendev.org/openstack/tripleo-ci/tree/roles/run-test/templates/oooq_common_functions.sh.j2#n155
-- when: get_build_command is defined
- block:
- - name: execute build_command
- shell: |
- echo {{ get_build_command }} # noqa 305
- register: build_command_output
- tags:
- - undercloud-install
-
- - name: set container_build_id from get_build_command
- set_fact:
- container_build_id: "{{ build_command_output.stdout }}"
- cacheable: true
- tags:
- - undercloud-install
-
-# docker_image_tag is set to the dlrn hash but uses the tag
-# as a backup default
-# "{{ dlrn_hash|default(dlrn_hash_tag) }}"
-- name: set container_build_id from docker_image_tag
- set_fact:
- container_build_id: "{{ docker_image_tag }}"
- cacheable: true
- when: get_build_command is not defined
- tags:
- - undercloud-install
-
-# docker_image_tag is set to the dlrn hash newest but uses the tag
-# as a backup default
-# container_build_id needs to be set to dlrn_hash_newest in downstream
-# minor update job before update to pull correct container images from
-# registry
-- name: set container_build_id from dlrn_hash_newest
- set_fact:
- container_build_id: "{{ dlrn_hash_newest | default(dlrn_hash_tag_newest) }}"
- cacheable: true
- when:
- - get_build_command is not defined
- - override_docker_image_tag|default(false)|bool
- tags:
- - undercloud-upgrade
- - overcloud-update
-
-# overcloud_docker_image_tag is set to overcloud_dlrn_hash
-# I don't see where overcloud_dlrn_hash is set
-# http://codesearch.openstack.org/?q=overcloud_dlrn_hash&i=nope&files=&repos=
-- name: set mixed upgrade container_build_id
- set_fact:
- container_build_id: "{{ overcloud_docker_image_tag }}"
- docker_registry_namespace_used: "{{ overcloud_docker_registry_namespace }}"
- cacheable: true
- when:
- - container_build_id is not defined
- - use_overcloud_mixed_upgrade|default(false)|bool
- tags:
- - undercloud-install
-
-- name: Set update_containers_append_tag for the play
- set_fact:
- update_containers_append_tag: "{{ lookup('pipe','date +-updated-%Y%m%d%H%M%S') }}"
- cacheable: true
- when:
- - update_containers_append_tag is undefined
- - (update_containers is defined and update_containers|bool) or (standalone_container_prep_updates is defined and standalone_container_prep_updates|bool)
- - not build_container_images|default(false)|bool
- - not job.consumer_job | default(false) | bool
- tags:
- - undercloud-install
-
-- name: echo container_build_id
- debug:
- var: container_build_id
- tags:
- - undercloud-install
-
-- name: Remove old container_build_id file
- become: true
- file:
- state: absent
- dest: /tmp/container_build_id
- tags:
- - undercloud-install
-
-- name: Save container_build_id on disk
- copy:
- content: "{{ container_build_id }}"
- dest: /tmp/container_build_id
- tags:
- - undercloud-install
diff --git a/roles/container-update/README.md b/roles/container-update/README.md
deleted file mode 100644
index bbbad8943..000000000
--- a/roles/container-update/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-container-update
-================
-
-This role levarages from the container-prep role which updates the needed
-parameters to set up the containers-prepare-parameter file and updates with
-the right values. It is mostly intended for upgrades and updates workflows in
-which we need to update the containers registry details before performing the
-upgrade.
-
-Role Variables
---------------
-
-- containers_file: -- File containing the ContainerImagePrepare definition.
diff --git a/roles/container-update/defaults/main.yml b/roles/container-update/defaults/main.yml
deleted file mode 100644
index 05940ca26..000000000
--- a/roles/container-update/defaults/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
----
-containers_file: containers-prepare-parameter.yaml
diff --git a/roles/container-update/meta/main.yml b/roles/container-update/meta/main.yml
deleted file mode 100644
index a99ff864c..000000000
--- a/roles/container-update/meta/main.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-dependencies:
- - extras-common
- - container-prep
diff --git a/roles/container-update/tasks/main.yml b/roles/container-update/tasks/main.yml
deleted file mode 100644
index 4f0173022..000000000
--- a/roles/container-update/tasks/main.yml
+++ /dev/null
@@ -1,48 +0,0 @@
----
-- name: "Check if {{ containers_file }} exists"
- stat:
- path: "{{ working_dir }}/{{ containers_file }}"
- register: stat_cont_file
-
-- name: "Render {{ containers_file }} if it doesn't exist."
- include_role:
- name: undercloud_deploy
- tasks_from: create-scripts.yml
- when: not stat_cont_file.stat.exists
-
-- name: "Substitute containers registry to {{ docker_registry_host|default('nothing') }}/{{ docker_registry_namespace_used|default('nothing') }}"
- replace:
- path: "{{ working_dir }}/{{ containers_file }}"
- regexp: '^(\s*namespace:).*'
- replace: "\\1 {{ docker_registry_host }}/{{ docker_registry_namespace_used }}"
- when:
- - docker_registry_host is defined
- - docker_registry_namespace_used is defined
-
-- name: "Substitute tag to {{ container_build_id|default('nothing') }}"
- replace:
- path: "{{ working_dir }}/{{ containers_file }}"
- regexp: '^(\s*tag:).*'
- replace: "\\1 {{ container_build_id }}"
- when: container_build_id is defined
-
-- name: "Substitute name_prefix to {{ docker_prep_prefix|default('nothing') }}"
- replace:
- path: "{{ working_dir }}/{{ containers_file }}"
- regexp: '^(\s*name_prefix:).*'
- replace: "\\1 {{ docker_prep_prefix }}"
- when: docker_prep_prefix is defined
-
-- name: "Substitute ceph_namespace to {{ docker_ceph_image|default('nothing') }}"
- replace:
- path: "{{ working_dir }}/{{ containers_file }}"
- regexp: '^(\s*ceph_namespace:).*'
- replace: "\\1 {{ docker_ceph_namespace }}"
- when: docker_ceph_namespace is defined
-
-- name: "Substitute ceph_tag to {{ docker_ceph_tag|default('nothing') }}"
- replace:
- path: "{{ working_dir }}/{{ containers_file }}"
- regexp: '^(\s*ceph_tag:).*'
- replace: "\\1 {{ docker_ceph_tag }}"
- when: docker_ceph_tag is defined
diff --git a/roles/create-zuul-based-reproducer/README.md b/roles/create-zuul-based-reproducer/README.md
deleted file mode 100644
index 2d1a8db32..000000000
--- a/roles/create-zuul-based-reproducer/README.md
+++ /dev/null
@@ -1,85 +0,0 @@
-create-zuul-based-reproducer
-============================
-
-This role creates a launcher-playbook and a wrapper Bash script to
-allow users to reproduce CI jobs using a local Zuul installation.
-
-Role Variables
---------------
-
-For the defaults of these variables, see the defaults/main.yml file in this role.
-
-* reproducer_zuul_based_quickstart_script: Bash script to kick the generated launcher playbook
-* reproducer_zuul_based_quickstart_readme_file: The documentation file with user instructions
-* reproducer_zuul_based_launcher_playbook: Template to create a launcher playbook with variable
-to reproduce the job run
-* launcher_env_setup_playbook: Template to create a playbook to set up the launcher environment
-From the extras-common role:
-* artcl_collect_dir: "{{ local_working_dir }}/collected_files"
-
-Dependencies
-------------
-
-The role is run within the collect-logs role.
-
-Example Playbook
-----------------
-
-This role generates a launcher-playbook and overrides RPM and PyPi mirrors for Centos 8:
-
-- hosts: localhost
- tasks:
- - name: Add the localhost to the inventory
- add_host:
- name: "localhost"
- groups: "localhost"
- ansible_host: 127.0.0.1
- ansible_connection: local
-
- - name: Add the primary to the inventory
- add_host:
- name: "localhost"
- groups: "primary"
- ansible_fqdn: "localhost"
- ansible_user: "{{ lookup('env', 'USER') }}"
- ansible_private_key_file: "/home/{{ ansible_user }}/.ssh/{{ user_pri_key | default('id_rsa') }}"
- ansible_host: "localhost"
-
-- import_playbook: playbooks/pre.yaml
-
-- hosts: localhost
- vars:
- depends_on:
- - https://review.opendev.org/xxxxxx
- zuul_yaml: >-
- - project:
- check:
- jobs:
- - tripleo-ci-centos-7-multinode-1ctlr-featureset010-dlrn-hash-tag
-
- - job:
- name: tripleo-ci-centos-7-multinode-1ctlr-featureset010-dlrn-hash-tag
- parent: tripleo-ci-centos-7-multinode-1ctlr-featureset010
- vars:
- mirror_fqdn: mirror.mtl01.inap.opendev.org
- package_mirror: http://mirror.centos.org/centos
- pypi_fqdn: mirror01.ord.rax.opendev.org
- featureset_override:
- dlrn_hash_tag:
- 8127e43f39ac9b9e14d4a5a10bcbf41f122f32d7_d2efe5df
- dlrn_hash_tag_newest:
- ca4990cebac0be87ee4a7273f519574bc1027c8f_a1ff18dc
- tasks:
- - include_role:
- name: ansible-role-tripleo-ci-reproducer
-
-
-License
--------
-
-Apache 2.0
-
-Author Information
-------------------
-
-OpenStack
diff --git a/roles/create-zuul-based-reproducer/defaults/main.yml b/roles/create-zuul-based-reproducer/defaults/main.yml
deleted file mode 100644
index 8d8383177..000000000
--- a/roles/create-zuul-based-reproducer/defaults/main.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-reproducer_zuul_based_quickstart_script: reproducer-zuul-based-quickstart.sh.j2
-reproducer_fresh_box_setup_script: reproducer-fresh-box-setup.sh.j2
-reproducer_zuul_based_quickstart_readme_file: "{{ artcl_collect_dir }}/README-reproducer.html"
-reproducer_zuul_based_launcher_playbook: launcher-playbook.yaml.j2
-launcher_env_setup_playbook: launcher-env-setup-playbook.yaml.j2
-zuul_reproducer_dir: reproducer-quickstart
-mirror_path: mirror.mtl01.inap.opendev.org
diff --git a/roles/create-zuul-based-reproducer/meta/main.yml b/roles/create-zuul-based-reproducer/meta/main.yml
deleted file mode 100644
index 98bfef3b5..000000000
--- a/roles/create-zuul-based-reproducer/meta/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-dependencies:
- - extras-common
diff --git a/roles/create-zuul-based-reproducer/tasks/main.yml b/roles/create-zuul-based-reproducer/tasks/main.yml
deleted file mode 100644
index cf57769c7..000000000
--- a/roles/create-zuul-based-reproducer/tasks/main.yml
+++ /dev/null
@@ -1,109 +0,0 @@
----
-- name: Check if collect directory exists
- stat:
- path: "{{ artcl_collect_dir }}"
- register: collect_dir
-
-- name: Create collect directory
- file:
- path: "{{ artcl_collect_dir }}"
- state: directory
- when: not collect_dir.stat.exists
-
-- name: Create the reproducer-quickstart directory
- file:
- path: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}"
- state: directory
-
-- name: Create the reproducer-quickstart/scripts directory
- file:
- path: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/scripts"
- state: directory
-
-- name: Copy the generated toci templates and files
- copy:
- src: "/home/{{ undercloud_user }}/src/opendev.org/openstack/tripleo-ci/{{ item }}"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/{{ item }}"
- mode: 0755
- with_items:
- - "toci_gate_test.sh"
- - "toci_quickstart.sh"
- - "scripts/common_vars.bash"
- - "scripts/oooq_common_functions.sh"
-
-- name: Check if featureset-override exists
- stat:
- path: "/home/{{ undercloud_user }}/src/opendev.org/openstack/tripleo-ci/featureset-override.yaml"
- register: featureset_override_file
-
-- name: Add the featureset-override if it exists
- copy:
- src: "/home/{{ undercloud_user }}/src/opendev.org/openstack/tripleo-ci/featureset-override.yaml"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/featureset-override.yaml"
- mode: 0755
- when: featureset_override_file.stat.exists
-
-- name: Check if releases.sh file exits
- stat:
- path: '/home/{{ undercloud_user }}/workspace/logs/releases.sh'
- register: releases_file_result
-
-- name: Get releases.sh file output
- set_fact:
- releases_file_output: |
- {{ lookup('file', '/home/{{ undercloud_user }}/workspace/logs/releases.sh') | replace('export' , ' export') }}
- when: releases_file_result.stat.exists
-
-- name: Get featureset-override file output
- set_fact:
- featureset_override_file_output: |
- {{ lookup('file', '/home/{{ undercloud_user }}/src/opendev.org/openstack/tripleo-ci/featureset-override.yaml') }}
- when: featureset_override_file.stat.exists
-
-- name: Create the zuul-based launcher-env-setup-playbook from template
- template:
- src: "{{ launcher_env_setup_playbook }}"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/launcher-env-setup-playbook.yaml"
- mode: 0755
-
-- name: Create the zuul-based launcher-playbook from template
- template:
- src: "{{ reproducer_zuul_based_launcher_playbook }}"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/launcher-playbook.yaml"
- mode: 0755
-
-- name: Create the zuul-based reproducer file from template
- template:
- src: "{{ reproducer_zuul_based_quickstart_script }}"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/reproducer-zuul-based-quickstart.sh"
- mode: 0755
-
-- name: Create the reproducer-fresh-box-setup script
- template:
- src: "{{ reproducer_fresh_box_setup_script }}"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/reproducer-fresh-box-setup.sh"
- mode: 0755
-
-- name: Copy the tripleo-quickstart install-deps script
- copy:
- src: "/home/{{ undercloud_user }}/src/opendev.org/openstack/tripleo-quickstart/{{ item }}"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/{{ item }}"
- mode: 0755
- with_items:
- - "install-deps.sh"
-
-- name: Tar the files needed for the zuul-based reproducer script
- archive:
- path:
- - "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/launcher-env-setup-playbook.yaml"
- - "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/launcher-playbook.yaml"
- - "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/reproducer-zuul-based-quickstart.sh"
- - "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/install-deps.sh"
- - "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/reproducer-fresh-box-setup.sh"
- dest: "{{ artcl_collect_dir }}/{{ zuul_reproducer_dir }}/reproducer-zuul-based-quickstart.tar"
- mode: 0755
-
-- name: Create zuul-based reproducer script documentation from template
- template:
- src: README-reproducer-zuul-based-quickstart.html.j2
- dest: "{{ reproducer_zuul_based_quickstart_readme_file }}"
diff --git a/roles/create-zuul-based-reproducer/templates/README-reproducer-zuul-based-quickstart.html.j2 b/roles/create-zuul-based-reproducer/templates/README-reproducer-zuul-based-quickstart.html.j2
deleted file mode 100644
index f0efa590c..000000000
--- a/roles/create-zuul-based-reproducer/templates/README-reproducer-zuul-based-quickstart.html.j2
+++ /dev/null
@@ -1,326 +0,0 @@
-
-
-
-WARNING - WIP - NOT FOR GENERAL USE - README for Quickstart Job Zuul-based Reproducer Script
-
-
-
-
-
-
WARNING - WIP - NOT FOR GENERAL USE - How to reproduce a job result using the Zuul-based reproducer playbooks and script
-
Check the top-level logs directory for a tar file reproducer-zuul-based-quickstart.tar.
-This tar archive contains three files:
-
-
launcher-env-setup-playbook.yaml - a playbook to clone repos and set up
-an Ansible environment to launch jobs
-
launcher-playbook.yaml - a playbook that installs and starts up Zuul, Gerrit and
-other required services, and also creates and launches a reproducer job using
-the same dlrn hashes as in CI
-
reproducer-zuul-based-quickstart.sh - a Bash script to provide an interface
-to run the above playbooks with various options
-
-Running these playbooks will set up Zuul, Gerrit, and related services in containers
-on the local system, and will then create a reproducer job which can be run on a
-cloud personal tenant or via libvirt on the local system.
-If no reproducer-zuul-based-quickstart.tar file is found, that usually means an
-infra failure before Quickstart could start or a problem in collecting logs.
-Check on IRC OFTC channel #tripleo to see if there's an ongoing infra
-issue.
-
-
-
-
-To setup and run the reproducer you must first decide where it will run
-- on a pet (your laptop) or on cattle (rdo-cloud vm or other
-temporary environment)? For each case see notes below for required setup.
-
-
-If this is the first time you are running the reproducer you must
-ensure you have an externally routable network in your RDO-cloud tenant called
-'private'. That is you will need a router attached to the external network that
-is also attached to your network called 'private' (which you may need to create).
-Assuming you have a clouds.yaml that let's you talk to RDO cloud you can use
-the following commands to create the required setup:
-
-
-
-Alternatively log in to RDO cloud horizon and create the network and router
-that way.
-
-
-
Cattle
-If you're using a temporary environment like RDO-cloud vm to run the
-reproducer you can use the script inside the reproducer-quickstart/ directory
-from the logs of the job you are reproducing. The script is acalled
-reproducer-fresh-box-setup.sh:
-
-
note: If you're using an RDO-cloud vm be sure to use at least m1.large2
-flavour as we've hit hard disk limits with m1.large
-
There are two required parameters -u USER and -p PASS
-which correspond to the RDO cloud username and password. These are written to
-the generated $HOME/.config/openstack/clouds.yaml file expected by the
-reproducer.
-
-
This script creates the default user 'reprozuul' with passwordless sudo
-privileges, creates $HOME/.config/openstack/clouds.yaml with the -u USER and
--p PASS parameters and creates the required ssh keypair. It must run as root,
-or as a user with passwordless sudo.
-
-
The script finally switches to the newly created user and outputs the newly
-created public key. You must upload this key to gerrit (both
-opendev.org as well
-as rdoproject.org).
-
-
-
Pet
-
-If you are running the reproducer on a non-transient machine, that is your
-laptop or any other box which isn't temporary (a pet), then you need:
-
-
-
Ensure user running reproducer has passwordless sudo
-
That user has $HOME/.config/openstack/clouds.yaml with "rdo-cloud" entry
-
A ssh keypair generated with -m PEM -t rsa and uploaded
- to gerrit (both opendev.org
- as well as rdoproject.org).
-
-
A externally routable network in your RDO-cloud tenant named 'private'.
- See example commands above if you need to create this or log in to
- RDO cloud horizon and verify your setup or create as needed.
-
-
-You only need to do these things once on your pet and then rerun reproducer or
-update as needed.
-
-
The ssh key pair is configurable - see variables ssh_path
- user_pri_key. The default key is:~/.ssh/id_rsa[.pub]
-
Note: Use the following to create keys: ssh-keygen -m PEM -t rsa
- See FAQ below for more information about ssh keys requirements.
-
-
-
-
-
-
-
-
-wget or curl the reproducer-quickstart/reproducer-zuul-based-quickstart.tar file.
-
- curl -Lo reproducer-zuul-based-quickstart.tar http://logs.openstack.org/79/657779/2/check/tripleo-ci-centos-7-standalone-upgrade/92fd476/logs/reproducer-quickstart/reproducer-zuul-based-quickstart.tar
- tar -xvf reproducer-zuul-based-quickstart.tar
-
-One of the extracted files is the script called ./reproducer-zuul-based-quickstart.sh
-and you can run it with --help to see available options.
-
-
-Note: If the local $USERNAME does not match the gerrit user IDs for
-opendev.org or
- rdoproject.org)
-then you will need to supply the -ug (upstream gerrit) and -rg (rdo gerrit)
-parameters:
-
-
-
-Monitor the output and follow any instructions - for example the script will
-exit and require re-run once the user is added to the docker group.
-
-
-
-
-
-
-
-The Bash script is not required although it is the supported path.
-The playbooks can be run directly using ansible-playbook.
-The Bash script contains some package installation and Docker user/group setup
-that you will need to cover prior to running the playbooks directly.
-Please see the Bash scripts for details, especially if you are running the
-reproducer for the first time on the local environment.
-The playbooks can be run as follows:
-
-
Note that the launcher-env-setup-playbook.yaml will clone
-repos and set up 'roles', 'playbooks', and 'library' directories
-from which the tasks will be executed.
The Bash scripts runs with --tags all passed to the
-launcher-playbook.yaml.
-
-
-After the initial docker setup has run, it is not necessary to run through
-those setup steps for every reproducer. The launcher-playbook.yaml
-can be run with --skip-tags start after the initial run.
-
-
-
-
-
-
-
-The launcher-playbook.yaml will create and push a job
-to a test1 testproject repo in a temp directory. This job will start and the
-related Zuul infrastructure logs can be viewed in:
-
-cd ~/tripleo-ci-reproducer
-docker-compose logs --tail=10 -f
-# Just view the scheduler and executor logs:
-docker-compose logs --tail=10 -f scheduler executor
-
-
-To see the job progress, you can access the web consoles of:
-
-
Gerrit: http://localhost:8080
-
Zuul: http://localhost:9000
-
Logs: http://localhost:8000
-
-If you are accessing a remote machine, replace localhost with the ip address.
-
-
-
-
-
-
-
-
Gerrit keys
-If your ssh keys have being created with a new version of OpenSSH, Zuul will
-fail when running with these keys as there is a Paramiko bug [1].
-It is recommended that keys be generated as follows:
-ssh-keygen -m PEM -t rsa - accepting the passwordless option.
-Then update the public keys used with Gerrit upstream and RDO Gerrit.
-[1] https://storyboard.openstack.org/#!/story/2004842
-
-
-
If you currently do not have access to upstream-cloudinit-[centos-7, fedora-28] :
-
-
-source the openrc from the openstack-nodepool tenant
-openstack image list | grep upstream-cloudinit
-glance member-create ${IMAGE_ID} ${YOUR_TENANT_ID}
-glance member-create ${IMAGE_ID} ${YOUR_TENANT_ID}
-