Retire Tripleo: remove repo content
TripleO project is retiring - https://review.opendev.org/c/openstack/governance/+/905145 this commit remove the content of this project repo Change-Id: Ic549bdcc76a5e12a0104143fbe79fd0db2c866b0
This commit is contained in:
parent
4eec311e76
commit
72ea117f61
@ -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
|
64
.gitignore
vendored
64
.gitignore
vendored
@ -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
|
@ -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
|
10
.yamllint
10
.yamllint
@ -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
|
201
LICENSE
201
LICENSE
@ -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.
|
25
README.rst
25
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
|
||||
<https://docs.openstack.org/tripleo-quickstart/latest/>`_.
|
||||
For any further questions, please email
|
||||
openstack-discuss@lists.openstack.org or join #openstack-dev on
|
||||
OFTC.
|
||||
|
@ -1,3 +0,0 @@
|
||||
# debian requirements (linters)
|
||||
libffi-dev [platform:dpkg]
|
||||
libssl-dev [platform:dpkg]
|
@ -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 <<EOF
|
||||
|
||||
REMINDER: The following changes to release notes have not been committed:
|
||||
|
||||
${UNCOMMITTED_NOTES}
|
||||
|
||||
While that may be intentional, keep in mind that release notes are built from
|
||||
committed changes, not the working directory.
|
||||
|
||||
EOF
|
||||
fi
|
||||
|
||||
exit ${BUILD_RESULT}
|
@ -1,62 +0,0 @@
|
||||
#!/usr/bin/python
|
||||
# coding: utf-8 -*-
|
||||
#
|
||||
# (c) 2017, Chandan Kumar <chkumar@redhat.com>
|
||||
#
|
||||
# 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)
|
@ -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
|
@ -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 }}"
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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') }}"
|
@ -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
|
@ -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
|
@ -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
|
@ -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') }}"
|
@ -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
|
@ -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}
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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}
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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}
|
@ -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
|
@ -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}
|
@ -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
|
@ -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
|
@ -1,4 +0,0 @@
|
||||
---
|
||||
- import_playbook: quickstart.yml
|
||||
- import_playbook: multinode-undercloud.yml
|
||||
- import_playbook: multinode-undercloud-minion.yml
|
@ -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'
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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'}
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
- name: clean up heat stack
|
||||
hosts: localhost
|
||||
roles:
|
||||
- {role: ovb-manage-stack, ovb_manage_stack_mode: 'delete'}
|
@ -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}
|
@ -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
|
@ -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
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
- name: Multinode
|
||||
hosts: localhost
|
||||
gather_facts: false
|
||||
roles:
|
||||
- role: multinodes
|
@ -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}
|
@ -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
|
@ -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
|
@ -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}
|
@ -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}
|
@ -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
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
- name: Setup repositories
|
||||
hosts: undercloud
|
||||
gather_facts: true
|
||||
roles:
|
||||
- repo-setup
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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}
|
@ -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
|
@ -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.
|
@ -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.
|
@ -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
|
@ -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.
|
@ -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.
|
@ -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".
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -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
|
@ -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.
|
@ -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)
|
@ -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.
|
@ -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.
|
@ -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.
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
deprecations:
|
||||
- |
|
||||
The experimental containerized undercloud deployments driven via
|
||||
`undercloud deploy` CLI is not supported anymore for Pike.
|
@ -1,5 +0,0 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Underclouds and overclouds may be installed with Heat templates fetched
|
||||
into a custom location defined with ``overcloud_templates_path``.
|
@ -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.
|
@ -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
|
@ -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
|
||||
# "<project> v<release> 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 <link> 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'
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user