default: 'br-ex'
description: Interface where virtual ip will be assigned.
type: string
- CorosyncAuthKey:
- description: Auth encryption key for corosync
- type: string
Debug:
default: ''
description: Set to True to enable debugging on all services.
default: true
description: Whether to use Galera instead of regular MariaDB.
type: boolean
+ EnablePacemaker:
+ default: false
+ description: If enabled services will be monitored by Pacemaker; it
+ will manage VIPs as well, in place of Keepalived.
+ type: boolean
+ EnableCephStorage:
+ default: false
+ description: Whether to deploy Ceph Storage (OSD) on the Controller
+ type: boolean
+ EnableSwiftStorage:
+ default: true
+ description: Whether to enable Swift Storage on the Controller
+ type: boolean
ExtraConfig:
default: {}
description: |
network) - if changing this either use different post-install network
scripts or be sure to keep 'datacentre' as a mapping network name.
type: string
- default: ""
+ default: "datacentre:br-ex"
NeutronDnsmasqOptions:
default: 'dhcp-option-force=26,1400'
description: Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU to be set to 1400 to account for the gre tunnel overhead.
default: "True"
NeutronFlatNetworks:
type: string
- default: ''
+ default: 'datacentre'
description: If set, flat networks to configure in neutron plugins.
NeutronL3HA:
default: 'False'
NtpServer:
type: string
default: ''
+ PcsdPassword:
+ type: string
+ description: The password for the 'pcsd' user.
PublicVirtualInterface:
default: 'br-ex'
description: >
networks:
- network: ctlplane
user_data_format: SOFTWARE_CONFIG
+ user_data: {get_resource: NodeUserData}
+
+ NodeUserData:
+ type: OS::TripleO::NodeUserData
NetworkConfig:
- type: OS::TripleO::Net::SoftwareConfig
+ type: OS::TripleO::Controller::Net::SoftwareConfig
NetworkDeployment:
type: OS::TripleO::SoftwareDeployment
bootstack_nodeid: {get_attr: [Controller, name]}
controller_host: {get_attr: [Controller, networks, ctlplane, 0]}
controller_virtual_ip: {get_param: VirtualIP}
- corosync_auth_key: {get_param: CorosyncAuthKey}
neutron_enable_tunneling: {get_param: NeutronEnableTunnelling}
heat.watch_server_url:
list_join:
- {get_param: VirtualIP}
- ':5000/v2.0/'
enable_galera: {get_param: EnableGalera}
+ enable_pacemaker: {get_param: EnablePacemaker}
+ enable_ceph_storage: {get_param: EnableCephStorage}
+ enable_swift_storage: {get_param: EnableSwiftStorage}
mysql_innodb_buffer_pool_size: {get_param: MysqlInnodbBufferPoolSize}
mysql_root_password: {get_param: MysqlRootPassword}
mysql_cluster_name:
- ':35357/v2.0'
ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
ceilometer_password: {get_param: CeilometerPassword}
- ceilometer_dsn:
- list_join:
- - ''
- - - 'mysql://ceilometer:unset@'
- - {get_param: VirtualIP}
- - '/ceilometer'
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
nova_password: {get_param: NovaPassword}
- - 'mysql://nova:unset@'
- {get_param: VirtualIP}
- '/nova'
+ pcsd_password: {get_param: PcsdPassword}
rabbit_hosts:
str_replace:
template: '["host"]'
controller_host: {get_input: controller_host} #local-ipv4
# Pacemaker
- corosync::authkey: {get_input: corosync_auth_key}
- corosync::bind_address: {get_input: controller_host}
+ enable_pacemaker: {get_input: enable_pacemaker}
+ hacluster_pwd: {get_input: pcsd_password}
# Swift
swift::proxy::proxy_local_net_ip: {get_input: controller_host}
keystone::public_bind_host: {get_input: controller_host}
keystone::admin_bind_host: {get_input: controller_host}
keystone::debug: {get_input: debug}
-
+ # MongoDB
+ mongodb::server::bind_ip: {get_input: controller_host}
# MySQL
admin_password: {get_input: admin_password}
enable_galera: {get_input: enable_galera}
+ enable_ceph_storage: {get_input: enable_ceph_storage}
+ enable_swift_storage: {get_input: enable_swift_storage}
mysql_innodb_buffer_pool_size: {get_input: mysql_innodb_buffer_pool_size}
mysql::server::root_password: {get_input: mysql_root_password}
mysql_cluster_name: {get_input: mysql_cluster_name}
ceilometer::api::keystone_password: {get_input: ceilometer_password}
ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
- ceilometer::db::database_connection: {get_input: ceilometer_dsn}
ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
snmpd_readonly_user_password: {get_input: snmpd_readonly_user_password}
nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
nova::network::neutron::neutron_url: {get_input: neutron_url}
nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
+
# Rabbit
+ rabbitmq::node_ip_address: {get_input: controller_host}
rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
-
+ # Redis
+ redis::bind: {get_input: controller_host}
# Misc
+ memcached::listen_ip: {get_input: controller_host}
neutron_public_interface_ip: {get_input: neutron_public_interface_ip}
ntp::servers: {get_input: ntp_servers}
control_virtual_interface: {get_input: control_virtual_interface}
Server's IP address and hostname in the /etc/hosts format
value:
str_replace:
- template: IP HOST HOST.novalocal CLOUDNAME
+ template: IP HOST CLOUDNAME
params:
IP: {get_attr: [Controller, networks, ctlplane, 0]}
HOST: {get_attr: [Controller, name]}