first pass for data mapping refactor
update hiera.yaml file moved all data to data directory added globals that need to drive config to site.pp
This commit is contained in:
		| @@ -79,7 +79,7 @@ mod 'puppetlabs/puppetdb', :git => "#{base_url}/puppetlabs/puppetlabs-puppetdb", | ||||
| mod 'puppetlabs/vcsrepo', :git => "#{base_url}/puppetlabs/puppetlabs-vcsrepo", :ref => 'master' | ||||
| mod 'ripienaar/ruby-puppetdb', :git => "#{base_url}/ripienaar/ruby-puppetdb" | ||||
| mod 'ripienaar/catalog-diff', :git => "#{base_url}/ripienaar/puppet-catalog-diff", :ref => 'master' | ||||
| mod 'hastexo/kickstack', :git => "#{base_url}/bodepd/kickstack", :ref => 'origin/neutron_support' | ||||
| mod 'hastexo/kickstack', :git => "#{base_url}/bodepd/kickstack", :ref => 'origin/data_refactor' | ||||
| # do I really need this firewall module? | ||||
| mod 'puppetlabs/firewall', :git => "#{base_url}/puppetlabs/puppetlabs-firewall", :ref => 'master' | ||||
| # stephenrjohnson | ||||
|   | ||||
							
								
								
									
										56
									
								
								data/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								data/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| # notes | ||||
|  | ||||
| As I went through the process of reimplementing kickstack using this | ||||
| model, I learned the following: | ||||
|  | ||||
| I assumed that all class parameters would mapping to a single piece of hiera | ||||
| data. This was not entirely correct. | ||||
|  | ||||
| # Issue 1 | ||||
|  | ||||
| some data values map to multiple combined values: | ||||
|  | ||||
|    ex: mysql\_connection => db\_name, password, host, user, type | ||||
|  | ||||
| ## solutions | ||||
|  | ||||
| 1. accept sql\_connection from hiera for each service | ||||
|  | ||||
| This is problematic b/c it will lead to data suplication, and not take advantage of | ||||
| reasonable defaults | ||||
|  | ||||
| 2. patch the components to accept the parts of the password and not the whole thing | ||||
|  | ||||
| That may not be the only occurrence. | ||||
|  | ||||
| It will have to be done in a backwards compat way | ||||
|  | ||||
| 3. allow the value of the lookup to be resolvable as multiple lookups (and not a single one) | ||||
|  | ||||
| # Issue number 2 | ||||
|  | ||||
| Some data effects the static values of what needs to be passed to other services | ||||
|  | ||||
| Ex: depending on the rpc\_type, the actual rpc\_backend passed to cinder is differnet. | ||||
|  | ||||
| ## solutions | ||||
|  | ||||
| 1. add an extra parameter called rpc\_type to the class interfaces | ||||
|  | ||||
| 2. add rpc\_type to the global data that drives configuration, and make it a variable | ||||
| that drives the hierarchical configuration | ||||
|  | ||||
| # Issue 3 | ||||
|  | ||||
| There is no way to have hiera drive whether or not individual components need to be installed | ||||
|  | ||||
| For now, this will need to be stored as global data that contains a list of the services that | ||||
| you want to install | ||||
|  | ||||
| # Issue 4 | ||||
|  | ||||
| where do we set assumed defaults? | ||||
|  | ||||
| examples: | ||||
|   - cinder simple scheduler | ||||
|   - charset for database (can we just set this as a default for the database?) | ||||
							
								
								
									
										4
									
								
								data/class_groups/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/class_groups/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # what is this? | ||||
|  | ||||
| class groups are intended to be a place where we can group lists of classes | ||||
| together as sets that can be deployed as a part of your roles. | ||||
							
								
								
									
										3
									
								
								data/class_groups/common.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								data/class_groups/common.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| volume: | ||||
|   - cinder::volume | ||||
|   - cinder::volume::%{cinder_backend} | ||||
							
								
								
									
										3
									
								
								data/class_groups/mysql_database.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								data/class_groups/mysql_database.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| mysql::server: | ||||
| mysql::config: | ||||
| mysql::server::account_security: | ||||
| @@ -2,7 +2,14 @@ | ||||
| apt_cache:  '192.168.242.99' # Apt cache server, set to 'false' to disable | ||||
| apt_mirror: 'us.archive.ubuntu.com' | ||||
| domain:     'domain.name' | ||||
| verbose:    false | ||||
| verbose:     | ||||
|  | ||||
| #$db_type          = 'mysql' | ||||
| #$rpc_type         = 'rabbitmq' | ||||
| #$cinder_backend   = 'iscsi' | ||||
| #$network_type     = 'quantum' | ||||
| #$services_enabled = ['nova', 'glance', 'cinder', 'keystone', 'nova', 'swift', 'network'] | ||||
|  | ||||
| # operatingsystem: 'ubuntu' # base OS for build node, use 'ubuntu' or 'redhat' | ||||
| # select one node_group to determine the nodes available for provisioning | ||||
| # node_group: multi_node | ||||
|   | ||||
| @@ -1,240 +1,400 @@ | ||||
| # central log level config | ||||
| enabled: | ||||
|   - nova::cert::enabled | ||||
|   - nova::api::enabled | ||||
|   - nova::compute::enabled | ||||
|   - nova::conductor::enabled | ||||
|   - nova::consoleauth::enabled | ||||
|   - nova::network::enabled | ||||
|   - nova::objectstore::enabled | ||||
|   - nova::qpid::enabled | ||||
|   - nova::scheduler::enabled | ||||
|   - nova::vncproxy::enabled | ||||
|   - nova::volume::enabled | ||||
|  | ||||
| debug: | ||||
|   kickstack::network::config::debug | ||||
|   kickstack::network::agent::dhcp::debug | ||||
|   kickstack::network::agent::metadata::debug | ||||
|   kickstack::debug | ||||
|   kickstack::glance::api::debug | ||||
|   kickstack::horizon::debug | ||||
|   kickstack::cinder::config::debug | ||||
|   kickstack::glance::registry::debug | ||||
|   #- kickstack::horizon::debug | ||||
|   - cinder::debug | ||||
|   - glance::api::debug | ||||
|   - glance::registry::debug | ||||
|   - horizon::django_debug | ||||
|   - keystone::debug | ||||
|   - quantum::debug | ||||
|   - neutron::debug | ||||
|   - quatum::agents::dhcp::debug | ||||
|   - quatum::agents::metadata::debug | ||||
| verbose: | ||||
|   kickstack::network::config::verbose | ||||
|   kickstack::keystone::api::verbose | ||||
|   kickstack::keystone::api::debug | ||||
|   kickstack::verbose | ||||
|   kickstack::glance::api::verbose | ||||
|   kickstack::horizon::verbose | ||||
|   kickstack::cinder::config::verbose | ||||
|   kickstack::glance::registry::verbose | ||||
|   #- kickstack::horizon::verbose | ||||
|   - cinder::verbose | ||||
|   - glance::api::verbose | ||||
|   - glance::registry::verbose | ||||
|   - keystone::verbose | ||||
|   - quantum::verbose | ||||
|   - neutron::verbose | ||||
| # end log level config | ||||
|  | ||||
| package_ensure: | ||||
|   kickstack::cinder::volume::package_ensure | ||||
|   kickstack::keystone::api::package_ensure | ||||
|   kickstack::package_ensure | ||||
|   kickstack::glance::config::package_ensure | ||||
|   kickstack::cinder::api::package_ensure | ||||
|   kickstack::nova::vncproxy::package_ensure | ||||
|   kickstack::cinder::scheduler::package_ensure | ||||
|   kickstack::nova::service::package_ensure | ||||
|  | ||||
|   - cinder::api::package_ensure | ||||
|   - cinder::scheduler::package_ensure | ||||
|   - cinder::volume::package_ensure | ||||
|   - glance::package_ensure | ||||
|   - keystone::package_ensure | ||||
|   - nova::api::ensure_package | ||||
|   - nova::cert::ensure_package | ||||
|   - nova::client::ensure | ||||
|   - nova::compute::ensure_package | ||||
|   - nova::conductor::ensure_package | ||||
|   - nova::consoleauth::ensure_package | ||||
|   - nova::ensure_package | ||||
|   - nova::network::ensure_package | ||||
|   - nova::objectstore::ensure_package | ||||
|   - nova::scheduler::ensure_package | ||||
|   - nova::vncproxy::ensure_package | ||||
| enable_nova: | ||||
|   kickstack::database::databases::enable_nova | ||||
|   kickstack::keystone::endpoints::enable_nova | ||||
|   - kickstack::database::databases::enable_nova | ||||
|   - kickstack::keystone::endpoints::enable_nova | ||||
| enable_glance: | ||||
|   kickstack::database::databases::enable_glance | ||||
|   kickstack::keystone::endpoints::enable_glance | ||||
|   - kickstack::database::databases::enable_glance | ||||
|   - kickstack::keystone::endpoints::enable_glance | ||||
| enable_keystone: | ||||
|   kickstack::database::databases::enable_keystone | ||||
|   kickstack::keystone::endpoints::enable_keystone | ||||
|   - kickstack::database::databases::enable_keystone | ||||
|   - kickstack::keystone::endpoints::enable_keystone | ||||
| enable_network: | ||||
|   kickstack::database::databases::enable_network | ||||
|   kickstack::keystone::endpoints::enable_network | ||||
|   - kickstack::database::databases::enable_network | ||||
|   - kickstack::keystone::endpoints::enable_network | ||||
| enable_cinder: | ||||
|   kickstack::database::databases::enable_cinder | ||||
|   kickstack::keystone::endpoints::enable_cinder | ||||
|   - kickstack::database::databases::enable_cinder | ||||
|   - kickstack::keystone::endpoints::enable_cinder | ||||
| enable_swift: | ||||
|   kickstack::database::databases::enable_swift | ||||
|   kickstack::keystone::endpoints::enable_swift | ||||
|  | ||||
| database_bind_address: | ||||
|   kickstack::database::postgresql::bind_address | ||||
|   kickstack::database::mysql::bind_address | ||||
|   - kickstack::database::databases::enable_swift | ||||
|   - kickstack::keystone::endpoints::enable_swift | ||||
|  | ||||
| # data base config | ||||
| "%{db_type}://%{cinder_db_user}:%{cinder_db_password}@%{db_host}/%{cinder_db_name}": | ||||
|   - cinder::sql_connection | ||||
| "%{db_type}://%{glance_db_user}:%{glance_db_password}@%{db_host}/%{glance_db_name}": | ||||
|   - glance::api::sql_connection | ||||
|   - glance::registry::sql_connection | ||||
| "%{db_type}://%{keystone_db_user}:%{keystone_db_password}@%{db_host}/%{keystone_db_name}": | ||||
|   - keystone::sql_connection | ||||
| "%{db_type}://%{nova_db_user}:%{nova_db_password}@%{db_host}/%{nova_db_name}": | ||||
|   - nova::sql_connection | ||||
| "%{db_type}://%{network_db_user}:%{network_db_password}@%{db_host}/%{network_db_name}": | ||||
|   - quantum::plugins::ovs::sql_connection | ||||
|   - quantum::plugins::linuxbridge::sql_connection | ||||
|   - neutron::plugins::ovs::sql_connection | ||||
|   - neutron::plugins::linuxbridge::sql_connection | ||||
| cinder_db_name: | ||||
|   - cinder::db::mysql::dbname | ||||
|   - cinder::db::postgresql::dbname | ||||
| cinder_db_user: | ||||
|   - cinder::db::mysql::user | ||||
|   - cinder::db::postgresql::user | ||||
| cinder_db_password: | ||||
|   - cinder::db::mysql::password | ||||
|   - cinder::db::postgresql::password | ||||
| glance_db_name: | ||||
|   kickstack::glance::api::db_name | ||||
|   kickstack::glance::registry::db_name | ||||
|   - glance::db::mysql::dbname | ||||
|   - glance::db::postgresql::dbname | ||||
| glance_db_user: | ||||
|   kickstack::glance::api::db_user | ||||
|   kickstack::glance::registry::db_user | ||||
|   - glance::db::mysql::user | ||||
|   - glance::db::postgresql::user | ||||
| glance_db_password: | ||||
|   kickstack::glance::api::db_password | ||||
|   kickstack::glance::registry::db_password | ||||
|   - glance::db::mysql::password | ||||
|   - glance::db::postgresql::password | ||||
| keystone_db_name: | ||||
|   - keystone::db::mysql::dbname | ||||
|   - keystone::db::postgresql::dbname | ||||
| keystone_db_user: | ||||
|   - keystone::db::mysql::user | ||||
|   - keystone::db::postgresql::user | ||||
| keystone_db_password: | ||||
|   - keystone::db::mysql::password | ||||
|   - keystone::db::postgresql::password | ||||
| nova_db_name: | ||||
|   - nova::db::mysql::dbname | ||||
|   - nova::db::postgresql::dbname | ||||
| nova_db_user: | ||||
|   - nova::db::mysql::user | ||||
|   - nova::db::postgresql::user | ||||
| nova_db_password: | ||||
|   - nova::db::mysql::password | ||||
|   - nova::db::postgresql::password | ||||
| network_db_name: | ||||
|   kickstack::network::plugin::db_name | ||||
|   kickstack::network::db::db_name | ||||
|   - quantum::db::mysql::dbname | ||||
|   - quantum::db::postgresql::dbname | ||||
|   - neutron::db::mysql::dbname | ||||
|   - neutron::db::postgresql::dbname | ||||
| network_db_user: | ||||
|   kickstack::network::plugin::db_user | ||||
|   kickstack::network::db::user | ||||
|   - quantum::db::mysql::user | ||||
|   - quantum::db::postgresql::user | ||||
|   - neutron::db::mysql::user | ||||
|   - neutron::db::postgresql::user | ||||
| network_db_password: | ||||
|   kickstack::network::plugin::db_password | ||||
|   kickstack::network::db::password | ||||
|   - quantum::db::mysql::password | ||||
|   - quantum::db::postgresql::password | ||||
|   - neutron::db::mysql::password | ||||
|   - neutron::db::postgresql::password | ||||
| database_root_password: | ||||
|   kickstack::database::postgresql::root_password | ||||
|   kickstack::database::mysql::root_password | ||||
| db_allowed_hosts: | ||||
|   kickstack::network::db::allowed_hosts | ||||
|   kickstack::db::allowed_hosts | ||||
|   - mysql::config::root_password | ||||
|   - postgresql::config::postgres_password | ||||
| database_bind_address: | ||||
|   - postgresql::config::listen_addresses | ||||
|   - mysql::config::bind_address | ||||
|  | ||||
| # keystone auth information | ||||
| network_service_user: | ||||
|   kickstack::network::endpoint::service_user | ||||
|   kickstack::network::server::service_user | ||||
|   kickstack::network::agent::metadata::service_user | ||||
| glance_service_password: | ||||
|   kickstack::glance::api::service_password | ||||
|   kickstack::glance::registry::service_password | ||||
| cinder_service_user: | ||||
|   - cinder::api::keystone_user | ||||
|   - cinder::keystone::auth::auth_name | ||||
| cinder_service_password: | ||||
|   - cinder::api::keystone_password | ||||
|   - cinder::keystone::auth::password | ||||
| cinder_public_address: | ||||
|   - cinder::keystone::auth::public_address | ||||
| cinder_internal_address: | ||||
|   - cinder::keystone::auth::internal_address | ||||
| cinder_admin_address: | ||||
|   - cinder::keystone::auth::admin_address | ||||
| glance_service_user: | ||||
|   kickstack::glance::api::service_user | ||||
|   kickstack::glance::registry::service_user | ||||
|   - glance::keystone::auth::auth_name | ||||
|   - glance::api::keystone_user | ||||
|   - glance::registry::keystone_user | ||||
| glance_service_password: | ||||
|   - glance::keystone::auth::password | ||||
|   - glance::api::keystone_password | ||||
|   - glance::registry::keystone_password | ||||
| glance_public_address: | ||||
|   - glance::keystone::auth::public_address | ||||
| glance_internal_address: | ||||
|   - glance::keystone::auth::internal_address | ||||
| glance_admin_address: | ||||
|   - glance::keystone::auth::admin_address | ||||
| nova_service_user: | ||||
|   - nova::keystone::auth::auth_name | ||||
|   - nova::api::admin_user | ||||
| nova_service_password: | ||||
|   - nova::keystone::auth::password | ||||
|   - nova::api::admin_password | ||||
| nova_public_address: | ||||
|   - nova::keystone::auth::public_address | ||||
| nova_internal_address: | ||||
|   - nova::keystone::auth::internal_address | ||||
| nova_admin_address: | ||||
|   - nova::keystone::auth::admin_address | ||||
| admin_token: | ||||
|   - keystone::admin_token | ||||
| admin_password: | ||||
|   - keystone::roles::admin::password | ||||
| admin_email: | ||||
|   - keystone::roles::admin::email | ||||
| admin_tenant: | ||||
|   - keystone::roles::admin::admin_tenant | ||||
| auth_public_address: | ||||
|   - keystone::endpoint::public_address | ||||
| auth_internal_address: | ||||
|   - cinder::api::keystone_auth_host | ||||
|   - keystone::endpoint::internal_address | ||||
|   - glance::api::auth_host | ||||
|   - glance::registry::auth_host | ||||
|   - horizon::keystone_host | ||||
|   - nova::api::auth_host | ||||
|   - quantum::server::auth_host | ||||
|   - neutron::server::auth_host | ||||
| auth_admin_address: | ||||
|   - keystone::endpoint::admin_address | ||||
| network_service_user: | ||||
|   - quantum::keystone::auth::auth_name | ||||
|   - neutron::keystone::auth::auth_name | ||||
|   - nova::network::quantum::quantum_admin_username | ||||
|   - nova::network::neutron::neutron_admin_username | ||||
|   - quantum::server::auth_user | ||||
|   - neutron::server::auth_user | ||||
|   - quantum::agents::metadata::auth_user | ||||
|   - neutron::agents::metadata::auth_user | ||||
| network_service_password: | ||||
|   kickstack::network::endpoint::service_password | ||||
|   kickstack::network::server::service_password | ||||
|   kickstack::network::agent::metadata::service_password | ||||
|   kickstack::nova::networkclient::network_auth_password | ||||
|   - quantum::keystone::auth::password | ||||
|   - neutron::keystone::auth::password | ||||
|   - quantum::server::auth_password | ||||
|   - neutron::server::auth_password | ||||
|   - nova::network::quantum::quantum_admin_password | ||||
|   - nova::network::neutron::neutron_admin_password | ||||
|   - quantum::agents::metadata::auth_password | ||||
|   - neutron::agents::metadata::auth_password | ||||
| network_public_address: | ||||
|   - quantum::keystone::auth::public_address | ||||
|   - neutron::keystone::auth::public_address | ||||
| network_internal_address: | ||||
|   - quantum::keystone::auth::internal_address | ||||
|   - neutron::keystone::auth::internal_address | ||||
| network_admin_address: | ||||
|   - quantum::keystone::auth::admin_address | ||||
|   - neutron::keystone::auth::admin_address | ||||
| service_tenant: | ||||
|   kickstack::network::endpoint::service_tenant | ||||
|   kickstack::network::server::service_tenant | ||||
|   kickstack::keystone::api::service_tenant | ||||
|   kickstack::keystone::endpoint::service_tenant | ||||
|   kickstack::network::agent::metadata::service_tenant | ||||
|   kickstack::auth_service_tenant | ||||
|   kickstack::nova::api::service_tenant | ||||
|   kickstack::glance::api::service_tenant | ||||
|   kickstack::glance::registry::service_tenant | ||||
|   kickstack::endpoint::service_tenant | ||||
|   - glance:keystone::auth::tenant | ||||
|   - nova:keystone::auth::tenant | ||||
|   - quantum:keystone::auth::tenant | ||||
|   - neutron::keystone::auth::tenant | ||||
|   - cinder::keystone::auth::tenant | ||||
|   - keystone::roles::admin::service_tenant | ||||
|   - nova::admin_tenant_name | ||||
|  | ||||
|   - cinder::api::keystone_tenant | ||||
|   - glance::api::keystone_tenant | ||||
|   - glance::registry::keystone_tenant | ||||
|   - nova::network::quantumclient::quantum_admin_tenant_name | ||||
|   - nova::network::neutronclient::neutron_admin_tenant_name | ||||
|   - quantum::server::auth_tenant | ||||
|   - neutron::server::auth_tenant | ||||
|   - quantum::agents::metadata::auth_tenant | ||||
|   - neutron::agents::metadata::auth_tenant | ||||
| region: | ||||
|   kickstack::network::endpoint::service_region | ||||
|   kickstack::keystone::endpoint::service_region | ||||
|   kickstack::endpoint::service_region | ||||
|   - cinder::keystone::auth::region | ||||
|   - glance:keystone::auth::region | ||||
|   - nova:keystone::auth::region | ||||
|   - quantum:keystone::auth::region | ||||
|   - neutron::keystone::auth::region | ||||
|   - keystone::endpoint::region | ||||
|   - nova::network::quantumclient::quantum_region_name | ||||
|   - nova::network::neutronclient::neutron_region_name | ||||
|   - quantum::agents::metadata::auth_region | ||||
|   - neutron::agents::metadata::auth_region | ||||
| # where is cinder,nova,etc.. | ||||
| #end auth users | ||||
|  | ||||
| # service connection information | ||||
| auth_internal_address: | ||||
|   kickstack::keystone::endpoint::service_internal_address | ||||
|   kickstack::network::agent::metadata::auth_host | ||||
|   kickstack::nova::api::auth_host | ||||
|   kickstack::nova::networkclient::auth_host | ||||
|   kickstack::glance::api::auth_host | ||||
|   kickstack::cinder::api::auth_host | ||||
|   kickstack::glance::registry::auth_host | ||||
| rpc_host: | ||||
|   kickstack::network::config::rpc_host | ||||
|   kickstack::nova::config::rpc_host | ||||
|   kickstack::cinder::config::rpc_host | ||||
| network_internal_address: | ||||
|   kickstack::network::endpoint::service_internal_address | ||||
|   kickstack::nova::networkclient::network_host | ||||
| db_allowed_hosts: | ||||
|   - ceilometer::db::mysql::allowed_hosts | ||||
|   - cinder::db:mysql::allowed_hosts | ||||
|   - glance::db:mysql::allowed_hosts | ||||
|   - keystone::db::mysql::allowed_hosts | ||||
|   - nova::db:mysql::allowed_hosts | ||||
|   - quantum::db::mysql::allowed_hosts | ||||
|   - neutron::db::mysql::allowed_hosts | ||||
| db_host: | ||||
|   kickstack::keystone::api::db_host | ||||
|   kickstack::nova::config::db_host | ||||
|   kickstack::network::plugin::db_host | ||||
|   kickstack::network::db::host | ||||
|   kickstack::glance::api::db_host | ||||
|   kickstack::cinder::config::db_host | ||||
|   kickstack::glance::registry::db_host | ||||
|   kickstack::db::host | ||||
|  | ||||
| # configurable backends | ||||
| cinder_backend: | ||||
|   kickstack::cinder::volume::backend | ||||
|   kickstack::cinder_backend | ||||
|  | ||||
| glance_backend: | ||||
|   kickstack::glance_backend | ||||
|   kickstack::glance::api::glance_backend | ||||
|   kickstack::glance::all::backend | ||||
|  | ||||
|   - ceilometer::db::mysql::host | ||||
|   - cinder::db:mysql::host | ||||
|   - glance::db:mysql::host | ||||
|   - keystone::db::mysql::host | ||||
|   - nova:db:mysql::host | ||||
|   - quantum::db:mysql::host | ||||
|   - neutron::db::mysql::host | ||||
| # end backends | ||||
|  | ||||
| management_nic: | ||||
|   kickstack::rpc::rabbitmq::management_nic | ||||
|   kickstack::database::postgresql::management_nic | ||||
|   kickstack::network::server::management_nic | ||||
|   kickstack::keystone::api::management_nic | ||||
|   kickstack::database::mysql::management_nic | ||||
|   kickstack::rpc::qpid::management_nic | ||||
|   kickstack::management_nic | ||||
|   kickstack::nova::api::management_nic | ||||
|   kickstack::glance::api::management_nic | ||||
|   kickstack::glance::registry::management_nic | ||||
| # can I just put this somewhere else? | ||||
| public_ip_address: | ||||
|   - nova::vncproxy::host | ||||
|  | ||||
| # type of rpc backend to use | ||||
| rpc_type: | ||||
|   kickstack::network::config::rpc_type | ||||
|   kickstack::rpc_type | ||||
|   kickstack::rpc::rpc_type | ||||
|   kickstack::cinder::config::rpc_type | ||||
| rpc_host: | ||||
|   - cinder::qpid_hostname | ||||
|   - cinder::rabbit_host | ||||
|   - nova::rabbit_host | ||||
|   - nova::qpid_hostname | ||||
|   - quantum::rabbit_host | ||||
|   - quantum::qpid_hostname | ||||
|   - neutron::qpid_hostname | ||||
|   - neutron::rabbit_host | ||||
| rpc_user: | ||||
|   kickstack::rpc::rabbitmq::user | ||||
|   kickstack::network::config::rpc_user | ||||
|   kickstack::nova::config::rpc_user | ||||
|   kickstack::rpc::qpid::user | ||||
|   kickstack::cinder::config::rpc_user | ||||
|   - cinder::qpid_username | ||||
|   - cinder::rabbit_userid | ||||
|   - nova::qpid::user | ||||
|   - nova::rabbitmq::userid | ||||
|   - nova::rabbit_userid | ||||
|   - nova::qpid_username | ||||
|   - quantum::rabbit_user | ||||
|   - neutron::rabbit_user | ||||
|   - quantum::qpid_username | ||||
|   - neutron::qpid_username | ||||
| rpc_password: | ||||
|   kickstack::rpc::rabbitmq::password | ||||
|   kickstack::network::config::rpc_password | ||||
|   kickstack::nova::config::rpc_password | ||||
|   kickstack::rpc::qpid::password | ||||
|   kickstack::cinder::config::rpc_password | ||||
|   - cinder::rabbit_password | ||||
|   - cinder::qpid_password | ||||
|   - nova::qpid::password | ||||
|   - nova::rabbitmq::password | ||||
|   - nova::rabbit_password | ||||
|   - nova::qpid_password | ||||
|   - quantum::rabbit_password | ||||
|   - quantum::qpid_password | ||||
|   - neutron::rabbit_password | ||||
|   - neutron::qpid_password | ||||
| qpid_realm: | ||||
|   - nova::qpid::realm | ||||
| # end rpc config | ||||
|  | ||||
| metadata_shared_secret: | ||||
|   kickstack::network::agent::metadata::shared_secret | ||||
|   kickstack::nova::api::metadata_shared_secret | ||||
|   - quantum::agents::metadata::shared_secret | ||||
|   - neutron::agents::metadata::shared_secret | ||||
|   - nova::api::quantum_metadata_proxy_shared_secret | ||||
|  | ||||
| # TODO - I ned to figure out what to do about this | ||||
| volume_on_compute: | ||||
|   kickstack::nova::controller::volume_on_compute | ||||
|   kickstack::compute::volume_on_compute | ||||
|   - kickstack::nova::controller::volume_on_compute | ||||
|   - kickstack::compute::volume_on_compute | ||||
|  | ||||
| # type of database to use | ||||
| db_type: | ||||
|   kickstack::keystone::api::db_type | ||||
|   kickstack::nova::config::db_type | ||||
|   kickstack::database::db_type | ||||
|   kickstack::network::plugin::db_type | ||||
|   kickstack::db_type | ||||
|   kickstack::network::db::type | ||||
|   kickstack::glance::api::db_type | ||||
|   kickstack::cinder::config::db_type | ||||
|   kickstack::glance::registry::db_type | ||||
|   kickstack::db::type | ||||
|  | ||||
| # network configuration | ||||
| data_nic: | ||||
|   kickstack::network::agent::l2::network::data_nic | ||||
|   kickstack::network::agent::l2::compute::data_nic | ||||
|   - kickstack::network::agent::l2::network::data_nic | ||||
|   - kickstack::network::agent::l2::compute::data_nic | ||||
|  | ||||
| network_physnet: | ||||
|   kickstack::network::agent::l2::network::physnet | ||||
|   kickstack::network::agent::l2::compute::physnet | ||||
|   - kickstack::network::agent::l2::network::physnet | ||||
|   - kickstack::network::agent::l2::compute::physnet | ||||
|  | ||||
| network_plugin: | ||||
|   kickstack::network::config::plugin | ||||
|   kickstack::network::plugin::plugin | ||||
|   kickstack::network::agent::l2::network::plugin | ||||
|   kickstack::network::agent::dhcp::plugin | ||||
|   kickstack::network::agent::l2::compute::plugin | ||||
|   kickstack::network::agent::l3::plugin | ||||
|   - kickstack::network::config::plugin | ||||
|   - kickstack::network::plugin::plugin | ||||
|   - kickstack::network::agent::l2::network::plugin | ||||
|   - kickstack::network::agent::dhcp::plugin | ||||
|   - kickstack::network::agent::l2::compute::plugin | ||||
|   - kickstack::network::agent::l3::plugin | ||||
|  | ||||
| network_tunnel_bridge: | ||||
|   kickstack::network::agent::l2::network::tunnel_bridge | ||||
|   kickstack::network::agent::l2::compute::tunnel_bridge | ||||
|   - kickstack::network::agent::l2::network::tunnel_bridge | ||||
|   - kickstack::network::agent::l2::compute::tunnel_bridge | ||||
|  | ||||
| network_external_bridge: | ||||
|   kickstack::network::agent::l2::network::external_bridge | ||||
|   kickstack::network::agent::l3::external_bridge | ||||
|   - kickstack::network::agent::l2::network::external_bridge | ||||
|   - kickstack::network::agent::l3::external_bridge | ||||
|  | ||||
| tenant_network_type: | ||||
|   kickstack::network::plugin::tenant_network_type | ||||
|   kickstack::network::agent::l2::network::tenant_network_type | ||||
|   kickstack::network::agent::l2::compute::tenant_network_type | ||||
|   - kickstack::network::plugin::tenant_network_type | ||||
|   - kickstack::network::agent::l2::network::tenant_network_type | ||||
|   - kickstack::network::agent::l2::compute::tenant_network_type | ||||
|  | ||||
| network_type: | ||||
|   kickstack::network::config::network_type | ||||
|   kickstack::network::agent::l2::network::network_type | ||||
|   kickstack::network::agent::dhcp::network_type | ||||
|   kickstack::network::agent::l3::network_type | ||||
|   - kickstack::network::config::network_type | ||||
|   - kickstack::network::agent::l2::network::network_type | ||||
|   - kickstack::network::agent::dhcp::network_type | ||||
|   - kickstack::network::agent::l3::network_type | ||||
|  | ||||
| # end network config | ||||
|  | ||||
| glance_registry_host: | ||||
|   - glance::api::registry_host  | ||||
|  | ||||
| horizon_secret_key: | ||||
|   - horizon::secret_key | ||||
| # I need to add an option so that I can collapse this into verbose and debug | ||||
| horizon_log_level: | ||||
|   - horizon::log_level | ||||
|  | ||||
| vncproxy_host: | ||||
|   - nova::compute::vncproxy_host | ||||
|  | ||||
| vncserver_proxyclient_address: | ||||
|   - nova::compute::vncserver_proxyclient_address | ||||
|  | ||||
| glance_api_servers: | ||||
|   - nova::glance_api_servers | ||||
|  | ||||
| # like the sql_connection params, I am not happy about this | ||||
| "http://%{network_internal_address}:9696": | ||||
|   - nova::network::quantum::quantum_url | ||||
|   - nova::network::neutron::neutron_url | ||||
| "http://%{auth_internal_address}:35357/v2.0": | ||||
|   - nova::network::quantum::quantum_admin_auth_url | ||||
|   - nova::network::neutron::neutron_admin_auth_url | ||||
|   - quantum::agents::metadata::auth_url | ||||
|   - neutron::agents::metadata::auth_url | ||||
|  | ||||
| nova_metadata_ip: | ||||
|   - quantum::agents::metadata::metadata_ip | ||||
|   - neutron::agents::metadata::metadata_ip | ||||
|   | ||||
| @@ -1,3 +1,12 @@ | ||||
| # put some default data here that I do not want to change | ||||
| nova::db::mysql::charset: utf8 | ||||
| glance::db::mysql::charset: utf8 | ||||
| keystone::db::mysql::charset: utf8 | ||||
| quantum::db::mysql::charset: utf8 | ||||
| neutron::db::mysql::charset: utf8 | ||||
|  | ||||
|  | ||||
|  | ||||
| # time servers | ||||
| ntp_servers: | ||||
|   - time-server.domain.name | ||||
|   | ||||
| @@ -1,4 +1,5 @@ | ||||
| # configuration only relevant to compute node | ||||
| libvirt_type: qemu | ||||
| nova::compute::libvirt::libvirt_type: qemu | ||||
| nova::compute::libvirt::vncserver_listen: 127.0.0.1 | ||||
| internal_ip: %{ipaddress_eth3} | ||||
| vncserver_proxyclient_address: %{ipaddress_eth3} | ||||
|   | ||||
| @@ -2,13 +2,19 @@ | ||||
| # openstack controller | ||||
| admin_email: root@localhost | ||||
| database_root_password: mysql_pass | ||||
| database_bind_address: 0.0.0.0 | ||||
| # networking related config | ||||
| auto_assign_floating_ip: false | ||||
|  | ||||
| keystone_db_name: keystone | ||||
| keystone_db_user: keystone | ||||
| keystone_db_password: keystone_db_password | ||||
|  | ||||
| # glance config | ||||
| glance_db_name: glance | ||||
| glance_db_user: glance | ||||
| glance_db_password: glance_pass | ||||
| glance_service_user: glance | ||||
| glance_service_password: glance_pass | ||||
| glance_backend: file | ||||
|  | ||||
| @@ -28,6 +34,7 @@ metadata_shared_secret: metadata_shared_secret, | ||||
| #auth_internal_address: 127.0.0.1 | ||||
| #quantum_internal_address: 127.0.0.1 | ||||
| db_host: 127.0.0.1 | ||||
| db_allowed_hosts: % | ||||
| rpc_host: 192.168.242.10 | ||||
| vncproxy_host: 192.168.242.10 | ||||
|  | ||||
|   | ||||
							
								
								
									
										0
									
								
								data/hiera_data/file.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								data/hiera_data/file.yaml
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										0
									
								
								data/hiera_data/iscsi.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								data/hiera_data/iscsi.yaml
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										1
									
								
								data/hiera_data/mysql.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								data/hiera_data/mysql.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| db_type: mysql | ||||
							
								
								
									
										4
									
								
								data/hiera_data/network_plugin/linuxbridge.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/hiera_data/network_plugin/linuxbridge.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| quantum::core_plugin: quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2 | ||||
| neutron::core_plugin: neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2 | ||||
| quantum::agents::l3::interface_driver: quantum.agent.linux.interface.BridgeInterfaceDriver | ||||
| neutron::agents::l3::interface_driver: neutron.agent.linux.interface.BridgeInterfaceDriver | ||||
							
								
								
									
										7
									
								
								data/hiera_data/network_plugin/ovs.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								data/hiera_data/network_plugin/ovs.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| quantum::core_plugin: quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 | ||||
| neutron::core_plugin: neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2 | ||||
| quantum::tunnel_id_ranges: '1:1000' | ||||
| neutron::tunnel_id_ranges: '1:1000' | ||||
| quantum::agents::l3::interface_driver: quantum.agent.linux.interface.OVSInterfaceDriver | ||||
| neutron::agents::l3::interface_driver: neutron.agent.linux.interface.OVSInterfaceDriver | ||||
|  | ||||
							
								
								
									
										4
									
								
								data/hiera_data/network_type/per-tenant-router.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/hiera_data/network_type/per-tenant-router.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| quantum::allow_overlapping_ips: true | ||||
| neutron::allow_overlapping_ips: true | ||||
| quantum::agents::l3::use_namespaces: true | ||||
| neutron::agents::l3::use_namespaces: true | ||||
							
								
								
									
										4
									
								
								data/hiera_data/network_type/provider-router.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/hiera_data/network_type/provider-router.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| quantum::allow_overlapping_ips: false | ||||
| neutron::allow_overlapping_ips: false | ||||
| quantum::agents::l3::use_namespaces: false | ||||
| neutron::agents::l3::use_namespaces: false | ||||
							
								
								
									
										4
									
								
								data/hiera_data/network_type/single-flat.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/hiera_data/network_type/single-flat.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| quantum::allow_overlapping_ips: true | ||||
| neutron::allow_overlapping_ips: true | ||||
| quantum::agents::l3::use_namespaces: false | ||||
| neutron::agents::l3::use_namespaces: false | ||||
| @@ -10,6 +10,8 @@ | ||||
| cinder_public_address: 192.168.242.10 | ||||
| cinder_internal_address: 192.168.242.10 | ||||
| cinder_admin_address: 192.168.242.10 | ||||
| cinder::volume::iscsi::bind_address: 0.0.0.0 | ||||
| cinder::volume::iscsi::volume_group: cinder-volume | ||||
|  | ||||
| auth_public_address: 192.168.242.10 | ||||
| auth_internal_address: 192.168.242.10 | ||||
| @@ -61,9 +63,17 @@ rpc_password: openstack_rabbit_password | ||||
| rpc_user: openstack_rabbit_user | ||||
|  | ||||
| # ovs config | ||||
| tunnel_ip: %{ipaddress_eth3} | ||||
| tunnel_ip: "%{ipaddress_eth3}" | ||||
|  | ||||
| cinder_db_password: cinder_pass | ||||
| cinder_db_name: cinder | ||||
| cinder_db_user: cinder | ||||
|  | ||||
| nova_db_user: nova | ||||
| nova_db_name: nova | ||||
|  | ||||
| network_db_user: quantum | ||||
| network_db_name: quantum | ||||
|  | ||||
| # used by test_file | ||||
| test_file_image_type: cirros | ||||
| @@ -96,3 +106,23 @@ public_nic: eth1 | ||||
| package_ensure: present | ||||
|  | ||||
| name_resolution: false | ||||
|  | ||||
| cinder::scheduler::scheduler_driver: 'cinder.scheduler.simple.SimpleScheduler' | ||||
| # does it matter if I have data that only applies to | ||||
| # the case where I am using mysql? | ||||
| cinder::db::mysql::charset: utf8 | ||||
|  | ||||
| db_type: mysql | ||||
|  | ||||
| service_tenant: services | ||||
| admin_tenant: admin | ||||
|  | ||||
| quantum::plugins::ovs::tenant_network_type: "%{tenant_network_type}" | ||||
| neutron::plugins::ovs::tenant_network_type: "%{tenant_network_type}" | ||||
|  | ||||
| quantum::agents::ovs::integration_bridge: br-int | ||||
|  | ||||
|  | ||||
| enabled: true | ||||
|  | ||||
| vncproxy_host: 192.168.242.10 | ||||
|   | ||||
							
								
								
									
										7
									
								
								data/hiera_data/rbd.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								data/hiera_data/rbd.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| # I am not a fan of having to do this twice. | ||||
| # should I set up conditional data mappings? | ||||
| cinder::volume::rbd_pool: 'cinder' | ||||
| cinder::volume::rbd_user: 'openstack'  | ||||
| glance::backend::rbd::rbd_store_user: 'openstack' | ||||
| glance::backend::rbd::rbd_store_pool: 'glance' | ||||
| cinder::volume::rbd_secret_uuid: 'rbd_secret' | ||||
							
								
								
									
										8
									
								
								data/hiera_data/rpc_type/qpid.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data/hiera_data/rpc_type/qpid.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| cinder::rpc_type: | ||||
|   'cinder.openstack.common.rpc.impl_qpid' | ||||
| nova::rpc_backend: | ||||
|   'nova.openstack.common.rpc.impl_qpid' | ||||
| quantum::rpc_backend: | ||||
|   'neutron.openstack.common.rpc.impl_qpid' | ||||
| neutron::rpc_backend: | ||||
|   'neutron.openstack.common.rpc.impl_qpid' | ||||
							
								
								
									
										8
									
								
								data/hiera_data/rpc_type/rabbitmq.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data/hiera_data/rpc_type/rabbitmq.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| cinder::rpc_type: | ||||
|   'cinder.openstack.common.rpc.impl_kombu' | ||||
| nova::rpc_backend: | ||||
|   'nova.openstack.common.rpc.impl_kombu' | ||||
| quantum::rpc_backend: | ||||
|   'quantum.openstack.common.rpc.impl_kombu' | ||||
| neutron::rpc_backend: | ||||
|   'quantum.openstack.common.rpc.impl_kombu' | ||||
							
								
								
									
										4
									
								
								data/hiera_data/swift.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								data/hiera_data/swift.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| glance::backend::swift::swift_store_user: swift_user | ||||
| glance::backend::swift::swift_store_key: secret_key | ||||
| glance::backend::swift::swift_store_auth_address: '127.0.0.1'  | ||||
| glance::backend::swift::swift_store_create_container_on_put: true | ||||
							
								
								
									
										13
									
								
								data/hiera_data/tenant_network_type/gre.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								data/hiera_data/tenant_network_type/gre.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| quantum::agents::ovs::bridge_mappings: ["${external_bridge}:${external_nic}"] | ||||
| quantum::agents::ovs::bridge_uplinks: | ||||
|   - "br-ex:eth2" | ||||
| quantum::agents::ovs::bridge_mappings: | ||||
|   - "default:br-ex" | ||||
| quantum::agents::ovs::enable_tunneling: true | ||||
| quantum::agents::ovs::tunnel_bridge: br-tun | ||||
| quantum::agents::ovs::local_ip: "%{ipaddress_eth3}" | ||||
| neutron::agents::ovs::bridge_uplinks: [] | ||||
| neutron::agents::ovs::bridge_mappings: [] | ||||
| neutron::agents::ovs::enable_tunneling: true | ||||
| neutron::agents::ovs::tunnel_bridge: br-tun | ||||
| neutron::agents::ovs::local_ip: "%{ipaddress_eth3}" | ||||
							
								
								
									
										6
									
								
								data/hiera_data/tenant_network_type/vlan.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								data/hiera_data/tenant_network_type/vlan.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| # TODO - finish vlan config | ||||
| quantum::plugins::ovs::network_vlan_ranges: physnet1:1000:2000 | ||||
| quantum::plugins::ovs::bridge_mappings: | ||||
|   -  | ||||
|   -  | ||||
| neutron::plugins::ovs::network_vlan_ranges: physnet1:1000:2000 | ||||
							
								
								
									
										8
									
								
								data/scenarios/2_node.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								data/scenarios/2_node.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| # | ||||
| # the two node  | ||||
| # | ||||
| roles: | ||||
|   controller: | ||||
|     classes: | ||||
|   compute: | ||||
|     classes: | ||||
							
								
								
									
										7
									
								
								data/scenarios/3_node.pp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								data/scenarios/3_node.pp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| roles: | ||||
|   controller: | ||||
|     classes: | ||||
|   compute: | ||||
|     classes: | ||||
|   network_controller: | ||||
|     classes: | ||||
							
								
								
									
										6
									
								
								data/scenarios/all_in_one.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								data/scenarios/all_in_one.yaml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| # | ||||
| # scenario for all_one | ||||
| # | ||||
| roles: | ||||
|   all_in_one: | ||||
|     classes: | ||||
| @@ -50,6 +50,13 @@ file { "${settings::confdir}/hiera.yaml": | ||||
|   - data_mapper | ||||
| :hierarchy: | ||||
|   - "%{hostname}" | ||||
|   - "rpc_type/%{rpc_type}" | ||||
|   - "db_type/%{db_type}" | ||||
|   - "tenant_network_type/%{tenant_network_type}" | ||||
|   - "network_type/%{network_type}" | ||||
|   - "network_plugin/%{network_plugin}" | ||||
|   - "%{cinder_backend}" | ||||
|   - "%{glance_backend}" | ||||
|   - jenkins | ||||
|   - "%{scenario}" | ||||
|   - "%{openstack_role}" | ||||
| @@ -59,7 +66,7 @@ file { "${settings::confdir}/hiera.yaml": | ||||
|    :datadir: /etc/puppet/data/hiera_data | ||||
| :data_mapper: | ||||
|    # this should be contained in a module | ||||
|    :datadir: /etc/puppet/data/data_mappings/data_mappings | ||||
|    :datadir: /etc/puppet/data/data_mappings | ||||
| ' | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -16,15 +16,38 @@ node /control-tempest-server/ { | ||||
|  | ||||
| } | ||||
|  | ||||
| node /control-server/ { | ||||
| # define some globals that will drive the configuration | ||||
| $role             = 'openstack' | ||||
|  | ||||
| $db_type          = 'mysql' | ||||
| $rpc_type         = 'rabbitmq' | ||||
| $cinder_backend   = 'iscsi' | ||||
| $glance_backend   = 'file'  | ||||
| $compute_type     = 'qemu' | ||||
| # networking options | ||||
| $network_service  = 'quantum' | ||||
| # supports linuxbridge and ovs | ||||
| $network_plugin   = 'ovs' | ||||
| # supports single-flat, provider-router, and per-tenant-router | ||||
| $network_type     = 'per-tenant-router' | ||||
| # supports gre or vlan | ||||
| $tenant_network_type =  'gre' | ||||
| # end networking top scope vars | ||||
| $enabled_services = ['glance', 'cinder', 'keystone', 'nova', 'network'] | ||||
|  | ||||
| node openstack-base { | ||||
|  | ||||
|    | ||||
| } | ||||
|  | ||||
| node /control-server/ inherits openstack-base { | ||||
|  | ||||
|   $role           = 'openstack' | ||||
|   $openstack_role = 'controller' | ||||
|   include coi::roles::controller | ||||
|  | ||||
| } | ||||
|  | ||||
| node /compute-server\d+/ { | ||||
| node /compute-server\d+/ inherits openstack-base { | ||||
|  | ||||
|   $role           = 'openstack' | ||||
|   $openstack_role = 'compute' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Dan Bode
					Dan Bode