diff options
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | block-storage-nfs.yaml | 69 | ||||
-rw-r--r-- | compute-config.yaml | 1 | ||||
-rw-r--r-- | compute.yaml | 3 | ||||
-rw-r--r-- | controller.yaml | 5 | ||||
-rw-r--r-- | nfs-server-source.yaml | 24 | ||||
-rw-r--r-- | nfs-source.yaml | 36 | ||||
-rw-r--r-- | nova-compute-config.yaml | 1 | ||||
-rw-r--r-- | nova-compute-instance.yaml | 3 | ||||
-rw-r--r-- | overcloud-source.yaml | 11 | ||||
-rw-r--r-- | overcloud-without-mergepy.yaml | 8 |
11 files changed, 49 insertions, 123 deletions
@@ -15,18 +15,13 @@ validate-all: $(VALIDATE) $(VALIDATE): heat template-validate -f $(subst validate-,,$@) -# set CONTROLEXTRA to overcloud-vlan-port.yaml to activate the VLAN -# auto-assignment from Neutron. +# You can define in CONTROLEXTRA one or more additional YAML files to further extend the template, some additions could be: +# - overcloud-vlan-port.yaml to activate the VLAN auto-assignment from Neutron +# - nfs-source.yaml to configure Cinder with NFS overcloud.yaml: overcloud-source.yaml block-storage.yaml swift-deploy.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml nova-compute-config.yaml $(overcloud_source_deps) python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE:-'0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'0'} overcloud-source.yaml block-storage.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml swift-deploy.yaml nova-compute-config.yaml ${CONTROLEXTRA} > $@.tmp mv $@.tmp $@ -overcloud-with-block-storage-nfs.yaml: overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml $(overcloud_source_deps) - # $^ won't work here because we want to list nova-compute-instance.yaml as - # a prerequisite but don't want to pass it into merge.py - python ./tripleo_heat_merge/merge.py --hot --scale NovaCompute=$${COMPUTESCALE:-'1'} --scale controller=$${CONTROLSCALE:-'1'} --scale SwiftStorage=$${SWIFTSTORAGESCALE:-'0'} --scale BlockStorage=$${BLOCKSTORAGESCALE:-'1'} overcloud-source.yaml block-storage-nfs.yaml nfs-server-source.yaml swift-source.yaml swift-storage-source.yaml ssl-source.yaml > $@.tmp - mv $@.tmp $@ - undercloud-vm.yaml: undercloud-source.yaml undercloud-vm-nova-config.yaml undercloud-vm-nova-deploy.yaml python ./tripleo_heat_merge/merge.py --hot $^ > $@.tmp mv $@.tmp $@ diff --git a/block-storage-nfs.yaml b/block-storage-nfs.yaml deleted file mode 100644 index b87ef4e5..00000000 --- a/block-storage-nfs.yaml +++ /dev/null @@ -1,69 +0,0 @@ -heat_template_version: 2013-05-23 -description: 'Common Block Storage Configuration' -parameters: - BlockStorageImage: - type: string - default: overcloud-cinder-volume - OvercloudBlockStorageFlavor: - description: Flavor for block storage nodes to request when deploying. - type: string - constraints: - - custom_constraint: nova.flavor -resources: - BlockStorageAccessPolicy: - type: OS::Heat::AccessPolicy - properties: - AllowedResources: - - BlockStorage0 - BlockStorageUser: - type: AWS::IAM::User - properties: - Policies: [ { get_resource: BlockStorageAccessPolicy } ] - BlockStorageKey: - type: AWS::IAM::AccessKey - properties: - UserName: - get_resource: BlockStorageUser - BlockStorage0CompletionCondition: - type: AWS::CloudFormation::WaitCondition - depends_on: controller0Config - properties: - Handle: {get_resource: BlockStorage0CompletionHandle} - Count: '1' - Timeout: '1800' - BlockStorage0CompletionHandle: - type: AWS::CloudFormation::WaitConditionHandle - BlockStorage0: - type: OS::Nova::Server - properties: - image: - {get_param: BlockStorageImage} - flavor: {get_param: OvercloudBlockStorageFlavor} - key_name: {get_param: KeyName} - metadata: - completion-handle: - get_resource: BlockStorage0CompletionHandle - os-collect-config: - cfn: - access_key_id: - get_resource: BlockStorageKey - secret_access_key: - get_attr: [ BlockStorageKey, SecretAccessKey ] - stack_name: {get_param: 'AWS::StackName'} - keystone: - host: {get_attr: [controller0, networks, ctlplane, 0]} - cinder: - db: {"Fn::Join": ['', ['mysql://cinder:unset@', {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} , '/cinder']]} - volume_size_mb: '5000' - service-password: - get_param: CinderPassword - include_nfs_backend: 'true' - nfs_shares: - - {"Fn::Join": ['', [{get_attr: [controller0, networks, ctlplane, 0]} , ':/mnt/state/var/lib/nfs_share']]} - admin-password: {get_param: AdminPassword} - rabbit: - host: {get_attr: [controller0, networks, ctlplane, 0]} - username: {get_param: RabbitUserName} - password: {get_param: RabbitPassword} - interfaces: - control: {get_param: NeutronPublicInterface} diff --git a/compute-config.yaml b/compute-config.yaml index 8cc73103..9698cc3b 100644 --- a/compute-config.yaml +++ b/compute-config.yaml @@ -24,7 +24,6 @@ resources: public_ip: {get_input: nova_public_ip} service-password: {get_input: nova_password} ceilometer: - db: {get_input: ceilometer_dsn} debug: {get_input: debug} metering_secret: {get_input: ceilometer_metering_secret} service-password: {get_input: ceilometer_password} diff --git a/compute.yaml b/compute.yaml index a7a7ab8c..66d4bef0 100644 --- a/compute.yaml +++ b/compute.yaml @@ -15,8 +15,6 @@ parameters: default: '' constraints: - allowed_values: ['', Present] - CeilometerDSN: - type: string CeilometerMeteringSecret: default: unset description: Secret shared by the ceilometer services. @@ -274,7 +272,6 @@ resources: nova_public_ip: {get_param: NovaPublicIP} nova_api_host: {get_param: NovaApiHost} nova_password: {get_param: NovaPassword} - ceilometer_dsn: {get_param: CeilometerDSN} ceilometer_metering_secret: {get_param: CeilometerMeteringSecret} ceilometer_password: {get_param: CeilometerPassword} ceilometer_compute_agent: {get_param: CeilometerComputeAgent} diff --git a/controller.yaml b/controller.yaml index 739b683c..581d966c 100644 --- a/controller.yaml +++ b/controller.yaml @@ -170,8 +170,9 @@ parameters: description: A unique identifier of the MySQL cluster the controller is in. type: string default: 'unset' # Has to be here because of the ignored empty value bug - constraints: - - length: {min: 4, max: 10} + # Drop the validation: https://bugs.launchpad.net/tripleo/+bug/1405446 + # constraints: + # - length: {min: 4, max: 10} MysqlInnodbBufferPoolSize: description: > Specifies the size of the buffer pool in megabytes. Setting to diff --git a/nfs-server-source.yaml b/nfs-server-source.yaml deleted file mode 100644 index 8e32e963..00000000 --- a/nfs-server-source.yaml +++ /dev/null @@ -1,24 +0,0 @@ -description: 'NFS server share configuration for testing' -resources: - controller0Config: - type: AWS::AutoScaling::LaunchConfiguration - metadata: - nfs_server: - shares: - Merge::Map: - NovaCompute0: - Fn::Join: - - ' ' - - - get_attr: - - NovaCompute0 - - networks - - ctlplane - - 0 - BlockStorage0: - Fn::Join: - - ' ' - - - get_attr: - - BlockStorage0 - - networks - - ctlplane - - 0 diff --git a/nfs-source.yaml b/nfs-source.yaml new file mode 100644 index 00000000..5d865ea7 --- /dev/null +++ b/nfs-source.yaml @@ -0,0 +1,36 @@ +resources: + controllerNfsServerConfig: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + nfs_server: + shares: + - name: cinder + clients: + - machine: 192.0.2.0/24 + options: rw,async,all_squash,anonuid=0,anongid=0 + controllerCinderNfsConfig: + type: OS::Heat::StructuredConfig + properties: + group: os-apply-config + config: + cinder: + include_nfs_backend: true + nfs_shares: + Fn::Join: + - ':' + - - {get_attr: [controller0, networks, ctlplane, 0]} + - /mnt/state/var/lib/nfs/cinder + controllerNfsServerDeployment: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: controllerNfsServerConfig} + server: {get_resource: controller0} + signal_transport: NO_SIGNAL + controller0CinderNfsDeployment: + type: OS::Heat::StructuredDeployment + properties: + config: {get_resource: controllerCinderNfsConfig} + server: {get_resource: controller0} + signal_transport: NO_SIGNAL diff --git a/nova-compute-config.yaml b/nova-compute-config.yaml index 2d8168c0..8129cfa1 100644 --- a/nova-compute-config.yaml +++ b/nova-compute-config.yaml @@ -12,7 +12,6 @@ resources: public_ip: {get_input: nova_public_ip} service-password: {get_input: nova_password} ceilometer: - db: {get_input: ceilometer_dsn} debug: {get_param: Debug} metering_secret: {get_input: ceilometer_metering_secret} service-password: {get_input: ceilometer_password} diff --git a/nova-compute-instance.yaml b/nova-compute-instance.yaml index 639d971e..70172cb2 100644 --- a/nova-compute-instance.yaml +++ b/nova-compute-instance.yaml @@ -15,8 +15,6 @@ parameters: default: '' constraints: - allowed_values: ['', Present] - CeilometerDSN: - type: string CeilometerMeteringSecret: default: unset description: Secret shared by the ceilometer services. @@ -210,7 +208,6 @@ resources: nova_public_ip: {get_param: NovaPublicIP} nova_api_host: {get_param: NovaApiHost} nova_password: {get_param: NovaPassword} - ceilometer_dsn: {get_param: CeilometerDSN} ceilometer_metering_secret: {get_param: CeilometerMeteringSecret} ceilometer_password: {get_param: CeilometerPassword} ceilometer_compute_agent: {get_param: CeilometerComputeAgent} diff --git a/overcloud-source.yaml b/overcloud-source.yaml index ee759ea7..a3d1e34f 100644 --- a/overcloud-source.yaml +++ b/overcloud-source.yaml @@ -116,6 +116,10 @@ parameters: description: The filepath of the file to use for logging messages from Glance. type: string default: '' + HorizonPort: + type: number + default: 80 + description: Horizon web server port. GlancePassword: default: unset description: The password for the glance service account, used by the glance services. @@ -419,12 +423,6 @@ resources: GlanceHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} RabbitHost: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} NovaPublicIP: {get_attr: [PublicVirtualIP, fixed_ips, 0, ip_address]} - CeilometerDSN: - Fn::Join: - - '' - - - mysql://ceilometer:unset@ - - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - - /ceilometer NeutronNetworkType: get_param: NeutronNetworkType NeutronTunnelTypes: @@ -571,6 +569,7 @@ resources: metadata_server_url: {get_input: heat.metadata_server_url} waitcondition_server_url: {get_input: heat.waitcondition_server_url} horizon: + port: {get_param: HorizonPort} caches: memcached: nodes: diff --git a/overcloud-without-mergepy.yaml b/overcloud-without-mergepy.yaml index 803a5016..f704abaa 100644 --- a/overcloud-without-mergepy.yaml +++ b/overcloud-without-mergepy.yaml @@ -509,6 +509,8 @@ resources: NeutronAgentMode: {get_param: NeutronAgentMode} NeutronMechanismDrivers: {get_param: NeutronMechanismDrivers} NeutronAllowL3AgentFailover: {get_param: NeutronAllowL3AgentFailover} + NeutronNetworkType: {get_param: NeutronNetworkType} + NeutronTunnelTypes: {get_param: NeutronTunnelTypes} NovaPassword: {get_param: NovaPassword} NtpServer: {get_param: NtpServer} PublicVirtualInterface: {get_param: PublicVirtualInterface} @@ -577,12 +579,6 @@ resources: RabbitUserName: {get_param: RabbitUserName} SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName} SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword} - CeilometerDSN: - list_join: - - '' - - - mysql://ceilometer:unset@ - - &compute_database_host {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} - - /ceilometer BlockStorage: type: OS::Heat::ResourceGroup |