Merge "Add nova cellv2 multicell support"

This commit is contained in:
Zuul 2020-02-03 18:11:06 +00:00 committed by Gerrit Code Review
commit e91b7e33d8
5 changed files with 232 additions and 0 deletions

View File

@ -0,0 +1,164 @@
# Summary of the feature set.
# This match the pacemaker feature with addition to enable additional_cell
# Deploy an Openstack environment with topoligy described in config/nodes/1ctlr_1cellctrl_1comp.yml
# which configures ssl undercloud, introspect, and use network isolation.
# Two stacks will be used, overcloud stack and another stack for the
# additional cell.
# This enables TLS for the undercloud which will also make haproxy bind to the
# configured public-vip and admin-vip.
undercloud_generate_service_certificate: true
ssl_overcloud: true
overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates
step_introspect: true
# This enables container deployements after Pike
containerized_overcloud: >-
{% if release in ['newton', 'ocata', 'pike'] -%}
false
{%- else -%}
true
{%- endif -%}
delete_docker_cache: true
containerized_undercloud: >-
{% if release not in ['newton','ocata','pike','queens'] -%}
true
{%- else -%}
false
{%- endif -%}
ctlplane_masquerade: >-
{% if release not in ['newton','ocata','pike','queens'] -%}
true
{%- else -%}
false
{%- endif -%}
undercloud_enable_routed_networks: >-
{% if release not in ['newton','ocata','pike'] -%}
true
{%- else -%}
false
{%- endif -%}
undercloud_clean_nodes: >-
{% if release not in ['newton','ocata','pike'] -%}
true
{%- else -%}
false
{%- endif -%}
undercloud_inspection_extras: false
# Tell tripleo about our environment.
enable_pacemaker: true
network_isolation: true
network_isolation_type: "multiple-nics"
network_isolation_args: >-
-e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-isolation-absolute.yaml
-e {{ overcloud_templates_path }}/ci/environments/network/multiple-nics/network-environment.yaml
# This featureset is extremely resource intensive, so we disable telemetry
# in order to reduce the overall memory footprint
# This is not required in newton
telemetry_args: >-
{% if release != 'newton' %}
-e {{ overcloud_templates_path }}/environments/disable-telemetry.yaml
{% endif %}
extra_args: >-
{% if release not in ['newton', 'ocata', 'pike'] %}
-e {{ overcloud_templates_path }}/ci/environments/ovb-ha.yaml
{% endif %}
# keep the doc gen settings at the bottom of the config file.
# options below direct automatic doc generation by tripleo-collect-logs
artcl_gen_docs: true
artcl_create_docs_payload:
included_deployment_scripts:
- undercloud-install
- overcloud-custom-tht-script
- "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}"
- overcloud-prep-flavors
- overcloud-prep-images
- overcloud-prep-network
- overcloud-deploy
- overcloud-deploy-post
- overcloud-validate
- "{% if run_tempest|bool -%}tempest-setup{%- endif -%}"
- "{% if run_tempest|bool and tempest_format|default('packages') == 'containers' -%}tempest_container{%- endif -%}"
included_static_docs:
- env-setup-virt
table_of_contents:
- env-setup-virt
- undercloud-install
- overcloud-custom-tht-script
- "{% if release not in ['newton', 'ocata', 'pike'] -%}overcloud-prep-containers{%- endif -%}"
- overcloud-prep-flavors
- overcloud-prep-images
- overcloud-prep-network
- overcloud-deploy
- overcloud-deploy-post
- overcloud-validate
- "{% if run_tempest|bool -%}tempest-setup{%- endif -%}"
- "{% if run_tempest|bool and tempest_format|default('packages') == 'containers' -%}tempest_container{%- endif -%}"
deploy_steps_ansible_workflow: >-
{% if release not in ['newton','ocata','pike'] -%}
true
{%- else -%}
false
{%- endif -%}
# Switch this variable to 'podman' once we run OVB jobs on CentOS8.
overcloud_container_cli: docker
# Set node hostnames.
tripleo_domain: ooo.test
undercloud_custom_env_files: "{{ working_dir }}/undercloud-parameter-defaults.yaml"
undercloud_undercloud_hostname: "undercloud.{{ tripleo_domain }}"
undercloud_resource_registry_args:
"OS::TripleO::Undercloud::Net::SoftwareConfig": "{{ undercloud_templates_path }}/net-config-undercloud.yaml"
overcloud_cloud_name: "overcloud.{{ tripleo_domain }}"
overcloud_cloud_domain: "{{ tripleo_domain }}"
overcloud_cloud_name_internal: "overcloud.internalapi.{{ tripleo_domain }}"
overcloud_cloud_name_storage: "overcloud.storage.{{ tripleo_domain }}"
overcloud_cloud_name_storage_management: "overcloud.storagemgmt.{{ tripleo_domain }}"
overcloud_cloud_name_ctlplane: "overcloud.ctlplane.{{ tripleo_domain }}"
# activate deploy of an additional cell
additional_cell: true
# Tempest configuration, keep always at the end of the file
# If `run_tempest` is `true`, run tempests tests, otherwise do not
# run them.
test_ping: false
run_tempest: true
test_regex: ''
# Enable tempest container
undercloud_enable_tempest: true
# Run tempest in containers when at least undercloud is containerized
tempest_format: container
tempest_whitelist:
- 'tempest.api.identity'
- 'tempest.api.image.v2.test_images.BasicOperationsImagesTest'
- 'tempest.api.image.v2.test_images_tags_negative.ImagesTagsNegativeTest'
- 'tempest.api.image.v2.test_images_member_negative.ImagesMemberNegativeTest'
- 'tempest.api.compute.admin.test_flavors'
- 'tempest.api.compute.flavors'
- 'tempest.api.compute.keypairs'
- 'tempest.api.compute.admin.test_quotas'
- 'tempest.api.compute.admin.test_aggregates_negative'
- 'tempest.api.compute.security_groups'
- 'tempest.api.network.test_networks'
- 'tempest.api.network.test_networks_negative'
- 'tempest.api.network.test_security_groups_negative'
- 'tempest.api.network.test_ports'
- 'tempest.api.network.test_routers_negative'
test_black_regex: []

View File

@ -0,0 +1,34 @@
# This config file is used to deploy an additional cell containing
# a cell controller and a compute
# Define a controller node, a cell controller, and a compute node.
overcloud_nodes:
- name: control_0
flavor: control
virtualbmc_port: 6230
- name: cellcontrol_0
flavor: control
virtualbmc_port: 6231
- name: compute_0
flavor: compute
virtualbmc_port: 6232
node_count: 3
# Tell tripleo which nodes to deploy. Compute and CellController set to
# 0 for initial overcloud deploy as they will be part of an additional
# stack for the cell
topology_map:
Compute:
scale: 0
CellController:
scale: 0
cell_topology_map:
CellController:
scale: 1
Compute:
scale: 1

View File

@ -109,6 +109,8 @@
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| 061_ | | ❍ | ❍ | ◉ | | | ❍ | | ❍ | ❍ | | ❍ | | | | ◉ | | | | | |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| 063_ | | ❍ | ◉ | ◉ | | | ❍ | | ❍ | ◉ | ☰ | ❍ | ❍ | | | ◉ | | | | | |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
| 099_ | | | | | | | | | | | | ❍ | | | ◉ | ◉ | | | | | |
+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+-------+
@ -231,4 +233,5 @@
.. _058: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/featureset058.yml
.. _060: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/featureset060.yml
.. _061: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/featureset061.yml
.. _063: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/featureset063.yml
.. _099: https://opendev.org/openstack/tripleo-quickstart/src/branch/master/config/general_config/featureset099.yml

View File

@ -0,0 +1,16 @@
---
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

View File

@ -73,6 +73,11 @@ flavors:
disk: '{{ control_disk|default(default_disk) }}'
vcpu: '{{ control_vcpu|default(default_vcpu) }}'
cellcontrol:
memory: '{{ cellcontrol_memory|default(default_memory) }}'
disk: '{{ cellcontrol_disk|default(default_disk) }}'
vcpu: '{{ cellcontrol_vcpu|default(default_vcpu) }}'
ceph:
memory: '{{ ceph_memory|default(default_memory) }}'
disk: '{{ ceph_disk|default(default_disk) }}'
@ -181,6 +186,16 @@ ssl_overcloud: false
overcloud_public_vip: 10.0.0.5
overcloud_public_vip6: 2001:db8:fd00:1000::14
# This enables the deployment of an additonal nova cellv2
additional_cell: false
# name of the cell
cell_name: cell1
# If ssl_overcloud and additional_cell is True, then the cell public vip must be
# explicitly specified as part of the deployment configuration. Note that the
# VIP used has to be set accordingly with the `undercloud_external_network_cidr`.
cell_public_vip: 10.0.0.6
cell_public_vip6: 2001:db8:fd00:1000::15
# Enable the virt_bmc ( virtual baremetal controllers )
enable_vbmc: true