aboutsummaryrefslogtreecommitdiffstats
path: root/puppet
diff options
context:
space:
mode:
Diffstat (limited to 'puppet')
-rw-r--r--puppet/ceph-storage.yaml12
-rw-r--r--puppet/cinder-storage.yaml12
-rw-r--r--puppet/compute.yaml7
-rw-r--r--puppet/controller.yaml7
-rw-r--r--puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml12
-rw-r--r--puppet/post.j2.yaml139
-rw-r--r--puppet/post.yaml644
-rw-r--r--puppet/services/ceph-rgw.yaml77
-rw-r--r--puppet/services/glance-api.yaml1
-rw-r--r--puppet/services/keystone.yaml13
-rw-r--r--puppet/services/manila-api.yaml1
-rw-r--r--puppet/services/neutron-plugin-ml2.yaml2
-rw-r--r--puppet/services/nova-compute.yaml2
-rw-r--r--puppet/services/nova-vnc-proxy.yaml9
-rw-r--r--puppet/swift-storage.yaml12
15 files changed, 295 insertions, 655 deletions
diff --git a/puppet/ceph-storage.yaml b/puppet/ceph-storage.yaml
index 5ba2c298..62748f94 100644
--- a/puppet/ceph-storage.yaml
+++ b/puppet/ceph-storage.yaml
@@ -27,6 +27,11 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
UpdateIdentifier:
default: ''
type: string
@@ -323,6 +328,7 @@ outputs:
STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
TENANTIP TENANTHOST.DOMAIN TENANTHOST
MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
+ CTLPLANEIP CTLPLANEHOST.DOMAIN CTLPLANEHOST
params:
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CephStorageHostnameResolveNetwork]}]}
DOMAIN: {get_param: CloudDomain}
@@ -363,6 +369,12 @@ outputs:
- '.'
- - {get_attr: [CephStorage, name]}
- management
+ CTLPLANEIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
+ CTLPLANEHOST:
+ list_join:
+ - '.'
+ - - {get_attr: [CephStorage, name]}
+ - ctlplane
nova_server_resource:
description: Heat resource handle for the ceph storage server
value:
diff --git a/puppet/cinder-storage.yaml b/puppet/cinder-storage.yaml
index 699a0969..f5118c2c 100644
--- a/puppet/cinder-storage.yaml
+++ b/puppet/cinder-storage.yaml
@@ -48,6 +48,11 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
NetworkDeploymentActions:
type: comma_delimited_list
description: >
@@ -313,6 +318,7 @@ outputs:
STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
TENANTIP TENANTHOST.DOMAIN TENANTHOST
MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
+ CTLPLANEIP CTLPLANEHOST.DOMAIN CTLPLANEHOST
params:
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, BlockStorageHostnameResolveNetwork]}]}
DOMAIN: {get_param: CloudDomain}
@@ -353,6 +359,12 @@ outputs:
- '.'
- - {get_attr: [BlockStorage, name]}
- management
+ CTLPLANEIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
+ CTLPLANEHOST:
+ list_join:
+ - '.'
+ - - {get_attr: [BlockStorage, name]}
+ - ctlplane
nova_server_resource:
description: Heat resource handle for the block storage server
value:
diff --git a/puppet/compute.yaml b/puppet/compute.yaml
index e74d1a54..05b8d065 100644
--- a/puppet/compute.yaml
+++ b/puppet/compute.yaml
@@ -373,6 +373,7 @@ outputs:
STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
TENANTIP TENANTHOST.DOMAIN TENANTHOST
MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
+ CTLPLANEIP CTLPLANEHOST.DOMAIN CTLPLANEHOST
params:
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ComputeHostnameResolveNetwork]}]}
DOMAIN: {get_param: CloudDomain}
@@ -413,6 +414,12 @@ outputs:
- '.'
- - {get_attr: [NovaCompute, name]}
- management
+ CTLPLANEIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
+ CTLPLANEHOST:
+ list_join:
+ - '.'
+ - - {get_attr: [NovaCompute, name]}
+ - ctlplane
nova_server_resource:
description: Heat resource handle for the Nova compute server
value:
diff --git a/puppet/controller.yaml b/puppet/controller.yaml
index a18d00d7..33ed51c0 100644
--- a/puppet/controller.yaml
+++ b/puppet/controller.yaml
@@ -416,6 +416,7 @@ outputs:
STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
TENANTIP TENANTHOST.DOMAIN TENANTHOST
MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
+ CTLPLANEIP CTLPLANEHOST.DOMAIN CTLPLANEHOST
params:
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ControllerHostnameResolveNetwork]}]}
DOMAIN: {get_param: CloudDomain}
@@ -456,6 +457,12 @@ outputs:
- '.'
- - {get_attr: [Controller, name]}
- management
+ CTLPLANEIP: {get_attr: [Controller, networks, ctlplane, 0]}
+ CTLPLANEHOST:
+ list_join:
+ - '.'
+ - - {get_attr: [Controller, name]}
+ - ctlplane
nova_server_resource:
description: Heat resource handle for the Nova compute server
value:
diff --git a/puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml b/puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml
index e496553a..f5b1f0e6 100644
--- a/puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml
+++ b/puppet/extraconfig/pre_deploy/compute/neutron-opencontrail.yaml
@@ -32,6 +32,18 @@ resources:
contrail::vrouter::provision_vrouter::keystone_admin_tenant_name: admin
contrail::vrouter::provision_vrouter::keystone_admin_password: '"%{::admin_password}"'
+ contrail::vnc_api::vnc_api_config:
+ 'auth/AUTHN_TYPE':
+ value: keystone
+ 'auth/AUTHN_PROTOCOL':
+ value: http
+ 'auth/AUTHN_SERVER':
+ value: "%{hiera('keystone_admin_api_vip')}"
+ 'auth/AUTHN_PORT':
+ value: 35357
+ 'auth/AUTHN_URL':
+ value: '/v2.0/tokens'
+
ComputeContrailDeployment:
type: OS::Heat::StructuredDeployment
properties:
diff --git a/puppet/post.j2.yaml b/puppet/post.j2.yaml
new file mode 100644
index 00000000..65c96ac2
--- /dev/null
+++ b/puppet/post.j2.yaml
@@ -0,0 +1,139 @@
+heat_template_version: 2016-10-14
+
+description: >
+ Post-deploy configuration steps via puppet for all roles,
+ as defined in ../roles_data.yaml
+
+parameters:
+ servers:
+ type: json
+ description: Mapping of Role name e.g Controller to a list of servers
+
+ role_data:
+ type: json
+ description: Mapping of Role name e.g Controller to the per-role data
+
+ DeployIdentifier:
+ default: ''
+ type: string
+ description: >
+ Setting this to a unique value will re-run any deployment tasks which
+ perform configuration on a Heat stack-update.
+
+resources:
+
+{% for role in roles %}
+ # Post deployment steps for all roles
+ # A single config is re-applied with an incrementing step number
+ # {{role.name}} Role steps
+ {{role.name}}ArtifactsConfig:
+ type: deploy-artifacts.yaml
+
+ {{role.name}}ArtifactsDeploy:
+ type: OS::Heat::StructuredDeployments
+ properties:
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}ArtifactsConfig}
+
+ {{role.name}}PreConfig:
+ type: OS::TripleO::Tasks::{{role.name}}PreConfig
+ properties:
+ servers: {get_param: [servers, {{role.name}}]}
+ input_values:
+ update_identifier: {get_param: DeployIdentifier}
+
+ {{role.name}}Config:
+ type: OS::TripleO::{{role.name}}Config
+ properties:
+ StepConfig: {get_param: [role_data, {{role.name}}, step_config]}
+
+ # Step through a series of configuration steps
+ {{role.name}}Deployment_Step1:
+ type: OS::Heat::StructuredDeploymentGroup
+ depends_on: [{{role.name}}PreConfig, {{role.name}}ArtifactsDeploy]
+ properties:
+ name: {{role.name}}Deployment_Step1
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}Config}
+ input_values:
+ step: 1
+ update_identifier: {get_param: DeployIdentifier}
+
+ {{role.name}}Deployment_Step2:
+ type: OS::Heat::StructuredDeploymentGroup
+ depends_on:
+ {% for dep in roles %}
+ - {{dep.name}}Deployment_Step1
+ {% endfor %}
+ properties:
+ name: {{role.name}}Deployment_Step2
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}Config}
+ input_values:
+ step: 2
+ update_identifier: {get_param: DeployIdentifier}
+
+ {{role.name}}Deployment_Step3:
+ type: OS::Heat::StructuredDeploymentGroup
+ depends_on:
+ {% for dep in roles %}
+ - {{dep.name}}Deployment_Step2
+ {% endfor %}
+ properties:
+ name: {{role.name}}Deployment_Step3
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}Config}
+ input_values:
+ step: 3
+ update_identifier: {get_param: DeployIdentifier}
+
+ {{role.name}}Deployment_Step4:
+ type: OS::Heat::StructuredDeploymentGroup
+ depends_on:
+ {% for dep in roles %}
+ - {{dep.name}}Deployment_Step3
+ {% endfor %}
+ properties:
+ name: {{role.name}}Deployment_Step4
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}Config}
+ input_values:
+ step: 4
+ update_identifier: {get_param: DeployIdentifier}
+
+ {{role.name}}Deployment_Step5:
+ type: OS::Heat::StructuredDeploymentGroup
+ depends_on:
+ {% for dep in roles %}
+ - {{dep.name}}Deployment_Step4
+ {% endfor %}
+ properties:
+ name: {{role.name}}Deployment_Step5
+ servers: {get_param: [servers, {{role.name}}]}
+ config: {get_resource: {{role.name}}Config}
+ input_values:
+ step: 5
+ update_identifier: {get_param: DeployIdentifier}
+
+ {{role.name}}PostConfig:
+ type: OS::TripleO::Tasks::{{role.name}}PostConfig
+ depends_on:
+ {% for dep in roles %}
+ - {{dep.name}}Deployment_Step5
+ {% endfor %}
+ properties:
+ servers: {get_param: servers}
+ input_values:
+ update_identifier: {get_param: DeployIdentifier}
+
+ # Note, this should come last, so use depends_on to ensure
+ # this is created after any other resources.
+ {{role.name}}ExtraConfigPost:
+ depends_on:
+ {% for dep in roles %}
+ - {{dep.name}}PostConfig
+ {% endfor %}
+ type: OS::TripleO::NodeExtraConfigPost
+ properties:
+ servers: {get_param: [servers, {{role.name}}]}
+{% endfor %}
diff --git a/puppet/post.yaml b/puppet/post.yaml
deleted file mode 100644
index 8f57b34e..00000000
--- a/puppet/post.yaml
+++ /dev/null
@@ -1,644 +0,0 @@
-heat_template_version: 2016-10-14
-
-description: >
- Post-deploy configuration steps via puppet for all roles,
- Controller, Compute, BlockStorage, SwiftStorage and CephStorage.
-
-parameters:
- servers:
- type: json
- description: Mapping of Role name e.g Controller to a list of servers
-
- role_data:
- type: json
- description: Mapping of Role name e.g Controller to the per-role data
-
- DeployIdentifier:
- default: ''
- type: string
- description: >
- Setting this to a unique value will re-run any deployment tasks which
- perform configuration on a Heat stack-update.
-
-resources:
- # Post deployment steps for all roles
- # A single config is re-applied with an incrementing step number
- # Controller Role steps
- ControllerArtifactsConfig:
- type: deploy-artifacts.yaml
-
- ControllerArtifactsDeploy:
- type: OS::Heat::StructuredDeployments
- properties:
- servers: {get_param: [servers, Controller]}
- config: {get_resource: ControllerArtifactsConfig}
-
- ControllerPreConfig:
- type: OS::TripleO::Tasks::ControllerPreConfig
- properties:
- servers: {get_param: [servers, Controller]}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- ControllerConfig:
- type: OS::TripleO::ControllerConfig
- properties:
- StepConfig: {get_param: [role_data, Controller, step_config]}
-
- # Step through a series of configuration steps
- ControllerDeployment_Step1:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on: [ControllerPreConfig, ControllerArtifactsDeploy]
- properties:
- name: ControllerDeployment_Step1
- servers: {get_param: [servers, Controller]}
- config: {get_resource: ControllerConfig}
- input_values:
- step: 1
- update_identifier: {get_param: DeployIdentifier}
-
- ControllerDeployment_Step2:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step1
- - ComputeDeployment_Step1
- - BlockStorageDeployment_Step1
- - ObjectStorageDeployment_Step1
- - CephStorageDeployment_Step1
- properties:
- name: ControllerDeployment_Step2
- servers: {get_param: [servers, Controller]}
- config: {get_resource: ControllerConfig}
- input_values:
- step: 2
- update_identifier: {get_param: DeployIdentifier}
-
- ControllerDeployment_Step3:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step2
- - ComputeDeployment_Step2
- - BlockStorageDeployment_Step2
- - ObjectStorageDeployment_Step2
- - CephStorageDeployment_Step2
- properties:
- name: ControllerDeployment_Step3
- servers: {get_param: [servers, Controller]}
- config: {get_resource: ControllerConfig}
- input_values:
- step: 3
- update_identifier: {get_param: DeployIdentifier}
-
- ControllerDeployment_Step4:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step3
- - ComputeDeployment_Step3
- - BlockStorageDeployment_Step3
- - ObjectStorageDeployment_Step3
- - CephStorageDeployment_Step3
- properties:
- name: ControllerDeployment_Step4
- servers: {get_param: [servers, Controller]}
- config: {get_resource: ControllerConfig}
- input_values:
- step: 4
- update_identifier: {get_param: DeployIdentifier}
-
- ControllerDeployment_Step5:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step4
- - ComputeDeployment_Step4
- - BlockStorageDeployment_Step4
- - ObjectStorageDeployment_Step4
- - CephStorageDeployment_Step4
- properties:
- name: ControllerDeployment_Step5
- servers: {get_param: [servers, Controller]}
- config: {get_resource: ControllerConfig}
- input_values:
- step: 5
- update_identifier: {get_param: DeployIdentifier}
-
- ControllerPostConfig:
- type: OS::TripleO::Tasks::ControllerPostConfig
- depends_on:
- - ControllerDeployment_Step5
- - ComputeDeployment_Step5
- - BlockStorageDeployment_Step5
- - ObjectStorageDeployment_Step5
- - CephStorageDeployment_Step5
- properties:
- servers: {get_param: servers}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- # Note, this should come last, so use depends_on to ensure
- # this is created after any other resources.
- ControllerExtraConfigPost:
- depends_on:
- - ControllerPostConfig
- - ComputePostConfig
- - BlockStoragePostConfig
- - ObjectStoragePostConfig
- - CephStoragePostConfig
- type: OS::TripleO::NodeExtraConfigPost
- properties:
- servers: {get_param: [servers, Controller]}
-
- # Compute Role steps
- ComputeArtifactsConfig:
- type: deploy-artifacts.yaml
-
- ComputeArtifactsDeploy:
- type: OS::Heat::StructuredDeployments
- properties:
- servers: {get_param: [servers, Compute]}
- config: {get_resource: ComputeArtifactsConfig}
-
- ComputePreConfig:
- type: OS::TripleO::Tasks::ComputePreConfig
- properties:
- servers: {get_param: [servers, Compute]}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- ComputeConfig:
- type: OS::TripleO::ComputeConfig
- properties:
- StepConfig: {get_param: [role_data, Compute, step_config]}
-
- # Step through a series of configuration steps
- ComputeDeployment_Step1:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on: [ComputePreConfig, ComputeArtifactsDeploy]
- properties:
- name: ComputeDeployment_Step1
- servers: {get_param: [servers, Compute]}
- config: {get_resource: ComputeConfig}
- input_values:
- step: 1
- update_identifier: {get_param: DeployIdentifier}
-
- ComputeDeployment_Step2:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step1
- - ComputeDeployment_Step1
- - BlockStorageDeployment_Step1
- - ObjectStorageDeployment_Step1
- - CephStorageDeployment_Step1
- properties:
- name: ComputeDeployment_Step2
- servers: {get_param: [servers, Compute]}
- config: {get_resource: ComputeConfig}
- input_values:
- step: 2
- update_identifier: {get_param: DeployIdentifier}
-
- ComputeDeployment_Step3:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step2
- - ComputeDeployment_Step2
- - BlockStorageDeployment_Step2
- - ObjectStorageDeployment_Step2
- - CephStorageDeployment_Step2
- properties:
- name: ComputeDeployment_Step3
- servers: {get_param: [servers, Compute]}
- config: {get_resource: ComputeConfig}
- input_values:
- step: 3
- update_identifier: {get_param: DeployIdentifier}
-
- ComputeDeployment_Step4:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step3
- - ComputeDeployment_Step3
- - BlockStorageDeployment_Step3
- - ObjectStorageDeployment_Step3
- - CephStorageDeployment_Step3
- properties:
- name: ComputeDeployment_Step4
- servers: {get_param: [servers, Compute]}
- config: {get_resource: ComputeConfig}
- input_values:
- step: 4
- update_identifier: {get_param: DeployIdentifier}
-
- ComputeDeployment_Step5:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step4
- - ComputeDeployment_Step4
- - BlockStorageDeployment_Step4
- - ObjectStorageDeployment_Step4
- - CephStorageDeployment_Step4
- properties:
- name: ComputeDeployment_Step5
- servers: {get_param: [servers, Compute]}
- config: {get_resource: ComputeConfig}
- input_values:
- step: 5
- update_identifier: {get_param: DeployIdentifier}
-
- ComputePostConfig:
- type: OS::TripleO::Tasks::ComputePostConfig
- depends_on:
- - ControllerDeployment_Step5
- - ComputeDeployment_Step5
- - BlockStorageDeployment_Step5
- - ObjectStorageDeployment_Step5
- - CephStorageDeployment_Step5
- properties:
- servers: {get_param: servers}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- # Note, this should come last, so use depends_on to ensure
- # this is created after any other resources.
- ComputeExtraConfigPost:
- depends_on:
- - ControllerPostConfig
- - ComputePostConfig
- - BlockStoragePostConfig
- - ObjectStoragePostConfig
- - CephStoragePostConfig
- type: OS::TripleO::NodeExtraConfigPost
- properties:
- servers: {get_param: [servers, Compute]}
-
- # BlockStorage Role steps
- BlockStorageArtifactsConfig:
- type: deploy-artifacts.yaml
-
- BlockStorageArtifactsDeploy:
- type: OS::Heat::StructuredDeployments
- properties:
- servers: {get_param: [servers, BlockStorage]}
- config: {get_resource: BlockStorageArtifactsConfig}
-
- BlockStoragePreConfig:
- type: OS::TripleO::Tasks::BlockStoragePreConfig
- properties:
- servers: {get_param: [servers, BlockStorage]}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- BlockStorageConfig:
- type: OS::TripleO::BlockStorageConfig
- properties:
- StepConfig: {get_param: [role_data, BlockStorage, step_config]}
-
- # Step through a series of configuration steps
- BlockStorageDeployment_Step1:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on: [BlockStoragePreConfig, BlockStorageArtifactsDeploy]
- properties:
- name: BlockStorageDeployment_Step1
- servers: {get_param: [servers, BlockStorage]}
- config: {get_resource: BlockStorageConfig}
- input_values:
- step: 1
- update_identifier: {get_param: DeployIdentifier}
-
- BlockStorageDeployment_Step2:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step1
- - ComputeDeployment_Step1
- - BlockStorageDeployment_Step1
- - ObjectStorageDeployment_Step1
- - CephStorageDeployment_Step1
- properties:
- name: BlockStorageDeployment_Step2
- servers: {get_param: [servers, BlockStorage]}
- config: {get_resource: BlockStorageConfig}
- input_values:
- step: 2
- update_identifier: {get_param: DeployIdentifier}
-
- BlockStorageDeployment_Step3:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step2
- - ComputeDeployment_Step2
- - BlockStorageDeployment_Step2
- - ObjectStorageDeployment_Step2
- - CephStorageDeployment_Step2
- properties:
- name: BlockStorageDeployment_Step3
- servers: {get_param: [servers, BlockStorage]}
- config: {get_resource: BlockStorageConfig}
- input_values:
- step: 3
- update_identifier: {get_param: DeployIdentifier}
-
- BlockStorageDeployment_Step4:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step3
- - ComputeDeployment_Step3
- - BlockStorageDeployment_Step3
- - ObjectStorageDeployment_Step3
- - CephStorageDeployment_Step3
- properties:
- name: BlockStorageDeployment_Step4
- servers: {get_param: [servers, BlockStorage]}
- config: {get_resource: BlockStorageConfig}
- input_values:
- step: 4
- update_identifier: {get_param: DeployIdentifier}
-
- BlockStorageDeployment_Step5:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step4
- - ComputeDeployment_Step4
- - BlockStorageDeployment_Step4
- - ObjectStorageDeployment_Step4
- - CephStorageDeployment_Step4
- properties:
- name: BlockStorageDeployment_Step5
- servers: {get_param: [servers, BlockStorage]}
- config: {get_resource: BlockStorageConfig}
- input_values:
- step: 5
- update_identifier: {get_param: DeployIdentifier}
-
- BlockStoragePostConfig:
- type: OS::TripleO::Tasks::BlockStoragePostConfig
- depends_on:
- - ControllerDeployment_Step5
- - ComputeDeployment_Step5
- - BlockStorageDeployment_Step5
- - ObjectStorageDeployment_Step5
- - CephStorageDeployment_Step5
- properties:
- servers: {get_param: servers}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- # Note, this should come last, so use depends_on to ensure
- # this is created after any other resources.
- BlockStorageExtraConfigPost:
- depends_on:
- - ControllerPostConfig
- - ComputePostConfig
- - BlockStoragePostConfig
- - ObjectStoragePostConfig
- - CephStoragePostConfig
- type: OS::TripleO::NodeExtraConfigPost
- properties:
- servers: {get_param: [servers, BlockStorage]}
-
- # ObjectStorage Role steps
- ObjectStorageArtifactsConfig:
- type: deploy-artifacts.yaml
-
- ObjectStorageArtifactsDeploy:
- type: OS::Heat::StructuredDeployments
- properties:
- servers: {get_param: [servers, ObjectStorage]}
- config: {get_resource: ObjectStorageArtifactsConfig}
-
- ObjectStoragePreConfig:
- type: OS::TripleO::Tasks::ObjectStoragePreConfig
- properties:
- servers: {get_param: [servers, ObjectStorage]}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- ObjectStorageConfig:
- type: OS::TripleO::ObjectStorageConfig
- properties:
- StepConfig: {get_param: [role_data, ObjectStorage, step_config]}
-
- # Step through a series of configuration steps
- ObjectStorageDeployment_Step1:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on: [ObjectStoragePreConfig, ObjectStorageArtifactsDeploy]
- properties:
- name: ObjectStorageDeployment_Step1
- servers: {get_param: [servers, ObjectStorage]}
- config: {get_resource: ObjectStorageConfig}
- input_values:
- step: 1
- update_identifier: {get_param: DeployIdentifier}
-
- ObjectStorageDeployment_Step2:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step1
- - ComputeDeployment_Step1
- - BlockStorageDeployment_Step1
- - ObjectStorageDeployment_Step1
- - CephStorageDeployment_Step1
- properties:
- name: ObjectStorageDeployment_Step2
- servers: {get_param: [servers, ObjectStorage]}
- config: {get_resource: ObjectStorageConfig}
- input_values:
- step: 2
- update_identifier: {get_param: DeployIdentifier}
-
- ObjectStorageDeployment_Step3:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step2
- - ComputeDeployment_Step2
- - BlockStorageDeployment_Step2
- - ObjectStorageDeployment_Step2
- - CephStorageDeployment_Step2
- properties:
- name: ObjectStorageDeployment_Step3
- servers: {get_param: [servers, ObjectStorage]}
- config: {get_resource: ObjectStorageConfig}
- input_values:
- step: 3
- update_identifier: {get_param: DeployIdentifier}
-
- ObjectStorageDeployment_Step4:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step3
- - ComputeDeployment_Step3
- - BlockStorageDeployment_Step3
- - ObjectStorageDeployment_Step3
- - CephStorageDeployment_Step3
- properties:
- name: ObjectStorageDeployment_Step4
- servers: {get_param: [servers, ObjectStorage]}
- config: {get_resource: ObjectStorageConfig}
- input_values:
- step: 4
- update_identifier: {get_param: DeployIdentifier}
-
- ObjectStorageDeployment_Step5:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step4
- - ComputeDeployment_Step4
- - BlockStorageDeployment_Step4
- - ObjectStorageDeployment_Step4
- - CephStorageDeployment_Step4
- properties:
- name: ObjectStorageDeployment_Step5
- servers: {get_param: [servers, ObjectStorage]}
- config: {get_resource: ObjectStorageConfig}
- input_values:
- step: 5
- update_identifier: {get_param: DeployIdentifier}
-
- ObjectStoragePostConfig:
- type: OS::TripleO::Tasks::ObjectStoragePostConfig
- depends_on:
- - ControllerDeployment_Step5
- - ComputeDeployment_Step5
- - BlockStorageDeployment_Step5
- - ObjectStorageDeployment_Step5
- - CephStorageDeployment_Step5
- properties:
- servers: {get_param: servers}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- # Note, this should come last, so use depends_on to ensure
- # this is created after any other resources.
- ObjectStorageExtraConfigPost:
- depends_on:
- - ControllerPostConfig
- - ComputePostConfig
- - BlockStoragePostConfig
- - ObjectStoragePostConfig
- - CephStoragePostConfig
- type: OS::TripleO::NodeExtraConfigPost
- properties:
- servers: {get_param: [servers, ObjectStorage]}
-
- # CephStorage Role steps
- CephStorageArtifactsConfig:
- type: deploy-artifacts.yaml
-
- CephStorageArtifactsDeploy:
- type: OS::Heat::StructuredDeployments
- properties:
- servers: {get_param: [servers, CephStorage]}
- config: {get_resource: CephStorageArtifactsConfig}
-
- CephStoragePreConfig:
- type: OS::TripleO::Tasks::CephStoragePreConfig
- properties:
- servers: {get_param: [servers, CephStorage]}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- CephStorageConfig:
- type: OS::TripleO::CephStorageConfig
- properties:
- StepConfig: {get_param: [role_data, CephStorage, step_config]}
-
- # Step through a series of configuration steps
- CephStorageDeployment_Step1:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on: [CephStoragePreConfig, CephStorageArtifactsDeploy]
- properties:
- name: CephStorageDeployment_Step1
- servers: {get_param: [servers, CephStorage]}
- config: {get_resource: CephStorageConfig}
- input_values:
- step: 1
- update_identifier: {get_param: DeployIdentifier}
-
- CephStorageDeployment_Step2:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step1
- - ComputeDeployment_Step1
- - BlockStorageDeployment_Step1
- - ObjectStorageDeployment_Step1
- - CephStorageDeployment_Step1
- properties:
- name: CephStorageDeployment_Step2
- servers: {get_param: [servers, CephStorage]}
- config: {get_resource: CephStorageConfig}
- input_values:
- step: 2
- update_identifier: {get_param: DeployIdentifier}
-
- CephStorageDeployment_Step3:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step2
- - ComputeDeployment_Step2
- - BlockStorageDeployment_Step2
- - ObjectStorageDeployment_Step2
- - CephStorageDeployment_Step2
- properties:
- name: CephStorageDeployment_Step3
- servers: {get_param: [servers, CephStorage]}
- config: {get_resource: CephStorageConfig}
- input_values:
- step: 3
- update_identifier: {get_param: DeployIdentifier}
-
- CephStorageDeployment_Step4:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step3
- - ComputeDeployment_Step3
- - BlockStorageDeployment_Step3
- - ObjectStorageDeployment_Step3
- - CephStorageDeployment_Step3
- properties:
- name: CephStorageDeployment_Step4
- servers: {get_param: [servers, CephStorage]}
- config: {get_resource: CephStorageConfig}
- input_values:
- step: 4
- update_identifier: {get_param: DeployIdentifier}
-
- CephStorageDeployment_Step5:
- type: OS::Heat::StructuredDeploymentGroup
- depends_on:
- - ControllerDeployment_Step4
- - ComputeDeployment_Step4
- - BlockStorageDeployment_Step4
- - ObjectStorageDeployment_Step4
- - CephStorageDeployment_Step4
- properties:
- name: CephStorageDeployment_Step5
- servers: {get_param: [servers, CephStorage]}
- config: {get_resource: CephStorageConfig}
- input_values:
- step: 5
- update_identifier: {get_param: DeployIdentifier}
-
- CephStoragePostConfig:
- type: OS::TripleO::Tasks::CephStoragePostConfig
- depends_on:
- - ControllerDeployment_Step5
- - ComputeDeployment_Step5
- - BlockStorageDeployment_Step5
- - ObjectStorageDeployment_Step5
- - CephStorageDeployment_Step5
- properties:
- servers: {get_param: servers}
- input_values:
- update_identifier: {get_param: DeployIdentifier}
-
- # Note, this should come last, so use depends_on to ensure
- # this is created after any other resources.
- CephStorageExtraConfigPost:
- depends_on:
- - ControllerPostConfig
- - ComputePostConfig
- - BlockStoragePostConfig
- - ObjectStoragePostConfig
- - CephStoragePostConfig
- type: OS::TripleO::NodeExtraConfigPost
- properties:
- servers: {get_param: [servers, CephStorage]}
diff --git a/puppet/services/ceph-rgw.yaml b/puppet/services/ceph-rgw.yaml
new file mode 100644
index 00000000..6bb4f6d1
--- /dev/null
+++ b/puppet/services/ceph-rgw.yaml
@@ -0,0 +1,77 @@
+heat_template_version: 2016-04-08
+
+description: >
+ Ceph RadosGW service.
+
+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
+ AdminToken:
+ description: The keystone auth secret and db password.
+ type: string
+ hidden: true
+ CephRgwKey:
+ description: The cephx key for the radosgw client. Can be created
+ with ceph-authtool --gen-print-key.
+ type: string
+ hidden: true
+ SwiftPassword:
+ description: The password for the swift service account, used by the Ceph RGW services.
+ type: string
+ hidden: true
+ KeystoneRegion:
+ type: string
+ default: 'regionOne'
+ description: Keystone region for endpoint
+
+resources:
+ CephBase:
+ type: ./ceph-base.yaml
+ properties:
+ ServiceNetMap: {get_param: ServiceNetMap}
+ DefaultPasswords: {get_param: DefaultPasswords}
+ EndpointMap: {get_param: EndpointMap}
+
+outputs:
+ role_data:
+ description: Role data for the Ceph RadosGW service.
+ value:
+ service_name: ceph_rgw
+ config_settings:
+ map_merge:
+ - get_attr: [CephBase, role_data, config_settings]
+ - tripleo::profile::base::ceph::rgw::rgw_key: {get_param: CephRgwKey}
+ tripleo::profile::base::ceph::rgw::keystone_admin_token: {get_param: AdminToken}
+ tripleo::profile::base::ceph::rgw::keystone_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
+ ceph::profile::params::frontend_type: 'civetweb'
+ ceph_rgw_civetweb_bind_address: {get_param: [ServiceNetMap, CephRgwNetwork]}
+ ceph::profile::params::rgw_frontends:
+ list_join:
+ - ''
+ - - 'civetweb port='
+ - '%{hiera("ceph_rgw_civetweb_bind_address")}'
+ - ':'
+ - {get_param: [EndpointMap, CephRgwInternal, port]}
+ tripleo.ceph_rgw.firewall_rules:
+ '122 ceph rgw':
+ dport: {get_param: [EndpointMap, CephRgwInternal, port]}
+ ceph::rgw::keystone::auth::public_url: {get_param: [EndpointMap, CephRgwPublic, uri]}
+ ceph::rgw::keystone::auth::internal_url: {get_param: [EndpointMap, CephRgwInternal, uri]}
+ ceph::rgw::keystone::auth::admin_url: {get_param: [EndpointMap, CephRgwAdmin, uri]}
+ ceph::rgw::keystone::auth::password: {get_param: SwiftPassword}
+ ceph::rgw::keystone::auth::region: {get_param: KeystoneRegion}
+ ceph::rgw::keystone::auth::tenant: 'service'
+ step_config: |
+ include ::tripleo::profile::base::ceph::rgw
diff --git a/puppet/services/glance-api.yaml b/puppet/services/glance-api.yaml
index adc1b4cb..03abe79b 100644
--- a/puppet/services/glance-api.yaml
+++ b/puppet/services/glance-api.yaml
@@ -101,6 +101,7 @@ outputs:
template: "'REGISTRY_HOST'"
params:
REGISTRY_HOST: {get_param: [EndpointMap, GlanceRegistryInternal, host]}
+ glance::api::registry_client_protocol: {get_param: [EndpointMap, GlanceRegistryInternal, protocol] }
glance::api::authtoken::password: {get_param: GlancePassword}
glance::api::enable_proxy_headers_parsing: true
glance::api::debug: {get_param: Debug}
diff --git a/puppet/services/keystone.yaml b/puppet/services/keystone.yaml
index 79033047..18fc9158 100644
--- a/puppet/services/keystone.yaml
+++ b/puppet/services/keystone.yaml
@@ -87,6 +87,12 @@ parameters:
MonitoringSubscriptionKeystone:
default: 'overcloud-kestone'
type: string
+ KeystoneCredential0:
+ type: string
+ description: The first Keystone credential key. Must be a valid key.
+ KeystoneCredential1:
+ type: string
+ description: The second Keystone credential key. Must be a valid key.
resources:
@@ -121,6 +127,12 @@ outputs:
keystone_ssl_certificate: {get_param: KeystoneSSLCertificate}
keystone_ssl_certificate_key: {get_param: KeystoneSSLCertificateKey}
keystone::enable_proxy_headers_parsing: true
+ keystone::enable_credential_setup: true
+ keystone::credential_keys:
+ '/etc/keystone/credential-keys/0':
+ content: {get_param: KeystoneCredential0}
+ '/etc/keystone/credential-keys/1':
+ content: {get_param: KeystoneCredential1}
keystone::debug: {get_param: Debug}
keystone::db::mysql::password: {get_param: AdminToken}
keystone::rabbit_userid: {get_param: RabbitUserName}
@@ -136,7 +148,6 @@ outputs:
keystone::endpoint::admin_url: {get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix]}
keystone::endpoint::region: {get_param: KeystoneRegion}
keystone_enable_db_purge: {get_param: KeystoneEnableDBPurge}
- keystone::public_endpoint: {get_param: [EndpointMap, KeystonePublic, uri_no_suffix]}
keystone::db::mysql::user: keystone
keystone::db::mysql::host: {get_param: [EndpointMap, MysqlInternal, host_nobrackets]}
keystone::db::mysql::dbname: keystone
diff --git a/puppet/services/manila-api.yaml b/puppet/services/manila-api.yaml
index 2e43730d..1513ab31 100644
--- a/puppet/services/manila-api.yaml
+++ b/puppet/services/manila-api.yaml
@@ -66,6 +66,7 @@ outputs:
# internal_api_uri -> [IP]
# internal_api_subnet - > IP/CIDR
manila::api::bind_host: {get_param: [ServiceNetMap, ManilaApiNetwork]}
+ manila::api::enable_proxy_headers_parsing: true
step_config: |
include ::tripleo::profile::base::manila::api
diff --git a/puppet/services/neutron-plugin-ml2.yaml b/puppet/services/neutron-plugin-ml2.yaml
index 5dbae3dc..17e8bca1 100644
--- a/puppet/services/neutron-plugin-ml2.yaml
+++ b/puppet/services/neutron-plugin-ml2.yaml
@@ -33,7 +33,7 @@ parameters:
default: 'datacentre'
description: If set, flat networks to configure in neutron plugins.
NeutronPluginExtensions:
- default: "qos,port_security"
+ default: "qos,port_security,trunk"
description: |
Comma-separated list of extensions enabled for the Neutron plugin.
type: comma_delimited_list
diff --git a/puppet/services/nova-compute.yaml b/puppet/services/nova-compute.yaml
index ccdcb52f..d1d7ae60 100644
--- a/puppet/services/nova-compute.yaml
+++ b/puppet/services/nova-compute.yaml
@@ -128,7 +128,7 @@ outputs:
# internal_api_uri -> [IP]
# internal_api_subnet - > IP/CIDR
nova::compute::vncserver_proxyclient_address: {get_param: [ServiceNetMap, NovaVncProxyNetwork]}
- nova::compute::vncproxy_host: {get_param: [EndpointMap, NovaPublic, host]}
+ nova::compute::vncproxy_host: {get_param: [EndpointMap, NovaPublic, host_nobrackets]}
step_config: |
# TODO(emilien): figure how to deal with libvirt profile.
# We'll probably treat it like we do with Neutron plugins.
diff --git a/puppet/services/nova-vnc-proxy.yaml b/puppet/services/nova-vnc-proxy.yaml
index 179112d3..899fa353 100644
--- a/puppet/services/nova-vnc-proxy.yaml
+++ b/puppet/services/nova-vnc-proxy.yaml
@@ -41,14 +41,7 @@ outputs:
- get_attr: [NovaBase, role_data, config_settings]
- nova::vncproxy::enabled: true
nova::vncproxy::common::vncproxy_protocol: {get_param: [EndpointMap, NovaVNCProxyPublic, protocol]}
- # Remove brackets that may come if the IP address is IPv6.
- # For DNS names and IPv4, this will just get NovaVNCProxyPublic
- nova::vncproxy::common::vncproxy_host:
- str_replace:
- template: {get_param: [EndpointMap, NovaVNCProxyPublic, host]}
- params:
- '[': ''
- ']': ''
+ nova::vncproxy::common::vncproxy_host: {get_param: [EndpointMap, NovaVNCProxyPublic, host_nobrackets]}
nova::vncproxy::common::vncproxy_port: {get_param: [EndpointMap, NovaVNCProxyPublic, port]}
# NOTE: bind IP is found in Heat replacing the network name with the local node IP
# for the given network; replacement examples (eg. for internal_api):
diff --git a/puppet/swift-storage.yaml b/puppet/swift-storage.yaml
index c414d8e9..9eb66314 100644
--- a/puppet/swift-storage.yaml
+++ b/puppet/swift-storage.yaml
@@ -27,6 +27,11 @@ parameters:
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry.
type: json
+ EndpointMap:
+ default: {}
+ description: Mapping of service endpoint -> protocol. Typically set
+ via parameter_defaults in the resource registry.
+ type: json
Hostname:
type: string
default: '' # Defaults to Heat created hostname
@@ -312,6 +317,7 @@ outputs:
STORAGE_MGMTIP STORAGE_MGMTHOST.DOMAIN STORAGE_MGMTHOST
TENANTIP TENANTHOST.DOMAIN TENANTHOST
MANAGEMENTIP MANAGEMENTHOST.DOMAIN MANAGEMENTHOST
+ CTLPLANEIP CTLPLANEHOST.DOMAIN CTLPLANEHOST
params:
PRIMARYIP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ObjectStorageHostnameResolveNetwork]}]}
DOMAIN: {get_param: CloudDomain}
@@ -352,6 +358,12 @@ outputs:
- '.'
- - {get_attr: [SwiftStorage, name]}
- management
+ CTLPLANEIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
+ CTLPLANEHOST:
+ list_join:
+ - '.'
+ - - {get_attr: [SwiftStorage, name]}
+ - ctlplane
nova_server_resource:
description: Heat resource handle for the swift storage server
value: