Enable Manila integration - as a composable controller service

Allows the installation and configuration of Manila.
Supports the generic driver only. This has a dependency on the
puppet-tripleo classes for manila where the puppet specific
config now lives.

The review at https://review.openstack.org/#/c/315658/ has been
merge into this one, as of v68, so manila lands as a composable
service. This was brought up on the mailing list at [1]

[1] http://lists.openstack.org/pipermail/openstack-dev/2016-May/096126.html

Co-Authored-By: Marios Andreou <marios@redhat.com>
Implements: blueprint composable-services-within-roles
Depends-On: I444916d60a67bf730bf4089323dba1c1429e2e71
Depends-On: I9eda4b3364e5c59342761a1ec71b0eb567c69cf1
Depends-On: I571b65a5402c1028418476a573ebeb9450ed00c9
Change-Id: I7acebac4354fca1f8d7ff6c343c1346bf29b81c6
This commit is contained in:
Ryan Hefner 2015-11-10 13:56:54 -05:00 committed by marios
parent 59603a04b3
commit b99733d08a
15 changed files with 475 additions and 1 deletions

View File

@ -34,6 +34,9 @@ parameter_defaults:
KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
KeystonePublic: {protocol: 'https', port: '13000', host: 'CLOUDNAME'}
ManilaAdmin: {protocol: 'http', port: '8786', host: 'IP_ADDRESS'}
ManilaInternal: {protocol: 'http', port: '8786', host: 'IP_ADDRESS'}
ManilaPublic: {protocol: 'https', port: '13786', host: 'CLOUDNAME'}
MysqlInternal: {protocol: 'mysql+pymysql', port: '3306', host: 'IP_ADDRESS'}
MysqlNoBracketsInternal: {protocol: 'mysql+pymysql', port: '3306', host: 'IP_ADDRESS'}
NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}

View File

@ -0,0 +1,26 @@
# A Heat environment file which can be used to enable a
# a Manila generic driver backend.
resource_registry:
OS::Tripleo::Services::ManilaApi: ../puppet/services/manila-api.yaml
OS::Tripleo::Services::ManilaScheduler: ../puppet/services/manila-scheduler.yaml
# Only manila-share is pacemaker managed:
OS::Tripleo::Services::ManilaShare: ../puppet/services/pacemaker/manila-share.yaml
parameter_defaults:
ManilaGenericEnableBackend: true
ManilaGenericBackendName: tripleo_generic
ManilaGenericDriverHandlesShareServers: true
ManilaGenericSmbTemplateConfigPath: '$state_path/smb.conf'
ManilaGenericVolumeNameTemplate: 'manila-share-%s'
ManilaGenericVolumeSnapshotNameTemplate: 'manila-snapshot-%s'
ManilaGenericShareMountPath: '/shares'
ManilaGenericMaxTimeToCreateVolume: '180'
ManilaGenericMaxTimeToAttach: '120'
ManilaGenericServiceInstanceSmbConfigPath: '$share_mount_path/smb.conf'
ManilaGenericShareVolumeFsType: 'ext4'
ManilaGenericCinderVolumeType: ''
ManilaGenericServiceInstanceUser: ''
ManilaGenericServiceInstancePassword: ''
ManilaGenericServiceInstanceFlavorId: 2
ManilaGenericServiceNetworkCidr: '172.16.0.0/16'

View File

@ -53,3 +53,5 @@ resource_registry:
OS::TripleO::Services::GnocchiStatsd: ../puppet/services/pacemaker/gnocchi-statsd.yaml
OS::TripleO::Services::MySQL: ../puppet/services/pacemaker/database/mysql.yaml
OS::TripleO::Services::Horizon: ../puppet/services/pacemaker/horizon.yaml
# Services that are disabled by default (use relevant environment files):
OS::Tripleo::Services::ManilaShare: OS::Heat::None

View File

@ -133,6 +133,21 @@ Keystone:
port: 35357
port: 5000
Manila:
Internal:
vip_param: ManilaApi
uri_suffixes:
'': /v2/%(tenant_id)s
Public:
vip_param: Public
uri_suffixes:
'': /v2/%(tenant_id)s
Admin:
vip_param: ManilaApi
uri_suffixes:
'': /v2/%(tenant_id)s
port: 8786
Neutron:
Internal:
vip_param: NeutronApi

View File

@ -19,6 +19,7 @@ parameters:
KeystoneAdminApiVirtualIP: {type: string, default: ''}
KeystonePublicApiVirtualIP: {type: string, default: ''}
MysqlNoBracketsVirtualIP: {type: string, default: ''}
ManilaApiVirtualIP: {type: string, default: ''}
MysqlVirtualIP: {type: string, default: ''}
NeutronApiVirtualIP: {type: string, default: ''}
NovaApiVirtualIP: {type: string, default: ''}
@ -57,6 +58,9 @@ parameters:
KeystoneAdmin: {protocol: http, port: '35357', host: IP_ADDRESS}
KeystoneInternal: {protocol: http, port: '5000', host: IP_ADDRESS}
KeystonePublic: {protocol: http, port: '5000', host: IP_ADDRESS}
ManilaAdmin: {protocol: http, port: '8786', host: IP_ADDRESS}
ManilaInternal: {protocol: http, port: '8786', host: IP_ADDRESS}
ManilaPublic: {protocol: http, port: '8786', host: IP_ADDRESS}
MysqlInternal: {protocol: mysql+pymysql, port: '3306', host: IP_ADDRESS}
MysqlNoBracketsInternal: {protocol: mysql+pymysql, port: '3306',
host: IP_ADDRESS}
@ -1473,6 +1477,123 @@ outputs:
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, KeystonePublic, port]
ManilaAdmin:
host:
str_replace:
template:
get_param: [EndpointMap, ManilaAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: ManilaApiVirtualIP}
port:
get_param: [EndpointMap, ManilaAdmin, port]
protocol:
get_param: [EndpointMap, ManilaAdmin, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ManilaAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ManilaAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: ManilaApiVirtualIP}
- ':'
- get_param: [EndpointMap, ManilaAdmin, port]
- /v2/%(tenant_id)s
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ManilaAdmin, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ManilaAdmin, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: ManilaApiVirtualIP}
- ':'
- get_param: [EndpointMap, ManilaAdmin, port]
ManilaInternal:
host:
str_replace:
template:
get_param: [EndpointMap, ManilaInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: ManilaApiVirtualIP}
port:
get_param: [EndpointMap, ManilaInternal, port]
protocol:
get_param: [EndpointMap, ManilaInternal, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ManilaInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ManilaInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: ManilaApiVirtualIP}
- ':'
- get_param: [EndpointMap, ManilaInternal, port]
- /v2/%(tenant_id)s
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ManilaInternal, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ManilaInternal, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: ManilaApiVirtualIP}
- ':'
- get_param: [EndpointMap, ManilaInternal, port]
ManilaPublic:
host:
str_replace:
template:
get_param: [EndpointMap, ManilaPublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
port:
get_param: [EndpointMap, ManilaPublic, port]
protocol:
get_param: [EndpointMap, ManilaPublic, protocol]
uri:
list_join:
- ''
- - get_param: [EndpointMap, ManilaPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ManilaPublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, ManilaPublic, port]
- /v2/%(tenant_id)s
uri_no_suffix:
list_join:
- ''
- - get_param: [EndpointMap, ManilaPublic, protocol]
- ://
- str_replace:
template:
get_param: [EndpointMap, ManilaPublic, host]
params:
CLOUDNAME: {get_param: CloudName}
IP_ADDRESS: {get_param: PublicVirtualIP}
- ':'
- get_param: [EndpointMap, ManilaPublic, port]
MysqlInternal:
host:
str_replace:

View File

@ -193,6 +193,10 @@ resource_registry:
OS::TripleO::Services::GnocchiApi: puppet/services/gnocchi-api.yaml
OS::TripleO::Services::GnocchiMetricd: puppet/services/gnocchi-metricd.yaml
OS::TripleO::Services::GnocchiStatsd: puppet/services/gnocchi-statsd.yaml
# Services that are disabled by default (use relevant environment files):
OS::Tripleo::Services::ManilaApi: OS::Heat::None
OS::Tripleo::Services::ManilaScheduler: OS::Heat::None
OS::Tripleo::Services::ManilaShare: OS::Heat::None
parameter_defaults:
EnablePackageInstall: false

View File

@ -328,6 +328,7 @@ parameters:
IronicApiNetwork: internal_api
KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
KeystonePublicApiNetwork: internal_api
ManilaApiNetwork: internal_api
NeutronApiNetwork: internal_api
HeatApiNetwork: internal_api
NovaApiNetwork: internal_api
@ -402,7 +403,9 @@ parameters:
- OS::TripleO::Services::GnocchiApi
- OS::TripleO::Services::GnocchiMetricd
- OS::TripleO::Services::GnocchiStatsd
- OS::Tripleo::Services::ManilaApi
- OS::Tripleo::Services::ManilaScheduler
- OS::Tripleo::Services::ManilaShare
description: A list of service resources (configured in the Heat
resource_registry) which represent nested stacks
for each service that should get installed on the Controllers.
@ -642,6 +645,7 @@ resources:
IronicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, IronicApiNetwork]}]}
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
ManilaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
MysqlNoBracketsVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
@ -924,6 +928,7 @@ resources:
glance_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
glance_registry_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
cinder_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
manila_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
neutron_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
keystone_public_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
keystone_admin_api_node_ips: {get_attr: [ControllerIpListMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
@ -1047,6 +1052,7 @@ resources:
heat_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
horizon_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HorizonNetwork]}]}
redis_vip: {get_attr: [RedisVirtualIP, ip_address]}
manila_api_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
mysql_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
rabbit_vip: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, RabbitMqNetwork]}]}
# direct configuration of Virtual IPs for each network
@ -1282,6 +1288,9 @@ outputs:
KeystoneInternalVip:
description: VIP for Keystone API internal endpoint
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
ManilaInternalVip:
description: VIP for Manila API internal endpoint
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
NeutronInternalVip:
description: VIP for Neutron API internal endpoint
value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}

View File

@ -48,6 +48,8 @@ parameters:
type: comma_delimited_list
cinder_api_node_ips:
type: comma_delimited_list
manila_api_node_ips:
type: comma_delimited_list
neutron_api_node_ips:
type: comma_delimited_list
keystone_public_api_node_ips:
@ -260,6 +262,14 @@ resources:
list_join:
- "','"
- {get_param: cinder_api_node_ips}
manila_api_node_ips:
str_replace:
template: "['SERVERS_LIST']"
params:
SERVERS_LIST:
list_join:
- "','"
- {get_param: manila_api_node_ips}
neutron_api_node_ips:
str_replace:
template: "['SERVERS_LIST']"
@ -332,6 +342,7 @@ resources:
aodh::rabbit_hosts: *rabbit_nodes_array
cinder::rabbit_hosts: *rabbit_nodes_array
glance::notify::rabbitmq::rabbit_hosts: *rabbit_nodes_array
manila::rabbit_hosts: *rabbit_nodes_array
heat::rabbit_hosts: *rabbit_nodes_array
neutron::rabbit_hosts: *rabbit_nodes_array
nova::rabbit_hosts: *rabbit_nodes_array

View File

@ -586,6 +586,7 @@ resources:
keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
keystone_admin_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
keystone_region: {get_param: KeystoneRegion}
manila_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, ManilaApiNetwork]}]}
mongo_db_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, MongoDbNetwork]}]}
neutron_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
@ -723,6 +724,9 @@ resources:
keystone::wsgi::apache::bind_host: {get_input: keystone_public_api_network}
keystone::wsgi::apache::admin_bind_host: {get_input: keystone_admin_api_network}
# Manila
manila::api::bind_host: {get_input: manila_api_network}
# MongoDB
mongodb::server::bind_ip: {get_input: mongo_db_network}

View File

@ -0,0 +1,46 @@
heat_template_version: 2016-04-08
description: >
Manila-api service configured with Puppet
parameters:
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ManilaPassword:
description: The password for the manila service account.
type: string
hidden: true
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
resources:
ManilaBase:
type: ./manila-base.yaml
properties:
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Manila-api role.
value:
service_name: manila_api
config_settings:
map_merge:
- get_attr: [ManilaBase, role_data, config_settings]
- manila::api::keystone_password: {get_param: ManilaPassword}
manila::api::keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri]}
manila::api::keystone_auth_host: {get_param: [EndpointMap, ManilaInternal, host]}
manila::keystone::auth::public_url: {get_param: [EndpointMap, ManilaPublic, uri]}
manila::keystone::auth::internal_url: {get_param: [EndpointMap, ManilaInternal, uri]}
manila::keystone::auth::admin_url: {get_param: [EndpointMap, ManilaAdmin, uri]}
manila::keystone::auth::password: {get_param: ManilaPassword }
manila::keystone::auth::region: {get_param: KeystoneRegion }
manila::api::keystone_tenant: 'service'
step_config: |
include ::tripleo::profile::base::manila::api

View File

@ -0,0 +1,119 @@
heat_template_version: 2016-04-08
description: >
Openstack Manila base service. Shared by manila-api/scheduler/share services
parameters:
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
Debug:
default: ''
description: Set to True to enable debugging on all services.
type: string
RabbitPassword:
description: The password for RabbitMQ
type: string
hidden: true
RabbitUserName:
default: guest
description: The username for RabbitMQ
type: string
RabbitClientUseSSL:
default: false
description: >
Rabbit client subscriber parameter to specify
an SSL connection to the RabbitMQ host.
type: string
RabbitClientPort:
default: 5672
description: Set rabbit subscriber port, change this if using SSL
type: number
# Config specific parameters, to be provided via parameter_defaults
ManilaGenericEnableBackend:
type: boolean
default: true
ManilaGenericBackendName:
type: string
default: tripleo_generic
ManilaGenericDriverHandlesShareServers:
type: string
default: true
ManilaGenericSmbTemplateConfigPath:
type: string
default: '$state_path/smb.conf'
ManilaGenericVolumeNameTemplate:
type: string
default: 'manila-share-%s'
ManilaGenericVolumeSnapshotNameTemplate:
type: string
default: 'manila-snapshot-%s'
ManilaGenericShareMountPath:
type: string
default: '/shares'
ManilaGenericMaxTimeToCreateVolume:
type: string
default: '180'
ManilaGenericMaxTimeToAttach:
type: string
default: '120'
ManilaGenericServiceInstanceSmbConfigPath:
type: string
default: '$share_mount_path/smb.conf'
ManilaGenericShareVolumeFsType:
type: string
default: 'ext4'
ManilaGenericCinderVolumeType:
type: string
default: ''
ManilaGenericServiceInstanceUser:
type: string
default: ''
ManilaGenericServiceInstancePassword: #SET THIS via parameter_defaults
type: string
hidden: true
ManilaGenericServiceInstanceFlavorId:
type: number
default: 1
ManilaGenericServiceNetworkCidr:
type: string
default: '172.16.0.0/16'
outputs:
role_data:
description: Role data for the Manila Base service.
value:
service_name: manila_base
config_settings:
manila::rabbit_userid: {get_param: RabbitUserName}
manila::rabbit_password: {get_param: RabbitPassword}
manila::rabbit_use_ssl: {get_param: RabbitClientUseSSL}
manila::rabbit_port: {get_param: RabbitClientPort}
manila::debug: {get_param: Debug}
manila::db::mysql::user: manila
manila::db::mysql::host: {get_param: [EndpointMap, MysqlNoBracketsInternal, host]}
manila::db::mysql::dbname: manila
manila::db::database_db_max_retries: -1
manila::db::database_max_retries: -1
manila_generic_enable_backend: {get_param: ManilaGenericEnableBackend}
manila::backend::generic::title: {get_param: ManilaGenericBackendName}
manila::backend::generic::driver_handles_share_servers: {get_param: ManilaGenericDriverHandlesShareServers}
manila::backend::generic::smb_template_config_path: {get_param: ManilaGenericSmbTemplateConfigPath}
manila::backend::generic::volume_name_template: {get_param: ManilaGenericVolumeNameTemplate}
manila::backend::generic::volume_snapshot_name_template: {get_param: ManilaGenericVolumeSnapshotNameTemplate}
manila::backend::generic::share_mount_path: {get_param: ManilaGenericShareMountPath}
manila::backend::generic::max_time_to_create_volume: {get_param: ManilaGenericMaxTimeToCreateVolume}
manila::backend::generic::max_time_to_attach: {get_param: ManilaGenericMaxTimeToAttach}
manila::backend::generic::service_instance_smb_config_path: {get_param: ManilaGenericServiceInstanceSmbConfigPath}
manila::backend::generic::share_volume_fstype: {get_param: ManilaGenericShareVolumeFsType}
manila::backend::generic::cinder_volume_type: {get_param: ManilaGenericCinderVolumeType}
manila::service_instance::service_instance_user: {get_param: ManilaGenericServiceInstanceUser}
manila::service_instance::service_instance_password: {get_param: ManilaGenericServiceInstancePassword}
manila::service_instance::service_instance_flavor_id: {get_param: ManilaGenericServiceInstanceFlavorId}
manila::service_instance::service_network_cidr: {get_param: ManilaGenericServiceNetworkCidr}
manila::db::mysql::allowed_hosts:
- '%'
- "%{hiera('mysql_bind_host')}"

View File

@ -0,0 +1,57 @@
heat_template_version: 2016-04-08
description: >
Manila-scheduler service configured with Puppet
parameters:
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
NovaPassword:
type: string
description: The password for the nova service and db account, used by nova-api.
hidden: true
NeutronPassword:
description: The password for the neutron service and db account, used by neutron agents.
type: string
hidden: true
ManilaPassword:
description: The password for the manila service account.
type: string
hidden: true
resources:
ManilaBase:
type: ./manila-base.yaml
properties:
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Manila-scheduler role.
value:
service_name: manila_scheduler
config_settings:
map_merge:
- get_attr: [ManilaBase, role_data, config_settings]
- manila::compute::nova::nova_admin_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
manila::compute::nova::nova_admin_password: {get_param: NovaPassword}
manila::compute::nova::nova_admin_tenant_name: 'service'
manila::db::mysql::password: {get_param: ManilaPassword}
manila::network::neutron::neutron_url: {get_param: [EndpointMap, NeutronInternal, uri]}
manila::network::neutron::neutron_admin_auth_url: {get_param: [EndpointMap, NeutronAdmin, uri]}
manila::network::neutron::neutron_admin_password: {get_param: NeutronPassword}
manila::sql_connection:
list_join:
- ''
- - {get_param: [EndpointMap, MysqlInternal, protocol]}
- '://manila:'
- {get_param: ManilaPassword}
- '@'
- {get_param: [EndpointMap, MysqlInternal, host]}
- '/manila'
step_config: |
include ::tripleo::profile::base::manila::scheduler

View File

@ -0,0 +1,29 @@
heat_template_version: 2016-04-08
description: >
Manila-share service configured with Puppet
parameters:
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
resources:
ManilaBase:
type: ./manila-base.yaml
properties:
EndpointMap: {get_param: EndpointMap}
outputs:
role_data:
description: Role data for the Manila-share role.
value:
service_name: manila_share
config_settings:
map_merge:
- get_attr: [ManilaBase, role_data, config_settings]
- manila::volume::cinder::cinder_admin_tenant_name: 'service'
step_config: |
include ::tripleo::profile::base::manila::share

View File

@ -0,0 +1,27 @@
heat_template_version: 2016-04-08
description: >
The manila-share service with Pacemaker configured with Puppet
parameters:
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
resources:
ManilaShareBase:
type: ../manila-share.yaml
outputs:
role_data:
description: Role data for the manila-share pacemaker role.
value:
service_name: manila_share
config_settings:
map_merge:
- get_attr: [ManilaShareBase, role_data, config_settings]
step_config: |
include ::tripleo::profile::pacemaker::manila

View File

@ -23,6 +23,7 @@ resources:
glance_registry_vip: {get_input: glance_registry_vip}
sahara_api_vip: {get_input: sahara_api_vip}
swift_proxy_vip: {get_input: swift_proxy_vip}
manila_api_vip: {get_input: manila_api_vip}
nova_api_vip: {get_input: nova_api_vip}
nova_metadata_vip: {get_input: nova_metadata_vip}
ceilometer_api_vip: {get_input: ceilometer_api_vip}