Skip to content

Commit

Permalink
break out general_config into config and topology
Browse files Browse the repository at this point in the history
This change takes the overcloud_nodes variable and defines that
under config/nodes/foo.yml. This depend on the change
to quickstart-extras where a definition of topology (nodes)
will be created. Pass the topology in an explicit variable vs.
using extra_args.

The original configuration files in config/general_config/ will
continue to work but are now deprecated.
The featureset files that define standard set of feature to test are
also added, and should correspond to test configuration for jobs that
are typically found upstream

Change-Id: Id6dd3f71b33f76a0401fe8a84080fe80de0dbb69
Co-Authored-By: Gabriele Cerami <[email protected]>
  • Loading branch information
weshayutin and gabrielecerami committed Mar 13, 2017
1 parent 06c0e5b commit c04dc59
Show file tree
Hide file tree
Showing 28 changed files with 564 additions and 231 deletions.
21 changes: 21 additions & 0 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,27 @@ developer mode would be::

The full set of developer mode instructions are available in :ref:`devmode`

Feature Configuration and Nodes
-------------------------------

In previous versions of triple-quickstart a config file was used to determine
not only the features that would be enabled in tripleo and openstack but also
the number of nodes to be used. For instance "config/general_config/ha.yml" would
configure pacemaker and ensure three controller nodes were provisioned. This type
of configuration is now deprecated but will still work through the Queens release.

The feature and node configuration have been seperated into two distinct
configuration files to allow users to explicity select the configuration known as
"feature sets" and the nodes to be provisioned. The feature set configuration
can be found under tripleo-quickstart/config/general_config/ and the node
configuration can be found under tripleo-quickstart/config/nodes/

A more in depth description of the feature sets can be found in the documentation
under :ref:`feature-configuration`

A more in depth description of how to configure nodes can be found in the
documentation under :ref:`node-configuration`

Working With Quickstart Extras
------------------------------

Expand Down
13 changes: 13 additions & 0 deletions config/general_config/featureset-multinode-common.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# general multinode job configuration
enable_vbmc: false
gating_repo_enabled: true
composable_services: false
deploy_composable_scenario: true
step_overcloud_image: false
step_glance_upload: true
step_register: false
hypervisor_wait: false
deployed_server: true
network_isolation: false
package_installs: true
non_root_user_setup: true
53 changes: 53 additions & 0 deletions config/general_config/featureset001.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Summary of the feature set.
# Deploy an Openstack environment with ssl undercloud, introspect, and use network isolation

# This enables TLS for the undercloud which will also make haproxy bind to the
# configured public-vip and admin-vip.
undercloud_generate_service_certificate: True

overcloud_templates_path: /usr/share/openstack-tripleo-heat-templates
# We don't need introspection in a virtual environment (because we are
# creating all the "hardware" we really know the necessary
# information).
step_introspect: true

# Tell tripleo about our environment.
network_isolation: true
network_isolation_type: "multiple-nics"
network_isolation_args: >-
-e {{ overcloud_templates_path }}/environments/network-isolation.yaml
-e {{ tripleo_root }}/tripleo-ci/test-environments/network-templates/network-environment.yaml
extra_args: >-
--ntp-server pool.ntp.org
test_ping: true
enable_pacemaker: true

run_tempest: false

# keep the doc gen settings at the bottom of the config file.
# options below direct automatic doc generation by tripleo-collect-logs
artcl_gen_docs: true
artcl_create_docs_payload:
included_deployment_scripts:
- undercloud-install
- overcloud-custom-tht-script
- overcloud-prep-flavors
- overcloud-prep-images
- overcloud-prep-network
- overcloud-deploy
- overcloud-deploy-post
- overcloud-validate
included_static_docs:
- env-setup-virt
table_of_contents:
- env-setup-virt
- undercloud-install
- overcloud-custom-tht-script
- overcloud-prep-flavors
- overcloud-prep-images
- overcloud-prep-network
- overcloud-deploy
- overcloud-deploy-post
- overcloud-validate
114 changes: 114 additions & 0 deletions config/general_config/featureset002.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@

# Summary of the feature set.
# Deploy an HA openstack environment with IPV6, SSL enabled Overcloud

# We don't need introspection in a virtual environment (because we are
# creating all the "hardware" we really know the necessary
# information).
step_introspect: false

# Tell tripleo about our environment.
network_isolation: true

extra_args: >-
--ntp-server pool.ntp.org
test_ping: true
enable_pacemaker: true

tempest_config: false
run_tempest: false

overcloud_ipv6: true
ssl_overcloud: true


# TO-DO's
undercloud_ui: true # TODO
undercloud_validation: true # TODO

floating_ip_cidr: 10.0.0.0/24
external_network_cidr: 192.168.23.0/24
undercloud_networks:
external:
address: "{{ undercloud_external_network_cidr|nthhost(1) }}"
netmask: "{{ undercloud_external_network_cidr|ipaddr('netmask') }}"
address6: "{{ undercloud_external_network_cidr6|nthhost(1) }}"
device_type: ovs
type: OVSIntPort
ovs_bridge: br-ctlplane


network_environment_args:
ControlPlaneSubnetCidr: "{{ undercloud_network_cidr|ipaddr('prefix') }}"
ControlPlaneDefaultRoute: "{{ undercloud_network_cidr|nthhost(1) }}"
EC2MetadataIp: "{{ undercloud_network_cidr|nthhost(1) }}"
ExternalNetCidr: 2001:db8:fd00:1000::/64
ExternalAllocationPools: [{"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"}]
ExternalInterfaceDefaultRoute: 2001:db8:fd00:1000::1
NeutronExternalNetworkBridge: "''"
InternalApiNetCidr: fd00:fd00:fd00:2000::/64
InternalApiAllocationPools: [{"start": "fd00:fd00:fd00:2000::10", "end": "fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe"}]
StorageNetCidr: fd00:fd00:fd00:3000::/64
StorageAllocationPools: [{"start": "fd00:fd00:fd00:3000::10", "end": "fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe"}]
StorageMgmtNetCidr: fd00:fd00:fd00:4000::/64
StorageMgmtAllocationPools: [{"start": "fd00:fd00:fd00:4000::10", "end": "fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe"}]
TenantNetCidr: 172.16.0.0/24
TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}]
DnsServers: [ '{{ external_network_cidr6|nthhost(1) }}' ]

networks:
- name: external
bridge: brext
forward_mode: nat
address: "{{ external_network_cidr|nthhost(1) }}"
netmask: "{{ external_network_cidr|ipaddr('netmask') }}"
dhcp_range:
- "{{ external_network_cidr|nthhost(10) }}"
- "{{ external_network_cidr|nthhost(50) }}"
nat_port_range:
- 1024
- 65535

- name: overcloud
bridge: brovc

- name: overcloud2
bridge: brovc2

- name: overcloud3
bridge: brovc3

- name: overcloud4
bridge: brovc4

- name: overcloud5
bridge: brovc5

- name: overcloud6
bridge: brovc6

# keep the doc gen settings at the bottom of the config file.
# options below direct automatic doc generation by tripleo-collect-logs
artcl_gen_docs: true
artcl_create_docs_payload:
included_deployment_scripts:
- undercloud-install
- overcloud-custom-tht-script
- overcloud-prep-flavors
- overcloud-prep-images
- overcloud-prep-network
- overcloud-deploy
- overcloud-deploy-post
- overcloud-validate
included_static_docs:
- env-setup-virt
table_of_contents:
- env-setup-virt
- undercloud-install
- overcloud-custom-tht-script
- overcloud-prep-flavors
- overcloud-prep-images
- overcloud-prep-network
- overcloud-deploy
- overcloud-deploy-post
- overcloud-validate
5 changes: 5 additions & 0 deletions config/general_config/featureset003.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
undercloud_generate_service_certificate: false
ssl_overcloud: false
undercloud_check_idempotency: true
undercloud_check_sanity: true

9 changes: 9 additions & 0 deletions config/general_config/featureset004.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
undercloud_generate_service_certificate: false
ssl_overcloud: false
test_ping: true

deploy_composable_scenario: false
composable_services: true
composable_scenario: multinode.yaml
# Use default test template
# validate_template: tenantvm-floatingip.yaml
6 changes: 6 additions & 0 deletions config/general_config/featureset005.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
undercloud_generate_service_certificate: false
enable_opstools_repo: true
test_ping: true

composable_scenario: scenario001-multinode.yaml
validate_template: scenario001-multinode.yaml
5 changes: 5 additions & 0 deletions config/general_config/featureset006.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
undercloud_generate_service_certificate: false
test_ping: true

composable_scenario: scenario002-multinode.yaml
validate_template: scenario002-multinode.yaml
5 changes: 5 additions & 0 deletions config/general_config/featureset007.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
undercloud_generate_service_certificate: false
test_ping: true

composable_scenario: scenario003-multinode.yaml
validate_template: scenario003-multinode.yaml
5 changes: 5 additions & 0 deletions config/general_config/featureset008.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
undercloud_generate_service_certificate: false
test_ping: true

composable_scenario: scenario004-multinode.yaml
validate_template: scenario004-multinode.yaml
5 changes: 5 additions & 0 deletions config/general_config/featureset009.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
undercloud_generate_service_certificate: false
test_ping: true

composable_scenario: scenario005-multinode.yaml
validate_template: scenario005-multinode.yaml
Original file line number Diff line number Diff line change
@@ -1,43 +1,9 @@
# Deploy an HA openstack environment.
#
# This will require (6144 * 4) == approx. 24GB for the overcloud
# nodes, plus another 8GB for the undercloud, for a total of around
# 32GB.
control_memory: 6144
compute_memory: 6144

undercloud_memory: 8192

# Giving the undercloud additional CPUs can greatly improve heat's
# performance (and result in a shorter deploy time).
undercloud_vcpu: 4

# Since HA has more machines, we set the cpu for controllers and
# compute nodes to 1
default_vcpu: 1
# Deploy an HA openstack environment with an IPA Server.

# This enables TLS for the undercloud which will also make haproxy bind to the
# configured public-vip and admin-vip.
undercloud_generate_service_certificate: True

# Create three controller nodes and one compute node.
overcloud_nodes:
- name: control_0
flavor: control
virtualbmc_port: 6230

- name: control_1
flavor: control
virtualbmc_port: 6231

- name: control_2
flavor: control
virtualbmc_port: 6232

- name: compute_0
flavor: compute
virtualbmc_port: 6233

# We don't need introspection in a virtual environment (because we are
# creating all the "hardware" we really know the necessary
# information).
Expand All @@ -47,7 +13,6 @@ step_introspect: false
network_isolation: true
network_isolation_type: 'single-nic-vlans'
extra_args: >-
--control-scale 3
--ntp-server pool.ntp.org
test_ping: true
enable_pacemaker: true
Expand Down
Original file line number Diff line number Diff line change
@@ -1,28 +1,4 @@
# Deploy an HA openstack environment.
#
# This will require (6144 * 4) == approx. 24GB for the overcloud
# nodes, plus another 8GB for the undercloud, for a total of around
# 32GB.
control_memory: 6144
compute_memory: 6144

undercloud_memory: 8192

# Giving the undercloud additional CPUs can greatly improve heat's
# performance (and result in a shorter deploy time).
undercloud_vcpu: 4

# Create three controller nodes and one compute node.
overcloud_nodes:
- name: control_0
flavor: control
- name: control_1
flavor: control
- name: control_2
flavor: control

- name: compute_0
flavor: compute
# Deploy an HA openstack environment with IPV6.

# We don't need introspection in a virtual environment (because we are
# creating all the "hardware" we really know the necessary
Expand All @@ -33,7 +9,6 @@ step_introspect: false
network_isolation: true
network_isolation_type: 'single-nic-vlans'
extra_args: >-
--control-scale 3
--ntp-server pool.ntp.org
test_ping: true
enable_pacemaker: true
Expand Down
10 changes: 0 additions & 10 deletions config/general_config/minimal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,6 @@
# for this job, but test all defaults otherwise.
step_introspect: true

# Define a single controller node and a single compute node.
overcloud_nodes:
- name: control_0
flavor: control
virtualbmc_port: 6230

- name: compute_0
flavor: compute
virtualbmc_port: 6231

# Tell tripleo how we want things done.
extra_args: >-
--ntp-server pool.ntp.org
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
# TO DO, REMOVE THIS CONFIG IN FAVOR OF OVERRIDING THE ONE VARIABLE
# We set introspection to true and use only the minimal amount of nodes
# for this job, but test all defaults otherwise
step_introspect: true

# Define a single controller node and a single compute node.
overcloud_nodes:
- name: control_0
flavor: control
virtualbmc_port: 6230

- name: compute_0
flavor: compute
virtualbmc_port: 6231

network_isolation: false

# This enables TLS for the undercloud which will also make haproxy bind to the
Expand Down
Loading

0 comments on commit c04dc59

Please sign in to comment.