break out general_config into config and topology
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 <gcerami@redhat.com>
This commit is contained in:
parent
06c0e5bc82
commit
c04dc5937c
21
README.rst
21
README.rst
@ -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
|
||||
------------------------------
|
||||
|
||||
|
13
config/general_config/featureset-multinode-common.yml
Normal file
13
config/general_config/featureset-multinode-common.yml
Normal file
@ -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
config/general_config/featureset001.yml
Normal file
53
config/general_config/featureset001.yml
Normal file
@ -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
config/general_config/featureset002.yml
Normal file
114
config/general_config/featureset002.yml
Normal file
@ -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
config/general_config/featureset003.yml
Normal file
5
config/general_config/featureset003.yml
Normal file
@ -0,0 +1,5 @@
|
||||
undercloud_generate_service_certificate: false
|
||||
ssl_overcloud: false
|
||||
undercloud_check_idempotency: true
|
||||
undercloud_check_sanity: true
|
||||
|
9
config/general_config/featureset004.yml
Normal file
9
config/general_config/featureset004.yml
Normal file
@ -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
config/general_config/featureset005.yml
Normal file
6
config/general_config/featureset005.yml
Normal file
@ -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
config/general_config/featureset006.yml
Normal file
5
config/general_config/featureset006.yml
Normal file
@ -0,0 +1,5 @@
|
||||
undercloud_generate_service_certificate: false
|
||||
test_ping: true
|
||||
|
||||
composable_scenario: scenario002-multinode.yaml
|
||||
validate_template: scenario002-multinode.yaml
|
5
config/general_config/featureset007.yml
Normal file
5
config/general_config/featureset007.yml
Normal file
@ -0,0 +1,5 @@
|
||||
undercloud_generate_service_certificate: false
|
||||
test_ping: true
|
||||
|
||||
composable_scenario: scenario003-multinode.yaml
|
||||
validate_template: scenario003-multinode.yaml
|
5
config/general_config/featureset008.yml
Normal file
5
config/general_config/featureset008.yml
Normal file
@ -0,0 +1,5 @@
|
||||
undercloud_generate_service_certificate: false
|
||||
test_ping: true
|
||||
|
||||
composable_scenario: scenario004-multinode.yaml
|
||||
validate_template: scenario004-multinode.yaml
|
5
config/general_config/featureset009.yml
Normal file
5
config/general_config/featureset009.yml
Normal file
@ -0,0 +1,5 @@
|
||||
undercloud_generate_service_certificate: false
|
||||
test_ping: true
|
||||
|
||||
composable_scenario: scenario005-multinode.yaml
|
||||
validate_template: scenario005-multinode.yaml
|
@ -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).
|
||||
@ -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
|
@ -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
|
||||
@ -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
|
@ -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
|
||||
|
@ -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
|
@ -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
|
||||
|
||||
# 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).
|
||||
@ -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
|
@ -0,0 +1,25 @@
|
||||
---
|
||||
features:
|
||||
- Configuration files in general_config were separated
|
||||
into feature sets (to be specified with --config
|
||||
argument )and nodes configuration (to be specified with
|
||||
--nodes configuration)
|
||||
Featureset files should contain only the list of flags
|
||||
that enable features we want to test in the deployment,
|
||||
the overcloud nodes configuration, and all that involves
|
||||
their set up, should be put into nodes configuration
|
||||
files.
|
||||
The nodes file should follow the scheme
|
||||
N<type>[_N<type>[_N<type>]...].yml
|
||||
Where N is the number of nodes of a certain <type>,
|
||||
<type> could be one of ctlr for controllers, comp for
|
||||
compute nodes, ceph for ceph nodes, and so on.
|
||||
It's advised to add a node_count variable to the nodes
|
||||
configuration file
|
||||
deprecations:
|
||||
- All old configuration files are deprecated. Any new
|
||||
configuration should put the topology part into nodes/
|
||||
dir and the part that configures the features to be
|
||||
tested into featureset files. For example, the old
|
||||
minimal.yml file was split into no_netiso.yml and
|
||||
1ctlr_1comp.yml
|
6
config/nodes/1ctlr.yml
Normal file
6
config/nodes/1ctlr.yml
Normal file
@ -0,0 +1,6 @@
|
||||
# Define a single controller node
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
|
||||
node_count: 1
|
9
config/nodes/1ctlr_1comp.yml
Normal file
9
config/nodes/1ctlr_1comp.yml
Normal file
@ -0,0 +1,9 @@
|
||||
# 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
|
@ -14,9 +14,8 @@ overcloud_nodes:
|
||||
flavor: ceph
|
||||
virtualbmc_port: 6232
|
||||
|
||||
# Tell tripleo how we want things done.
|
||||
extra_args: >-
|
||||
--ntp-server pool.ntp.org
|
||||
# Tell tripleo which nodes to deploy.
|
||||
topology: >-
|
||||
--ceph-storage-scale 1
|
||||
-e {{overcloud_templates_path}}/environments/storage-environment.yaml
|
||||
|
41
config/nodes/3ctlr_1comp.yml
Normal file
41
config/nodes/3ctlr_1comp.yml
Normal file
@ -0,0 +1,41 @@
|
||||
# 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
|
||||
|
||||
node_count: 4
|
||||
|
||||
# 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
|
||||
|
||||
# Tell tripleo which nodes to deploy.
|
||||
topology: >-
|
||||
--control-scale 3
|
@ -43,19 +43,8 @@ overcloud_nodes:
|
||||
flavor: compute
|
||||
virtualbmc_port: 6235
|
||||
|
||||
# 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
|
||||
network_isolation_type: 'single-nic-vlans'
|
||||
extra_args: >-
|
||||
topology: >-
|
||||
--compute-scale 3
|
||||
--control-scale 3
|
||||
--ntp-server pool.ntp.org
|
||||
test_ping: true
|
||||
enable_pacemaker: true
|
||||
|
||||
run_tempest: false
|
1
config/nodes/ovb_4node.yml
Normal file
1
config/nodes/ovb_4node.yml
Normal file
@ -0,0 +1 @@
|
||||
node_count: 4
|
@ -11,79 +11,7 @@ You configure tripleo-quickstart by placing variable definitions in a
|
||||
YAML file and passing that to ansible using the ``-e`` command line
|
||||
option, like this::
|
||||
|
||||
ansible-playbook playbook.yml -e @myconfigfile.yml
|
||||
|
||||
Controlling resources
|
||||
---------------------
|
||||
|
||||
These variables set the resources that will be assigned to a node by
|
||||
default, unless overridden by a more specific variable:
|
||||
|
||||
- ``default_disk``
|
||||
- ``default_memory``
|
||||
- ``default_vcpu``
|
||||
|
||||
These variables set the resources assigned to the undercloud node:
|
||||
|
||||
- ``undercloud_disk``
|
||||
- ``undercloud_memory`` (defaults to **12288**)
|
||||
- ``undercloud_vcpu`` (defaults to **4**)
|
||||
|
||||
These variables set the resources assigned to controller nodes:
|
||||
|
||||
- ``control_disk``
|
||||
- ``control_memory``
|
||||
- ``control_vcpu``
|
||||
|
||||
These variables control the resources assigned to compute nodes:
|
||||
|
||||
- ``compute_disk``
|
||||
- ``compute_memory``
|
||||
- ``compute_vcpu``
|
||||
|
||||
These variables control the resources assigned to ceph storage nodes:
|
||||
|
||||
- ``ceph_disk``
|
||||
- ``ceph_memory``
|
||||
- ``ceph_vcpu``
|
||||
|
||||
There is another option ``extradevices`` that can be used to create three
|
||||
additional blockdevices ``vdb``, ``vdc`` and ``vdd`` per node. By default it
|
||||
is only enabled on the objectstorage node flavor.
|
||||
|
||||
Setting number and type of overcloud nodes
|
||||
------------------------------------------
|
||||
|
||||
The ``overcloud_nodes`` variable can be used to change the number and
|
||||
type of nodes deployed in your overcloud. The default
|
||||
(``config/general_config/minimal.yml``) looks like this::
|
||||
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
|
||||
- name: compute_0
|
||||
flavor: compute
|
||||
|
||||
You can use your own config if you want to test a different setup. For
|
||||
example::
|
||||
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
- name: control_1
|
||||
flavor: control
|
||||
- name: control_2
|
||||
flavor: control
|
||||
|
||||
- name: compute_0
|
||||
flavor: compute
|
||||
|
||||
- name: ceph_0
|
||||
flavor: ceph
|
||||
|
||||
- name: swift_0
|
||||
flavor: objectstorage
|
||||
ansible-playbook playbook.yml -e @/path/myconfigfile.yml
|
||||
|
||||
Specifying custom heat templates
|
||||
--------------------------------
|
||||
@ -102,27 +30,6 @@ The ``overcloud_templates_branch`` variable can be used to specify the
|
||||
branch that needs to be cloned from a specific repository. When this
|
||||
variable is set, git will clone only the branch specified.
|
||||
|
||||
An example
|
||||
----------
|
||||
|
||||
To create a minimal environment that would be unsuitable for deploying
|
||||
anything real nova instances, you could place something like the
|
||||
following in ``myconfigfile.yml``::
|
||||
|
||||
undercloud_memory: 8192
|
||||
control_memory: 6000
|
||||
compute_memory: 2048
|
||||
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
|
||||
- name: compute_0
|
||||
flavor: compute
|
||||
|
||||
And then pass that to the ``ansible-playbook`` command as described at
|
||||
the beginning of this document.
|
||||
|
||||
Explicit Teardown
|
||||
-----------------
|
||||
|
||||
@ -169,4 +76,4 @@ into the undercloud, so the system can use it.
|
||||
Please note that you also need to define all the images you want to
|
||||
fetch, using the ``images`` setting. You will need to define the name
|
||||
of the image, the url where to get it, and the image type (qcow2, tar).
|
||||
As a reference, please look at `http://git.openstack.org/cgit/openstack/tripleo-quickstart/tree/config/release/master-tripleo-ci.yml`
|
||||
As a reference, please look at the `config <http://git.openstack.org/cgit/openstack/tripleo-quickstart/tree/config/release/master-tripleo-ci.yml>`_
|
||||
|
75
doc/source/feature-configuration.rst
Normal file
75
doc/source/feature-configuration.rst
Normal file
@ -0,0 +1,75 @@
|
||||
.. _feature-configuration:
|
||||
|
||||
Feature Configuration
|
||||
=====================
|
||||
|
||||
One can configure the Openstack features installed on either the undercloud
|
||||
or overcloud by placing variable definitions in a YAML file and passing that
|
||||
to quickstart using the ``-c`` command line option, like this::
|
||||
|
||||
quickstart.sh -c config/general_config/featureset001.yml
|
||||
|
||||
Each feature set can also deploy a customized list of Openstack services. These
|
||||
services are defined by the tripleo-heat-templates used for the overcloud deployment.
|
||||
A definition of the services can be found `here <https://github.com/openstack/tripleo-heat-templates/blob/master/README.rst#service-testing-matrix>`_
|
||||
|
||||
Below is a table with various features listed in each row and the features enabled
|
||||
in each feature set configuration file in each column.
|
||||
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| Feature | set001 | set002 | set003 | set004 | set005 | set006 | set007 | set008 | set009 |
|
||||
+=================+========+========+========+========+========+========+========+========+========+
|
||||
| ipv6 | | X | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| SSL UC | X | X | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| SSL OC | | X | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| net iso SN | X | X | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| net iso MN | | | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| net iso BOND | | | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| introspection | X | | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| undercloud idem | | | X | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| ping test | X | X | | | X | X | X | X | X |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| tempest | | | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| scenario001 | | | | | X | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| scenario002 | | | | | | X | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| scenario003 | | | | | | | X | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| scenario004 | | | | | | | | X | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| scenario005 | | | | | | | | | X |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| multinode-nonha | | | | X | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
| | | | | | | | | | |
|
||||
+-----------------+--------+--------+--------+--------+--------+--------+--------+--------+--------+
|
||||
|
||||
Definition of Terms:
|
||||
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| Acroynm | Definition | |
|
||||
+==============+===================================================================+==+
|
||||
| UC | Tripleo Undercloud | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| OC | Tripleo Overcloud | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| net iso SN | network isolation single network interface card | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| net iso MN | network isolation multiple network interface card | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| net iso BOND | network isolation bonded network interfaces | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| ping test | deploy test heat stack, ping and ssh tests launched test instance | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
||||
| idem | idempotency test | |
|
||||
+--------------+-------------------------------------------------------------------+--+
|
109
doc/source/node-configuration.rst
Normal file
109
doc/source/node-configuration.rst
Normal file
@ -0,0 +1,109 @@
|
||||
.. _node-configuration:
|
||||
|
||||
Node Configuration
|
||||
=============
|
||||
|
||||
You configure the overcloud nodes by placing variable definitions in a
|
||||
YAML file and passing that to ansible using the ``-N`` command line
|
||||
option, like this::
|
||||
|
||||
quickstart.sh -N config/nodes/1ctlr_1comp.yml
|
||||
|
||||
Setting number and type of overcloud nodes
|
||||
------------------------------------------
|
||||
|
||||
The ``overcloud_nodes`` variable can be used to change the number and
|
||||
type of nodes deployed in your overcloud. The default
|
||||
(``config/general_config/minimal.yml``) looks like this::
|
||||
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
virtualbmc_port: 6230
|
||||
|
||||
- name: compute_0
|
||||
flavor: compute
|
||||
virtualbmc_port: 6231
|
||||
|
||||
You can use your own config if you want to test a different setup. For
|
||||
example::
|
||||
|
||||
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
|
||||
|
||||
- name: ceph_0
|
||||
flavor: ceph
|
||||
|
||||
- name: swift_0
|
||||
flavor: objectstorage
|
||||
|
||||
|
||||
Controlling resources
|
||||
---------------------
|
||||
|
||||
These variables set the resources that will be assigned to a node by
|
||||
default, unless overridden by a more specific variable:
|
||||
|
||||
- ``default_disk``
|
||||
- ``default_memory``
|
||||
- ``default_vcpu``
|
||||
|
||||
These variables set the resources assigned to the undercloud node:
|
||||
|
||||
- ``undercloud_disk``
|
||||
- ``undercloud_memory`` (defaults to **12288**)
|
||||
- ``undercloud_vcpu`` (defaults to **4**)
|
||||
|
||||
These variables set the resources assigned to controller nodes:
|
||||
|
||||
- ``control_disk``
|
||||
- ``control_memory``
|
||||
- ``control_vcpu``
|
||||
|
||||
These variables control the resources assigned to compute nodes:
|
||||
|
||||
- ``compute_disk``
|
||||
- ``compute_memory``
|
||||
- ``compute_vcpu``
|
||||
|
||||
These variables control the resources assigned to ceph storage nodes:
|
||||
|
||||
- ``ceph_disk``
|
||||
- ``ceph_memory``
|
||||
- ``ceph_vcpu``
|
||||
|
||||
There is another option ``extradevices`` that can be used to create three
|
||||
additional blockdevices ``vdb``, ``vdc`` and ``vdd`` per node. By default it
|
||||
is only enabled on the objectstorage node flavor.
|
||||
|
||||
An example
|
||||
----------
|
||||
|
||||
To create a minimal environment that would be unsuitable for deploying
|
||||
anything real nova instances, you could place something like the
|
||||
following in ``myconfigfile.yml``::
|
||||
|
||||
undercloud_memory: 8192
|
||||
control_memory: 6000
|
||||
compute_memory: 2048
|
||||
|
||||
overcloud_nodes:
|
||||
- name: control_0
|
||||
flavor: control
|
||||
|
||||
- name: compute_0
|
||||
flavor: compute
|
||||
|
||||
And then pass that to the ``ansible-playbook`` command as described at
|
||||
the beginning of this document.
|
@ -172,6 +172,9 @@ usage () {
|
||||
echo " specify the config file that contains the node"
|
||||
echo " configuration, can be used only once"
|
||||
echo " (default=config/general_config/minimal.yml)"
|
||||
echo " -N, --nodes <file>"
|
||||
echo " specify the number of nodes that should be created by"
|
||||
echo " the provisioner. "
|
||||
echo " -e, --extra-vars <key>=<value>"
|
||||
echo " additional ansible variables, can be used multiple times"
|
||||
echo " -w, --working-dir <dir>"
|
||||
@ -263,6 +266,11 @@ while [ "x$1" != "x" ]; do
|
||||
shift
|
||||
;;
|
||||
|
||||
--nodes|-N)
|
||||
OPT_NODES=$2
|
||||
shift
|
||||
;;
|
||||
|
||||
--clean|-X)
|
||||
OPT_CLEAN=1
|
||||
;;
|
||||
@ -360,7 +368,45 @@ fi
|
||||
|
||||
# Set this default after option processing, because the default depends
|
||||
# on another option.
|
||||
: ${OPT_CONFIG:=$OOOQ_DIR/config/general_config/minimal.yml}
|
||||
# Default general configuration
|
||||
: ${OPT_CONFIG:=$OPT_WORKDIR/config/general_config/minimal.yml}
|
||||
# Default Nodes
|
||||
: ${OPT_NODES:=$OPT_WORKDIR/config/nodes/1ctlr_1comp.yml}
|
||||
|
||||
# allow the deprecated config files to work
|
||||
OLD_CONFIG=""
|
||||
if [[ "$OPT_CONFIG" =~ .*ha.yml ]]; then
|
||||
OLD_CONFIG=$OPT_CONFIG
|
||||
OPT_CONFIG=$OPT_WORKDIR/config/general_config/pacemaker.yml;
|
||||
OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_1comp.yml;
|
||||
elif [[ "$OPT_CONFIG" =~ .*ceph.yml ]]; then
|
||||
OLD_CONFIG=$OPT_CONFIG
|
||||
OPT_CONFIG=$OPT_WORKDIR/config/general_config/minimal.yml;
|
||||
OPT_NODES=$OPT_WORKDIR/config/nodes/1ctlr_1comp_1ceph.yml;
|
||||
elif [[ "$OPT_CONFIG" =~ .*ha_big.yml ]]; then
|
||||
OLD_CONFIG=$OPT_CONFIG
|
||||
OPT_CONFIG=$OPT_WORKDIR/config/general_config/pacemaker.yml;
|
||||
OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_3comp.yml;
|
||||
elif [[ "$OPT_CONFIG" =~ .*ha_ipa.yml ]]; then
|
||||
OLD_CONFIG=$OPT_CONFIG
|
||||
OPT_CONFIG=$OPT_WORKDIR/config/general_config/ipa.yml;
|
||||
OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_1comp.yml;
|
||||
elif [[ "$OPT_CONFIG" =~ .*ha_ipv6.yml ]]; then
|
||||
OLD_CONFIG=$OPT_CONFIG
|
||||
OPT_CONFIG=$OPT_WORKDIR/config/general_config/ipv6.yml;
|
||||
OPT_NODES=$OPT_WORKDIR/config/nodes/3ctlr_1comp.yml;
|
||||
elif [[ "$OPT_CONFIG" =~ .*minimal_pacemaker.yml ]]; then
|
||||
OLD_CONFIG=$OPT_CONFIG
|
||||
OPT_CONFIG=$OPT_WORKDIR/config/general_config/pacemaker.yml;
|
||||
fi
|
||||
|
||||
if [ "$OLD_CONFIG" != "" ]; then
|
||||
echo "******************** PLEASE READ ****************************"
|
||||
echo ""
|
||||
echo "DEPRECATION NOTICE: $OLD_CONFIG has been deprecated"
|
||||
echo ""
|
||||
sleep 3;
|
||||
fi
|
||||
|
||||
if [ "$OPT_INSTALL_DEPS" = 1 ]; then
|
||||
echo "NOTICE: installing dependencies"
|
||||
@ -436,6 +482,7 @@ fi
|
||||
|
||||
ansible-playbook -$VERBOSITY $OPT_WORKDIR/playbooks/$OPT_PLAYBOOK \
|
||||
-e @$OPT_CONFIG \
|
||||
-e @$OPT_NODES \
|
||||
-e ansible_python_interpreter=/usr/bin/python \
|
||||
-e @$OPT_WORKDIR/config/release/$OPT_RELEASE.yml \
|
||||
-e local_working_dir=$OPT_WORKDIR \
|
||||
|
@ -30,8 +30,7 @@ data_files =
|
||||
usr/local/share/tripleo-quickstart/library = library/*
|
||||
usr/local/share/tripleo-quickstart/test_plugins = test_plugins/*
|
||||
playbooks = playbooks/*
|
||||
config/general_config = config/general_config/*
|
||||
config/release = config/release/*
|
||||
config/ = config/*
|
||||
|
||||
[wheel]
|
||||
universal = 1
|
||||
|
Loading…
Reference in New Issue
Block a user