summaryrefslogtreecommitdiffstats
path: root/puppet/services
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/services')
-rw-r--r--puppet/services/README.rst2
-rw-r--r--puppet/services/network/contrail-analytics.yaml90
-rw-r--r--puppet/services/network/contrail-base.yaml100
-rw-r--r--puppet/services/network/contrail-config.yaml72
-rw-r--r--puppet/services/network/contrail-control.yaml54
-rw-r--r--puppet/services/network/contrail-database.yaml51
-rw-r--r--puppet/services/network/contrail-webui.yaml69
-rw-r--r--puppet/services/neutron-sriov-agent.yaml27
-rw-r--r--puppet/services/services.yaml5
-rw-r--r--puppet/services/swift-ringbuilder.yaml18
-rw-r--r--puppet/services/swift-storage.yaml2
-rw-r--r--puppet/services/vip-hosts.yaml6
12 files changed, 483 insertions, 13 deletions
diff --git a/puppet/services/README.rst b/puppet/services/README.rst
index 15c8c1f1..8fe51fa3 100644
--- a/puppet/services/README.rst
+++ b/puppet/services/README.rst
@@ -31,6 +31,8 @@ are re-asserted when applying latter ones.
* config_settings: Custom hiera settings for this service.
+ * global_config_settings: Additional hiera settings distributed to all roles.
+
* step_config: A puppet manifest that is used to step through the deployment
sequence. Each sequence is given a "step" (via hiera('step') that provides
information for when puppet classes should activate themselves.
diff --git a/puppet/services/network/contrail-analytics.yaml b/puppet/services/network/contrail-analytics.yaml
new file mode 100644
index 00000000..1c2331fa
--- /dev/null
+++ b/puppet/services/network/contrail-analytics.yaml
@@ -0,0 +1,90 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Contrail Analytics service deployment using puppet, this YAML file
+ creates the interface between the HOT template
+ and the puppet manifest that actually installs
+ and configures Contrail Analytics.
+
+parameters:
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ ContrailAnalyticsHostIP:
+ description: host IP address of Analytics
+ type: string
+ ContrailAnalyticsRedisServerIp:
+ description: Redis server ip address
+ type: string
+ ContrailAnalyticsCollectorServerHttpPort:
+ description: Collector http port
+ type: number
+ default: 8089
+ ContrailAnalyticsCollectorSandeshPort:
+ description: Collector sandesh port
+ type: number
+ default: 8086
+ ContrailAnalyticsHttpServerPort:
+ description: Analytics http port
+ type: number
+ default: 8090
+ ContrailAnalyticsListenAddress:
+ default: '0.0.0.0'
+ description: IP address Config API is listening on
+ type: string
+ ContrailAnalyticsListenPort:
+ default: 8082
+ description: Port Config API is listening on
+ type: number
+ ContrailAnalyticsRedisServerPort:
+ description: Redis server port
+ type: number
+ default: 6379
+ ContrailAnalyticsRestApiIp:
+ description: IP address Analytics rest interface listens on
+ type: string
+ default: '0.0.0.0'
+ ContrailAnalyticsRestApiPort:
+ description: Analytics rest port
+ type: number
+ default: 8081
+
+resources:
+ ContrailBase:
+ type: ./contrail-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role Contrail Analytics using composable services.
+ value:
+ service_name: contrail_analytics
+ config_settings:
+ map_merge:
+ - get_attr: [ContrailBase, role_data, config_settings]
+ - contrail::analytics::collector_http_server_port: {get_param: ContrailAnalyticsCollectorServerHttpPort}
+ contrail::analytics::collector_sandesh_port: {get_param: ContrailAnalyticsCollectorSandeshPort}
+ contrail::analytics::host_ip: {get_param: ContrailAnalyticsHostIP}
+ contrail::analytics::http_server_port: {get_param: ContrailAnalyticsHttpServerPort}
+ contrail::analytics::listen_ip_address: {get_param: ContrailAnalyticsListenAddress}
+ contrail::analytics::listen_port: {get_param: ContrailAnalyticsListenPort}
+ contrail::analytics::redis_server: {get_param: ContrailAnalyticsRedisServerIp}
+ contrail::analytics::redis_server_port: {get_param: ContrailAnalyticsRedisServerPort}
+ contrail::analytics::rest_api_ip: {get_param: ContrailAnalyticsRestApiIp}
+ contrail::analytics::rest_api_port: {get_param: ContrailAnalyticsRestApiPort}
+ step_config: |
+ include ::tripleo::network::contrail::analytics
diff --git a/puppet/services/network/contrail-base.yaml b/puppet/services/network/contrail-base.yaml
new file mode 100644
index 00000000..03dbea5b
--- /dev/null
+++ b/puppet/services/network/contrail-base.yaml
@@ -0,0 +1,100 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Base parameters for all Contrail Services.
+
+parameters:
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ AdminPassword:
+ description: Keystone admin user password
+ type: string
+ AdminTenantName:
+ description: Keystone admin tenant name
+ type: string
+ AdminToken:
+ description: Keystone admin token
+ type: string
+ AdminUser:
+ description: Keystone admin user name
+ type: string
+ AuthHost:
+ description: Keystone host IP address
+ type: string
+ AuthPort:
+ default: 35357
+ description: Keystone port
+ type: number
+ AuthProtocol:
+ default: 'http'
+ description: Keystone authentication protocol
+ type: string
+ ContrailDiscoveryServerIp:
+ description: Discovery server ip address
+ type: string
+ ContrailKafkaBrokerList:
+ description: List of kafka servers
+ type: comma_delimited_list
+ ContrailAuth:
+ default: 'keystone'
+ description: Keystone authentication method
+ type: string
+ ContrailCassandraServerList:
+ default: []
+ description: List of cassandra servers
+ type: comma_delimited_list
+ ContrailDiscoveryServerPort:
+ description: Discovery server port
+ type: number
+ default: 5998
+ ContrailInsecure:
+ default: false
+ description: Keystone insecure mode
+ type: boolean
+ ContrailMemcachedServer:
+ default: '127.0.0.1:12111'
+ description: Memcached server
+ type: string
+ ContrailMultiTenancy:
+ default: true
+ description: Turn on/off multi-tenancy
+ type: boolean
+ ContrailZkServerIp:
+ default: []
+ description: List of zookeeper servers
+ type: comma_delimited_list
+
+outputs:
+ role_data:
+ description: Shared role data for the Contrail services.
+ value:
+ service_name: contrail_base
+ config_settings:
+ contrail::admin_password: {get_param: AdminPassword}
+ contrail::admin_tenant_name: {get_param: AdminTenantName}
+ contrail::admin_token: {get_param: AdminToken}
+ contrail::admin_user: {get_param: AdminUser}
+ contrail::auth_host: {get_param: [EndpointMap, KeystoneInternal, host] }
+ contrail::auth_port: {get_param: [EndpointMap, KeystoneInternal, port] }
+ contrail::auth_protocol: {get_param: [EndpointMap, KeystoneInternal, protocol] }
+ contrail::disc_server_ip: {get_param: ContrailDiscoveryServerIp}
+ contrail::kafka_broker_list: {get_param: ContrailKafkaBrokerList}
+ contrail::auth: {get_param: ContrailAuth}
+ contrail::cassandra_server_list: {get_param: ContrailCassandraServerList}
+ contrail::disc_server_port: {get_param: ContrailDiscoveryServerPort}
+ contrail::insecure: {get_param: ContrailInsecure}
+ contrail::memcached_server: {get_param: ContrailMemcachedServer}
+ contrail::multi_tenancy: {get_param: ContrailMultiTenancy}
+ contrail::zk_server_ip: {get_param: ContrailZkServerIp}
diff --git a/puppet/services/network/contrail-config.yaml b/puppet/services/network/contrail-config.yaml
new file mode 100644
index 00000000..0987fc75
--- /dev/null
+++ b/puppet/services/network/contrail-config.yaml
@@ -0,0 +1,72 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Contrail Config service deployment using puppet, this YAML file
+ creates the interface between the HOT template
+ and the puppet manifest that actually installs
+ and configures Contrail Config.
+
+parameters:
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ ContrailConfigIfmapServerIp:
+ description: Ifmap server ip address
+ type: string
+ ContrailConfigIfmapUserName:
+ description: Ifmap user name
+ type: string
+ ContrailConfigIfmapUserPassword:
+ description: Ifmap user password
+ type: string
+ ContrailConfigRabbitServerIp:
+ description: RabbitMq server ip address
+ type: string
+ ContrailConfigRedisServerIp:
+ description: Redis server ip address
+ type: string
+ ContrailConfigListenAddress:
+ default: '0.0.0.0'
+ description: IP address Config API is listening on
+ type: string
+ ContrailConfigListenPort:
+ default: 8082
+ description: Port Config API is listening on
+ type: number
+
+resources:
+ ContrailBase:
+ type: ./contrail-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role Contrail Config using composable services.
+ value:
+ service_name: contrail_config
+ config_settings:
+ map_merge:
+ - get_attr: [ContrailBase, role_data, config_settings]
+ - contrail::config::ifmap_password: {get_param: ContrailConfigIfmapUserPassword}
+ contrail::config::ifmap_server_ip: {get_param: ContrailConfigIfmapServerIp}
+ contrail::config::ifmap_username: {get_param: ContrailConfigIfmapUserName}
+ contrail::config::listen_ip_address: {get_param: ContrailConfigListenAddress}
+ contrail::config::listen_port: {get_param: ContrailConfigListenPort}
+ contrail::config::rabbit_server: {get_param: ContrailConfigRabbitServerIp}
+ contrail::config::redis_server: {get_param: ContrailConfigRedisServerIp}
+ step_config: |
+ include ::tripleo::network::contrail::config
diff --git a/puppet/services/network/contrail-control.yaml b/puppet/services/network/contrail-control.yaml
new file mode 100644
index 00000000..9356e9e9
--- /dev/null
+++ b/puppet/services/network/contrail-control.yaml
@@ -0,0 +1,54 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Contrail Control service deployment using puppet, this YAML file
+ creates the interface between the HOT template
+ and the puppet manifest that actually installs
+ and configures Contrail Control.
+
+parameters:
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ ContrailControlHostIP:
+ description: host IP address of Analytics
+ type: string
+ ContrailControlIfmapUserName:
+ description: Ifmap user name
+ type: string
+ ContrailControlIfmapUserPassword:
+ description: Ifmap user password
+ type: string
+
+resources:
+ ContrailBase:
+ type: ./contrail-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role Contrail Control using composable services.
+ value:
+ service_name: contrail_control
+ config_settings:
+ map_merge:
+ - get_attr: [ContrailBase, role_data, config_settings]
+ - contrail::control::host_ip: {get_param: ContrailControlHostIP}
+ contrail::control::ifmap_username: {get_param: ContrailControlIfmapUserName}
+ contrail::control::ifmap_password: {get_param: ContrailControlIfmapUserPassword}
+ step_config: |
+ include ::tripleo::network::contrail::control
diff --git a/puppet/services/network/contrail-database.yaml b/puppet/services/network/contrail-database.yaml
new file mode 100644
index 00000000..e5712618
--- /dev/null
+++ b/puppet/services/network/contrail-database.yaml
@@ -0,0 +1,51 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Contrail Database service deployment using puppet, this YAML file
+ creates the interface between the HOT template
+ and the puppet manifest that actually installs
+ and configures Contrail Database.
+
+parameters:
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ ContrailDatabaseHostIP:
+ description: host IP address of Database node
+ type: string
+ ContrailDatabaseMinDisk:
+ description: Minimum disk size for database
+ type: number
+ default: 64
+
+resources:
+ ContrailBase:
+ type: ./contrail-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role Contrail Database using composable services.
+ value:
+ service_name: contrail_database
+ config_settings:
+ map_merge:
+ - get_attr: [ContrailBase, role_data, config_settings]
+ - contrail::database::host_ip: {get_param: ContrailDatabaseHostIP}
+ contrail::database::minimum_diskGB: {get_param: ContrailDatabaseMinDisk}
+ step_config: |
+ include ::tripleo::profile::contrail::database
diff --git a/puppet/services/network/contrail-webui.yaml b/puppet/services/network/contrail-webui.yaml
new file mode 100644
index 00000000..72b9e1c0
--- /dev/null
+++ b/puppet/services/network/contrail-webui.yaml
@@ -0,0 +1,69 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Contrail WebUI service deployment using puppet, this YAML file
+ creates the interface between the HOT template
+ and the puppet manifest that actually installs
+ and configures Contrail WebUI.
+
+parameters:
+ ServiceNetMap:
+ default: {}
+ description: Mapping of service_name -> network name. Typically set
+ via parameter_defaults in the resource registry. This
+ mapping overrides those in ServiceNetMapDefaults.
+ type: json
+ DefaultPasswords:
+ default: {}
+ type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
+ ContrailWebUiAnalyticsVip:
+ description: Contrail Analytics VIP
+ type: string
+ ContrailWebUiConfigVip:
+ description: Contrail Config VIP
+ type: string
+ ContrailWebUiNeutronVip:
+ description: Neutron VIP
+ type: string
+ ContrailWebuiHttpPort:
+ default: 8080
+ description: HTTP Port of Webui
+ type: number
+ ContrailWebuiHttpsPort:
+ default: 8143
+ description: HTTPS Port of Webui
+ type: number
+ ContrailWebUiRedisIp:
+ description: Redis IP
+ type: string
+ default: '127.0.0.1'
+
+resources:
+ ContrailBase:
+ type: ./contrail-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role Contrail WebUI using composable services.
+ value:
+ service_name: contrail_webui
+ config_settings:
+ map_merge:
+ - get_attr: [ContrailBase, role_data, config_settings]
+ - contrail::webui::contrail_analytics_vip: {get_param: ContrailWebUiAnalyticsVip}
+ contrail::webui::contrail_config_vip: {get_param: ContrailWebUiConfigVip}
+ contrail::webui::contrail_webui_http_port: {get_param: ContrailWebuiHttpPort}
+ contrail::webui::contrail_webui_https_port: {get_param: ContrailWebuiHttpsPort}
+ contrail::webui::neutron_vip: {get_param: ContrailWebUiNeutronVip}
+ contrail::webui::redis_ip: {get_param: ContrailWebUiRedisIp}
+ step_config: |
+ include ::tripleo::network::contrail::webui
diff --git a/puppet/services/neutron-sriov-agent.yaml b/puppet/services/neutron-sriov-agent.yaml
index b9a93394..44f7f242 100644
--- a/puppet/services/neutron-sriov-agent.yaml
+++ b/puppet/services/neutron-sriov-agent.yaml
@@ -14,6 +14,11 @@ parameters:
DefaultPasswords:
default: {}
type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
NeutronPhysicalDevMappings:
description: >
List of <physical_network>:<physical device>
@@ -39,11 +44,15 @@ parameters:
Example "eth1:4096","eth2:128"
type: comma_delimited_list
default: ""
- EndpointMap:
- default: {}
- description: Mapping of service endpoint -> protocol. Typically set
- via parameter_defaults in the resource registry.
- type: json
+
+resources:
+
+ NeutronBase:
+ type: ./neutron-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
@@ -51,8 +60,10 @@ outputs:
value:
service_name: neutron_sriov_agent
config_settings:
- neutron::agents::ml2::sriov::physical_device_mappings: {get_param: NeutronPhysicalDevMappings}
- neutron::agents::ml2::sriov::exclude_devices: {get_param: NeutronExcludeDevices}
- tripleo::host::sriov::number_of_vfs: {get_param: NeutronSriovNumVFs}
+ map_merge:
+ - get_attr: [NeutronBase, role_data, config_settings]
+ - neutron::agents::ml2::sriov::physical_device_mappings: {get_param: NeutronPhysicalDevMappings}
+ neutron::agents::ml2::sriov::exclude_devices: {get_param: NeutronExcludeDevices}
+ tripleo::host::sriov::number_of_vfs: {get_param: NeutronSriovNumVFs}
step_config: |
include ::tripleo::profile::base::neutron::sriov
diff --git a/puppet/services/services.yaml b/puppet/services/services.yaml
index 669e2872..b54a6d7a 100644
--- a/puppet/services/services.yaml
+++ b/puppet/services/services.yaml
@@ -54,4 +54,9 @@ outputs:
expression: list($.data.subscriptions.where($ != null))
data: {subscriptions: {get_attr: [ServiceChain, role_data, monitoring_subscription]}}
config_settings: {map_merge: {get_attr: [ServiceChain, role_data, config_settings]}}
+ global_config_settings:
+ map_merge:
+ yaql:
+ expression: list($.data.configs.where($ != null))
+ data: {configs: {get_attr: [ServiceChain, role_data, global_config_settings]}}
step_config: {list_join: ["\n", {get_attr: [ServiceChain, role_data, step_config]}]}
diff --git a/puppet/services/swift-ringbuilder.yaml b/puppet/services/swift-ringbuilder.yaml
index f41228e7..e151d185 100644
--- a/puppet/services/swift-ringbuilder.yaml
+++ b/puppet/services/swift-ringbuilder.yaml
@@ -1,4 +1,4 @@
-heat_template_version: 2016-04-08
+heat_template_version: 2016-10-14
description: >
OpenStack Swift Ringbuilder
@@ -34,6 +34,11 @@ parameters:
type: number
default: 3
description: How many replicas to use in the swift rings.
+ SwiftRawDisks:
+ default: {}
+ description: 'A hash of additional raw devices to use as Swift backend (eg. {sdb: {}})'
+ type: json
+
outputs:
role_data:
@@ -43,6 +48,17 @@ outputs:
config_settings:
tripleo::profile::base::swift::ringbuilder::build_ring: {get_param: SwiftRingBuild}
tripleo::profile::base::swift::ringbuilder::replicas: {get_param: SwiftReplicas}
+ tripleo::profile::base::swift::ringbuilder::raw_disk_prefix: 'r1z1-'
+ tripleo::profile::base::swift::ringbuilder::raw_disks:
+ yaql:
+ expression: $.data.raw_disk_lists.flatten()
+ data:
+ raw_disk_lists:
+ - [':%PORT%/d1']
+ - repeat:
+ template: ':%PORT%/DEVICE'
+ for_each:
+ DEVICE: {get_param: SwiftRawDisks}
swift::ringbuilder::part_power: {get_param: SwiftPartPower}
swift::ringbuilder::min_part_hours: {get_param: SwiftMinPartHours}
step_config: |
diff --git a/puppet/services/swift-storage.yaml b/puppet/services/swift-storage.yaml
index 91d52569..7fbb8d90 100644
--- a/puppet/services/swift-storage.yaml
+++ b/puppet/services/swift-storage.yaml
@@ -87,6 +87,6 @@ outputs:
- healthcheck
- account-server
swift::storage::disks: {get_param: SwiftRawDisks}
- swift::storage::all::storage_local_net_ip: {get_param: [ServiceNetMap, SwiftMgmtNetwork]}
+ swift::storage::all::storage_local_net_ip: {get_param: [ServiceNetMap, SwiftStorageNetwork]}
step_config: |
include ::tripleo::profile::base::swift::storage
diff --git a/puppet/services/vip-hosts.yaml b/puppet/services/vip-hosts.yaml
index 445a276c..a9d757ee 100644
--- a/puppet/services/vip-hosts.yaml
+++ b/puppet/services/vip-hosts.yaml
@@ -47,10 +47,10 @@ outputs:
ip: "%{hiera('storage_mgmt_virtual_ip')}"
ensure: present
comment: FQDN of the storage mgmt VIP
- management:
- name: "%{hiera('cloud_name_management')}"
+ ctlplane:
+ name: "%{hiera('cloud_name_ctlplane')}"
ip: "%{hiera('controller_virtual_ip')}"
ensure: present
- comment: FQDN of the management VIP
+ comment: FQDN of the ctlplane VIP
step_config: |
include ::tripleo::vip_hosts