Add new featureset66 and update tripleo-inventory for mixed OS jobs
Adds a new featureset for use by the mixed OS (centos 8/9) job. See topic branch at [1] for related reviews. Also updates the tripleo-inventory role to add overcloud_compute and _control groups for use during the toci playbook executions. Updates the release files for wallaby 8/9 to allow the mixed OS job to pull containers from the right content provider. [1] https://review.opendev.org/q/topic:oooci_mixed_rhel Change-Id: I4d90399528d702f8ebfeeaf96ccdb00c8070a28b
This commit is contained in:
parent
cb1595223b
commit
67285f178b
|
@ -0,0 +1,76 @@
|
|||
composable_scenario: multinode-containers-mixed-os.yaml
|
||||
composable_services: false
|
||||
|
||||
network_isolation: false
|
||||
enable_pacemaker: false
|
||||
overcloud_ipv6: false
|
||||
containerized_overcloud: true
|
||||
|
||||
containerized_undercloud: true
|
||||
|
||||
undercloud_templates_path: /usr/share/openstack-tripleo-heat-templates
|
||||
undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml"
|
||||
undercloud_cloud_domain: "localdomain"
|
||||
undercloud_undercloud_hostname: "undercloud.{{ undercloud_cloud_domain }}"
|
||||
|
||||
# This enables TLS for the undercloud which will also make haproxy bind to the
|
||||
# configured public-vip and admin-vip.
|
||||
undercloud_generate_service_certificate: false
|
||||
|
||||
# This enables the deployment of the overcloud with SSL.
|
||||
ssl_overcloud: false
|
||||
|
||||
mixed_os: true
|
||||
|
||||
composable_roles: true
|
||||
|
||||
overcloud_roles_control:
|
||||
- name: Controller
|
||||
CountDefault: 1
|
||||
tags:
|
||||
- primary
|
||||
- controller
|
||||
|
||||
overcloud_roles_compute:
|
||||
- name: Compute
|
||||
CountDefault: 1
|
||||
HostnameFormatDefault: '%stackname%-compute-%index%'
|
||||
tags:
|
||||
- compute
|
||||
|
||||
deployed_server: true
|
||||
deploy_steps_ansible_workflow: true
|
||||
|
||||
config_download_args: >-
|
||||
-e {{ working_dir }}/config-download.yaml
|
||||
--disable-validations
|
||||
ephemeral_heat: true
|
||||
ephemeral_heat_args: "{{ '--heat-type pod' if ephemeral_heat|bool else '' }}"
|
||||
|
||||
# Tempest configuration, keep always at the end of the file
|
||||
test_ping: false
|
||||
tempest_ping_router: false
|
||||
|
||||
|
||||
# Settings for os_tempest
|
||||
|
||||
use_os_tempest: true
|
||||
|
||||
tempest_test_whitelist:
|
||||
- 'tempest.scenario.test_network_basic_ops.TestNetworkBasicOps'
|
||||
- 'tempest.api.compute.admin.test_flavors'
|
||||
- 'tempest.api.compute.flavors'
|
||||
- 'tempest.api.compute.keypairs'
|
||||
- 'tempest.api.compute.security_groups'
|
||||
|
||||
# https://launchpad.net/bugs/1844446
|
||||
undercloud_enable_validations: false
|
||||
|
||||
undercloud_enable_paunch: false
|
||||
|
||||
undercloud_parameter_defaults_args: >-
|
||||
{%- if ansible_distribution in ["RedHat", "CentOS"] and ansible_distribution_major_version|int < 8 %}
|
||||
{'IronicIPXEUefiSnpOnly': 'false'}
|
||||
{%- else -%}
|
||||
{'IronicIPXEUefiSnpOnly': 'true'}
|
||||
{%- endif -%}
|
|
@ -0,0 +1,32 @@
|
|||
# Define a single controller node and a single compute node.
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
virtualbmc_port: 6230
|
||||
default_name: overcloud-controller-0
|
||||
hostnamemap_override: "{{ hostvars[groups['overcloud'][0]].ansible_hostname }}"
|
||||
|
||||
- name: compute_0
|
||||
flavor: compute
|
||||
virtualbmc_port: 6231
|
||||
default_name: overcloud-compute-0
|
||||
hostnamemap_override: "{{ hostvars[groups['overcloud'][1]].ansible_hostname }}"
|
||||
|
||||
node_count: 2
|
||||
|
||||
topology_map_control:
|
||||
Controller:
|
||||
scale: 1
|
||||
# grow /srv to 50% of remaining disk space to store swift object content
|
||||
growvols_args: >
|
||||
/=8GB
|
||||
/tmp=1GB
|
||||
/var/log=10GB
|
||||
/var/log/audit=2GB
|
||||
/home=1GB
|
||||
/var=50%
|
||||
/srv=50%
|
||||
|
||||
topology_map_compute:
|
||||
Compute:
|
||||
scale: 1
|
|
@ -4,7 +4,13 @@ overcloud_as_undercloud: true
|
|||
release: wallaby
|
||||
distro_ver: centos8
|
||||
distro_deps_repo_name: deps
|
||||
dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}"
|
||||
dlrn_hash_tag: >-
|
||||
{% if registry_distro is defined and
|
||||
registry_distro | default('') | length > 0 -%}
|
||||
{{ job.provider_dlrn_hash_distro[registry_distro] }}
|
||||
{%- else -%}
|
||||
{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}
|
||||
{%- endif -%}
|
||||
dlrn_hash_tag_newest: current
|
||||
validate_on: rdo
|
||||
|
||||
|
@ -19,7 +25,12 @@ docker_registry_host: >-
|
|||
build_container_images|default(false)|bool -%}
|
||||
127.0.0.1:5001
|
||||
{%- elif job.consumer_job | default(false) | bool -%}
|
||||
{%- if registry_distro is defined and
|
||||
registry_distro | default('') | length > 0 -%}
|
||||
{{ job.registry_ip_address_distro[registry_distro] }}:5001
|
||||
{%- else -%}
|
||||
{{ job.registry_ip_address_branch[release] }}:5001
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ job.alt_container_registry|default('quay.io') }}
|
||||
{%- endif -%}
|
||||
|
|
|
@ -4,7 +4,13 @@ overcloud_as_undercloud: true
|
|||
release: wallaby
|
||||
distro_ver: centos9
|
||||
distro_deps_repo_name: deps
|
||||
dlrn_hash_tag: "{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}"
|
||||
dlrn_hash_tag: >-
|
||||
{% if registry_distro is defined and
|
||||
registry_distro | default('') | length > 0 -%}
|
||||
{{ job.provider_dlrn_hash_distro[registry_distro] }}
|
||||
{%- else -%}
|
||||
{{ job.provider_dlrn_hash_tag_branch[release]|default('current-tripleo') }}
|
||||
{%- endif -%}
|
||||
dlrn_hash_tag_newest: current
|
||||
validate_on: rdo
|
||||
|
||||
|
@ -19,10 +25,16 @@ docker_registry_host: >-
|
|||
build_container_images|default(false)|bool -%}
|
||||
127.0.0.1:5001
|
||||
{%- elif job.consumer_job | default(false) | bool -%}
|
||||
{%- if registry_distro is defined and
|
||||
registry_distro | default('') | length > 0 -%}
|
||||
{{ job.registry_ip_address_distro[registry_distro] }}:5001
|
||||
{%- else -%}
|
||||
{{ job.registry_ip_address_branch[release] }}:5001
|
||||
{%- endif -%}
|
||||
{%- else -%}
|
||||
{{ job.alt_container_registry|default('quay.io') }}
|
||||
{%- endif -%}
|
||||
|
||||
docker_registry_namespace: tripleowallabycentos9
|
||||
docker_image_tag: "{{ dlrn_hash|default(dlrn_hash_tag) }}"
|
||||
docker_openshift_tag: v3.11.0
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
ansible_private_key_file: "{{ overcloud_key }}"
|
||||
ansible_ssh_extra_args: '-F "{{ local_working_dir }}/ssh.config.ansible"'
|
||||
|
||||
- when: inventory == 'multinode'
|
||||
- when: inventory in ['multinode', 'multinode_mixed_os']
|
||||
block:
|
||||
- name: Get subnodes
|
||||
command: cat /etc/nodepool/sub_nodes_private
|
||||
|
@ -58,6 +58,29 @@
|
|||
ansible_user: "{{ lookup('env','USER') }}"
|
||||
ansible_private_key_file: "/etc/nodepool/id_rsa"
|
||||
|
||||
- when: inventory == 'multinode_mixed_os'
|
||||
block:
|
||||
|
||||
- name: Add overcloud_control group to ansible inventory
|
||||
with_indexed_items: '{{ nodes.stdout_lines[0] | default([]) }}'
|
||||
add_host:
|
||||
name: 'subnode-1'
|
||||
groups: "overcloud_control"
|
||||
ansible_host: '{{ item.1 }}'
|
||||
inventory_ip: '{{ item.1 }}'
|
||||
ansible_user: "{{ lookup('env','USER') }}"
|
||||
ansible_private_key_file: "/etc/nodepool/id_rsa"
|
||||
|
||||
- name: Add overcloud_compute group to ansible inventory
|
||||
with_indexed_items: '{{ nodes.stdout_lines[1] | default([]) }}'
|
||||
add_host:
|
||||
name: 'subnode-2'
|
||||
groups: "overcloud_compute"
|
||||
ansible_host: '{{ item.1 }}'
|
||||
inventory_ip: '{{ item.1 }}'
|
||||
ansible_user: "{{ lookup('env','USER') }}"
|
||||
ansible_private_key_file: "/etc/nodepool/id_rsa"
|
||||
|
||||
# required for regeneration of ssh.config.ansible
|
||||
- name: set_fact for undercloud ip
|
||||
set_fact:
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
when: hostvars['localhost'].ansible_user_dir is not defined
|
||||
|
||||
- include_tasks: inventory.yml
|
||||
when: inventory in ['multinode', 'all', 'undercloud', 'extra_node']
|
||||
when: inventory in ['multinode', 'all', 'undercloud', 'extra_node', 'multinode_mixed_os']
|
||||
|
||||
- include_tasks: openstack.yml
|
||||
when: inventory == 'openstack'
|
||||
|
|
Loading…
Reference in New Issue