X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=cinder-storage.yaml;h=9541ed1c9215f4b51f11068e2c79ab55526b65d2;hb=0625ac253e5c7d92dcfbc15c083f058dca7a6192;hp=b4168586ae2cf0cdbae8512bebf14dae98dbdff7;hpb=6f16c9638384ad2e2972b6b9cd2a3c6e72ef58bf;p=apex-tripleo-heat-templates.git diff --git a/cinder-storage.yaml b/cinder-storage.yaml index b4168586..9541ed1c 100644 --- a/cinder-storage.yaml +++ b/cinder-storage.yaml @@ -1,12 +1,13 @@ -heat_template_version: 2014-10-16 +heat_template_version: 2015-04-30 description: 'Common Block Storage Configuration' parameters: - AdminPassword: - default: '' - type: string Image: default: overcloud-cinder-volume type: string + CinderEnableIscsiBackend: + default: true + description: Whether to enable or not the Iscsi backend for Cinder + type: boolean CinderISCSIHelper: default: tgtadm description: The iSCSI helper to use with cinder. @@ -17,10 +18,10 @@ parameters: type: number CinderPassword: default: unset - description: The password for the cinder service account, used by cinder-api. - hidden: true + description: The password for the cinder service and db account, used by cinder-api. type: string - ControllerIP: + hidden: true + VirtualIP: default: '' type: string ExtraConfig: @@ -74,24 +75,22 @@ parameters: default: default description: Name of an existing EC2 KeyPair to enable SSH access to the instances type: string - NeutronEnableTunnelling: - default: "True" - type: string - NeutronNetworkType: - default: gre - type: string - NeutronPassword: - default: '' - type: string - NeutronPublicInterface: - default: eth0 - type: string RabbitPassword: - default: '' + default: 'guest' type: string RabbitUserName: - default: '' + default: 'guest' + 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 SnmpdReadonlyUserName: default: ro_snmp_user description: The user name for SNMPd with readonly rights running on all Overcloud nodes @@ -101,6 +100,12 @@ parameters: description: The user password for SNMPd with readonly rights running on all Overcloud nodes type: string hidden: true + UpdateIdentifier: + default: '' + type: string + description: > + Setting to a previously unused value during stack-update will trigger + package update on all nodes resources: BlockStorage: @@ -110,18 +115,50 @@ resources: {get_param: Image} flavor: {get_param: Flavor} key_name: {get_param: KeyName} - user_data_format: SOFTWARE_CONFIG networks: - network: ctlplane + user_data_format: SOFTWARE_CONFIG + user_data: {get_resource: NodeUserData} + + NodeUserData: + type: OS::TripleO::NodeUserData + + InternalApiPort: + type: OS::TripleO::BlockStorage::Ports::InternalApiPort + properties: + ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]} + + StoragePort: + type: OS::TripleO::BlockStorage::Ports::StoragePort + properties: + ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]} + + StorageMgmtPort: + type: OS::TripleO::BlockStorage::Ports::StorageMgmtPort + properties: + ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]} + + NetworkConfig: + type: OS::TripleO::BlockStorage::Net::SoftwareConfig + properties: + InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]} + StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]} + StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]} + + NetworkDeployment: + type: OS::TripleO::SoftwareDeployment + properties: + config: {get_resource: NetworkConfig} + server: {get_resource: BlockStorage} + BlockStorageDeployment: type: OS::Heat::StructuredDeployment properties: server: {get_resource: BlockStorage} config: {get_resource: BlockStorageConfig} input_values: - controller_host: {get_param: ControllerIP} - cinder_dsn: {list_join: ['', ['mysql://cinder:unset@', {get_param: ControllerIP} , '/cinder']]} - neutron_local_ip: {get_attr: [BlockStorage , networks, ctlplane, 0]} + controller_virtual_ip: {get_param: VirtualIP} + cinder_dsn: {list_join: ['', ['mysql://cinder:', {get_param: CinderPassword}, '@', {get_param: VirtualIP} , '/cinder']]} snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName} snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword} signal_transport: NO_SIGNAL @@ -130,15 +167,12 @@ resources: properties: group: os-apply-config config: - admin-password: {get_param: AdminPassword} keystone: - host: {get_input: controller_host} + host: {get_input: controller_virtual_ip} cinder: db: {get_input: cinder_dsn} volume_size_mb: get_param: CinderLVMLoopDeviceSize - service-password: - get_param: CinderPassword iscsi-helper: get_param: CinderISCSIHelper snmpd: @@ -146,51 +180,26 @@ resources: readonly_user_name: {get_input: snmpd_readonly_user_name} readonly_user_password: {get_input: snmpd_readonly_user_password} rabbit: - host: {get_input: controller_host} + host: {get_input: controller_virtual_ip} username: {get_param: RabbitUserName} password: {get_param: RabbitPassword} glance: - host: {get_input: controller_host} + host: {get_input: controller_virtual_ip} port: {get_param: GlancePort} - interfaces: - control: {get_param: NeutronPublicInterface} - neutron: - ovs: - local_ip: {get_input: neutron_local_ip} - tenant_network_type: {get_param: NeutronNetworkType} - enable_tunneling: {get_param: NeutronEnableTunnelling} - service-password: - get_param: NeutronPassword - config: - keystone: - host: {get_input: controller_host} - cinder: - db: {get_input: cinder_dsn} - volume_size_mb: - get_param: CinderLVMLoopDeviceSize - service-password: - get_param: CinderPassword - iscsi-helper: - get_param: CinderISCSIHelper - admin-password: {get_param: AdminPassword} - rabbit: - host: {get_input: controller_host} - username: {get_param: RabbitUserName} - password: {get_param: RabbitPassword} - interfaces: - control: {get_param: NeutronPublicInterface} - neutron: - ovs: - local_ip: { get_input: neutron_local_ip } - tenant_network_type: {get_param: NeutronNetworkType} - enable_tunneling: {get_param: NeutronEnableTunnelling} - service-password: - get_param: NeutronPassword outputs: hosts_entry: value: str_replace: - template: "IP HOST HOST.novalocal" + template: "IP HOST" params: IP: {get_attr: [BlockStorage, networks, ctlplane, 0]} HOST: {get_attr: [BlockStorage, name]} + internal_api_ip_address: + description: IP address of the server in the internal_api network + value: {get_attr: [InternalApiPort, ip_address]} + storage_ip_address: + description: IP address of the server in the storage network + value: {get_attr: [StoragePort, ip_address]} + storage_mgmt_ip_address: + description: IP address of the server in the storage_mgmt network + value: {get_attr: [StorageMgmtPort, ip_address]}