Merge "Bump further the stop/start timeout for pcmk/systemd services"
authorJenkins <jenkins@review.openstack.org>
Mon, 16 Nov 2015 10:17:43 +0000 (10:17 +0000)
committerGerrit Code Review <review@openstack.org>
Mon, 16 Nov 2015 10:17:43 +0000 (10:17 +0000)
12 files changed:
extraconfig/tasks/yum_update.sh
network/endpoints/endpoint.yaml [new file with mode: 0644]
network/endpoints/endpoint_map.yaml [new file with mode: 0644]
os-apply-config/controller.yaml
overcloud-resource-registry-puppet.yaml
overcloud-resource-registry.yaml
overcloud-without-mergepy.yaml
puppet/cinder-storage.yaml
puppet/compute.yaml
puppet/controller.yaml
puppet/manifests/overcloud_controller.pp
puppet/manifests/overcloud_controller_pacemaker.pp

index 9125ca0..3ba13f2 100755 (executable)
@@ -43,6 +43,108 @@ fi
 pacemaker_status=$(systemctl is-active pacemaker)
 
 if [[ "$pacemaker_status" == "active" ]] ; then
+    echo "Checking for and adding missing constraints"
+
+    if ! pcs constraint order show | grep "start openstack-nova-novncproxy-clone then start openstack-nova-api-clone"; then
+        pcs constraint order start openstack-nova-novncproxy-clone then openstack-nova-api-clone
+    fi
+
+    if ! pcs constraint order show | grep "start rabbitmq-clone then start openstack-keystone-clone"; then
+        pcs constraint order start rabbitmq-clone then openstack-keystone-clone
+    fi
+
+    if ! pcs constraint order show | grep "promote galera-master then start openstack-keystone-clone"; then
+        pcs constraint order promote galera-master then openstack-keystone-clone
+    fi
+
+    if ! pcs constraint order show | grep "start haproxy-clone then start openstack-keystone-clone"; then
+        pcs constraint order start haproxy-clone then openstack-keystone-clone
+    fi
+
+    if ! pcs constraint order show | grep "start memcached-clone then start openstack-keystone-clone"; then
+        pcs constraint order start memcached-clone then openstack-keystone-clone
+    fi
+
+    if ! pcs constraint order show | grep "promote redis-master then start openstack-ceilometer-central-clone"; then
+        pcs constraint order promote redis-master then start openstack-ceilometer-central-clone require-all=false
+    fi
+
+    if ! pcs resource defaults | grep "resource-stickiness: INFINITY"; then
+        pcs resource defaults resource-stickiness=INFINITY
+    fi
+
+    echo "Setting resource start/stop timeouts"
+
+    # timeouts for non-openstack services and special cases
+    pcs resource update haproxy op start timeout=100s
+    pcs resource update haproxy op stop timeout=100s
+    # mongod start timeout is also higher, setting only stop timeout
+    pcs resource update mongod op stop timeout=100s
+    # rabbit start timeout is already 100s
+    pcs resource update rabbitmq op stop timeout=100s
+    pcs resource update memcached op start timeout=100s
+    pcs resource update memcached op stop timeout=100s
+    pcs resource update httpd op start timeout=100s
+    pcs resource update httpd op stop timeout=100s
+    # neutron-netns-cleanup stop timeout is 300s, setting only start timeout
+    pcs resource update neutron-netns-cleanup op start timeout=100s
+    # neutron-ovs-cleanup stop timeout is 300s, setting only start timeout
+    pcs resource update neutron-ovs-cleanup op start timeout=100s
+
+    # timeouts for openstack services
+    pcs resource update neutron-dhcp-agent op start timeout=100s
+    pcs resource update neutron-dhcp-agent op stop timeout=100s
+    pcs resource update neutron-l3-agent op start timeout=100s
+    pcs resource update neutron-l3-agent op stop timeout=100s
+    pcs resource update neutron-metadata-agent op start timeout=100s
+    pcs resource update neutron-metadata-agent op stop timeout=100s
+    pcs resource update neutron-openvswitch-agent op start timeout=100s
+    pcs resource update neutron-openvswitch-agent op stop timeout=100s
+    pcs resource update neutron-server op start timeout=100s
+    pcs resource update neutron-server op stop timeout=100s
+    pcs resource update openstack-ceilometer-alarm-evaluator op start timeout=100s
+    pcs resource update openstack-ceilometer-alarm-evaluator op stop timeout=100s
+    pcs resource update openstack-ceilometer-alarm-notifier op start timeout=100s
+    pcs resource update openstack-ceilometer-alarm-notifier op stop timeout=100s
+    pcs resource update openstack-ceilometer-api op start timeout=100s
+    pcs resource update openstack-ceilometer-api op stop timeout=100s
+    pcs resource update openstack-ceilometer-central op start timeout=100s
+    pcs resource update openstack-ceilometer-central op stop timeout=100s
+    pcs resource update openstack-ceilometer-collector op start timeout=100s
+    pcs resource update openstack-ceilometer-collector op stop timeout=100s
+    pcs resource update openstack-ceilometer-notification op start timeout=100s
+    pcs resource update openstack-ceilometer-notification op stop timeout=100s
+    pcs resource update openstack-cinder-api op start timeout=100s
+    pcs resource update openstack-cinder-api op stop timeout=100s
+    pcs resource update openstack-cinder-scheduler op start timeout=100s
+    pcs resource update openstack-cinder-scheduler op stop timeout=100s
+    pcs resource update openstack-cinder-volume op start timeout=100s
+    pcs resource update openstack-cinder-volume op stop timeout=100s
+    pcs resource update openstack-glance-api op start timeout=100s
+    pcs resource update openstack-glance-api op stop timeout=100s
+    pcs resource update openstack-glance-registry op start timeout=100s
+    pcs resource update openstack-glance-registry op stop timeout=100s
+    pcs resource update openstack-heat-api op start timeout=100s
+    pcs resource update openstack-heat-api op stop timeout=100s
+    pcs resource update openstack-heat-api-cfn op start timeout=100s
+    pcs resource update openstack-heat-api-cfn op stop timeout=100s
+    pcs resource update openstack-heat-api-cloudwatch op start timeout=100s
+    pcs resource update openstack-heat-api-cloudwatch op stop timeout=100s
+    pcs resource update openstack-heat-engine op start timeout=100s
+    pcs resource update openstack-heat-engine op stop timeout=100s
+    pcs resource update openstack-keystone op start timeout=100s
+    pcs resource update openstack-keystone op stop timeout=100s
+    pcs resource update openstack-nova-api op start timeout=100s
+    pcs resource update openstack-nova-api op stop timeout=100s
+    pcs resource update openstack-nova-conductor op start timeout=100s
+    pcs resource update openstack-nova-conductor op stop timeout=100s
+    pcs resource update openstack-nova-consoleauth op start timeout=100s
+    pcs resource update openstack-nova-consoleauth op stop timeout=100s
+    pcs resource update openstack-nova-novncproxy op start timeout=100s
+    pcs resource update openstack-nova-novncproxy op stop timeout=100s
+    pcs resource update openstack-nova-scheduler op start timeout=100s
+    pcs resource update openstack-nova-scheduler op stop timeout=100s
+
     echo "Pacemaker running, stopping cluster node and doing full package update"
     node_count=$(pcs status xml | grep -o "<nodes_configured.*/>" | grep -o 'number="[0-9]*"' | grep -o "[0-9]*")
     if [[ "$node_count" == "1" ]] ; then
diff --git a/network/endpoints/endpoint.yaml b/network/endpoints/endpoint.yaml
new file mode 100644 (file)
index 0000000..8ffd6c4
--- /dev/null
@@ -0,0 +1,55 @@
+heat_template_version: 2015-04-30
+
+description: >
+  OpenStack Endpoint
+
+parameters:
+  EndpointName:
+    type: string
+    description: The name of the Endpoint being evaluated
+  EndpointMap:
+    type: json
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+  IP:
+    type: string
+    description: The IP address of the Neutron Port that the endpoint is attached to
+  UriSuffix:
+    type: string
+    default: ''
+    description: A suffix attached to the URL
+
+outputs:
+  endpoint:
+    description: >
+      A Hash containing a mapping of service endpoints to ports, protocols, uris
+      assigned IPs, and hostnames for a specific endpoint
+    value:
+      port: {get_param: [EndpointMap, {get_param: EndpointName }, port] }
+      protocol: {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
+      host:
+        str_replace:
+          template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
+          params: {IP_ADDRESS: {get_param: IP} }
+      uri:
+        list_join:
+          - ''
+          - - {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
+            - '://'
+            - str_replace:
+                template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
+                params: {IP_ADDRESS: {get_param: IP} }
+            - ':'
+            - {get_param: [EndpointMap, {get_param: EndpointName }, port] }
+            - {get_param: UriSuffix }
+      uri_no_suffix:
+        list_join:
+          - ''
+          - - {get_param: [EndpointMap, {get_param: EndpointName }, protocol] }
+            - '://'
+            - str_replace:
+                template: {get_param: [EndpointMap, {get_param: EndpointName }, host]}
+                params: {IP_ADDRESS: {get_param: IP} }
+            - ':'
+            - {get_param: [EndpointMap, {get_param: EndpointName }, port] }
diff --git a/network/endpoints/endpoint_map.yaml b/network/endpoints/endpoint_map.yaml
new file mode 100644 (file)
index 0000000..9c000c3
--- /dev/null
@@ -0,0 +1,374 @@
+heat_template_version: 2015-04-30
+
+description: >
+  A Map of OpenStack Endpoints
+
+parameters:
+  CeilometerApiVirtualIP:
+    type: string
+    default: ''
+  CinderApiVirtualIP:
+    type: string
+    default: ''
+  GlanceApiVirtualIP:
+    type: string
+    default: ''
+  GlanceRegistryVirtualIP:
+    type: string
+    default: ''
+  HeatApiVirtualIP:
+    type: string
+    default: ''
+  KeystoneAdminApiVirtualIP:
+    type: string
+    default: ''
+  KeystonePublicApiVirtualIP:
+    type: string
+    default: ''
+  MysqlVirtualIP:
+    type: string
+    default: ''
+  NeutronApiVirtualIP:
+    type: string
+    default: ''
+  NovaApiVirtualIP:
+    type: string
+    default: ''
+  PublicVirtualIP:
+    type: string
+    default: ''
+  SwiftProxyVirtualIP:
+    type: string
+    default: ''
+  EndpointMap:
+    type: json
+    default:
+      CeilometerAdmin: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
+      CeilometerInternal: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
+      CeilometerPublic: {protocol: 'http', port: '8777', host: 'IP_ADDRESS'}
+      CinderAdmin: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
+      CinderInternal: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
+      CinderPublic: {protocol: 'http', port: '8776', host: 'IP_ADDRESS'}
+      GlanceAdmin: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
+      GlanceInternal: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
+      GlancePublic: {protocol: 'http', port: '9292', host: 'IP_ADDRESS'}
+      HeatAdmin: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
+      HeatInternal: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
+      HeatPublic: {protocol: 'http', port: '8004', host: 'IP_ADDRESS'}
+      KeystoneAdmin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
+      KeystoneInternal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
+      KeystonePublic: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
+      NeutronAdmin: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
+      NeutronInternal: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
+      NeutronPublic: {protocol: 'http', port: '9696', host: 'IP_ADDRESS'}
+      NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
+      NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
+      NovaPublic: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
+      NovaEC2Admin: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
+      NovaEC2Internal: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
+      NovaEC2Public: {protocol: 'http', port: '8773', host: 'IP_ADDRESS'}
+      SwiftAdmin: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
+      SwiftInternal: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
+      SwiftPublic: {protocol: 'http', port: '8080', host: 'IP_ADDRESS'}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+
+resources:
+
+  CeilometerInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CeilometerInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: CeilometerApiVirtualIP}
+  CeilometerPublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CeilometerPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+  CeilometerAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CeilometerAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: CeilometerApiVirtualIP}
+
+  CinderInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CinderInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: CinderApiVirtualIP}
+      UriSuffix: '/v1/%(tenant_id)s'
+  CinderPublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CinderPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v1/%(tenant_id)s'
+  CinderAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CinderAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: CinderApiVirtualIP}
+      UriSuffix: '/v1/%(tenant_id)s'
+
+  CinderV2Internal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CinderInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: CinderApiVirtualIP}
+      UriSuffix: '/v2/%(tenant_id)s'
+  CinderV2Public:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CinderPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v2/%(tenant_id)s'
+  CinderV2Admin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: CinderAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: CinderApiVirtualIP}
+      UriSuffix: '/v2/%(tenant_id)s'
+
+  GlanceInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: GlanceInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: GlanceApiVirtualIP}
+  GlancePublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: GlancePublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+  GlanceAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: GlanceAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: GlanceApiVirtualIP}
+
+  HeatInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: HeatInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: HeatApiVirtualIP}
+      UriSuffix: '/v1/%(tenant_id)s'
+  HeatPublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: HeatPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v1/%(tenant_id)s'
+  HeatAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: HeatAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: HeatApiVirtualIP}
+      UriSuffix: '/v1/%(tenant_id)s'
+
+  KeystoneInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystoneInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: KeystonePublicApiVirtualIP}
+      UriSuffix: '/v2.0'
+  KeystonePublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystonePublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v2.0'
+  KeystoneAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystoneAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: KeystoneAdminApiVirtualIP}
+      UriSuffix: '/v2.0'
+  KeystoneEC2:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystoneInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: KeystonePublicApiVirtualIP}
+      UriSuffix: '/v2.0/ec2tokens'
+
+  NeutronInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NeutronInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NeutronApiVirtualIP}
+  NeutronPublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NeutronPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+  NeutronAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NeutronAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NeutronApiVirtualIP}
+
+  NovaInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NovaApiVirtualIP}
+      UriSuffix: '/v2/%(tenant_id)s'
+  NovaPublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v2/%(tenant_id)s'
+  NovaAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NovaApiVirtualIP}
+      UriSuffix: '/v2/%(tenant_id)s'
+  NovaV3Internal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NovaApiVirtualIP}
+      UriSuffix: '/v3'
+  NovaV3Public:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v3'
+  NovaV3Admin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NovaApiVirtualIP}
+      UriSuffix: '/v3'
+
+  NovaEC2Internal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaEC2Internal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NovaApiVirtualIP}
+      UriSuffix: '/services/Cloud'
+  NovaEC2Public:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaEC2Public
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/services/Cloud'
+  NovaEC2Admin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: NovaEC2Admin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: NovaApiVirtualIP}
+      UriSuffix: '/services/Admin'
+
+  SwiftInternal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: SwiftInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: SwiftProxyVirtualIP}
+      UriSuffix: '/v1/AUTH_%(tenant_id)s'
+  SwiftPublic:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: SwiftPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      UriSuffix: '/v1/AUTH_%(tenant_id)s'
+  SwiftAdmin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: SwiftAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: SwiftProxyVirtualIP}
+      # No Suffix for the Admin interface
+  SwiftS3Internal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: SwiftInternal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: SwiftProxyVirtualIP}
+  SwiftS3Public:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: SwiftPublic
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+  SwiftS3Admin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: SwiftAdmin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: SwiftProxyVirtualIP}
+
+outputs:
+  endpoint_map:
+    value:
+      CeilometerInternal: {get_attr: [ CeilometerInternal, endpoint] }
+      CeilometerPublic: {get_attr: [ CeilometerPublic, endpoint] }
+      CeilometerAdmin: {get_attr: [ CeilometerAdmin, endpoint] }
+      CinderInternal: {get_attr: [ CinderInternal, endpoint] }
+      CinderPublic: {get_attr: [ CinderPublic, endpoint] }
+      CinderAdmin: {get_attr: [ CinderAdmin, endpoint] }
+      CinderV2Internal: {get_attr: [ CinderV2Internal, endpoint] }
+      CinderV2Public: {get_attr: [ CinderV2Public, endpoint] }
+      CinderV2Admin: {get_attr: [ CinderV2Admin, endpoint] }
+      GlanceInternal: {get_attr: [ GlanceInternal, endpoint] }
+      GlancePublic: {get_attr: [ GlancePublic, endpoint] }
+      GlanceAdmin: {get_attr: [ GlanceAdmin, endpoint] }
+      HeatInternal: {get_attr: [ HeatInternal, endpoint] }
+      HeatPublic: {get_attr: [ HeatPublic, endpoint] }
+      HeatAdmin: {get_attr: [ HeatAdmin, endpoint] }
+      KeystoneInternal: {get_attr: [ KeystoneInternal, endpoint] }
+      KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
+      KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
+      KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
+      NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
+      NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
+      NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
+      NovaInternal: {get_attr: [ NovaInternal, endpoint] }
+      NovaPublic: {get_attr: [ NovaPublic, endpoint] }
+      NovaAdmin: {get_attr: [ NovaAdmin, endpoint] }
+      NovaV3Internal: {get_attr: [ NovaV3Internal, endpoint] }
+      NovaV3Public: {get_attr: [ NovaV3Public, endpoint] }
+      NovaV3Admin: {get_attr: [ NovaV3Admin, endpoint] }
+      NovaEC2Internal: {get_attr: [ NovaEC2Internal, endpoint] }
+      NovaEC2Public: {get_attr: [ NovaEC2Public, endpoint] }
+      NovaEC2Admin: {get_attr: [ NovaEC2Admin, endpoint] }
+      SwiftInternal: {get_attr: [ SwiftInternal, endpoint] }
+      SwiftPublic: {get_attr: [ SwiftPublic, endpoint] }
+      SwiftAdmin: {get_attr: [ SwiftAdmin, endpoint] }
+      SwiftS3Internal: {get_attr: [ SwiftS3Internal, endpoint] }
+      SwiftS3Public: {get_attr: [ SwiftS3Public, endpoint] }
+      SwiftS3Admin: {get_attr: [ SwiftS3Admin, endpoint] }
index f289d9b..09ea49b 100644 (file)
@@ -673,6 +673,7 @@ resources:
           debug: {get_input: debug}
           host: {get_input: controller_virtual_ip}
           port: {get_input: glance_port}
+          uri: {get_input: glance_uri}
           protocol: {get_input: glance_protocol}
           service-password: {get_input: glance_password}
           swift-store-user: service:glance
index 7e65d4b..4cfed6b 100644 (file)
@@ -89,6 +89,10 @@ resource_registry:
   # Port assignments for service virtual IPs for the controller role
   OS::TripleO::Controller::Ports::RedisVipPort: network/ports/ctlplane_vip.yaml
 
+  # Service Endpoint Mappings
+  OS::TripleO::Endpoint: network/endpoints/endpoint.yaml
+  OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml
+
   # validation resources
   OS::TripleO::AllNodes::Validation: all-nodes-validation.yaml
 
index d6eb97f..ed02551 100644 (file)
@@ -72,5 +72,9 @@ resource_registry:
   # Port assignments for service virtual IPs for the controller role
   OS::TripleO::Controller::Ports::RedisVipPort: network/ports/noop.yaml
 
+  # Service Endpoint Mappings
+  OS::TripleO::Endpoint: network/endpoints/endpoint.yaml
+  OS::TripleO::EndpointMap: network/endpoints/endpoint_map.yaml
+
   # validation resources
   OS::TripleO::AllNodes::Validation: os-apply-config/all-nodes-validation.yaml
index 714bf9f..50589b7 100644 (file)
@@ -79,14 +79,6 @@ parameters:
     default: ''
     description: Set to True to enable debugging on all services.
     type: string
-  GlancePort:
-    default: "9292"
-    description: Glance port.
-    type: string
-  GlanceProtocol:
-    default: http
-    description: Protocol to use when connecting to glance, set to https for SSL.
-    type: string
   HAProxySyslogAddress:
     default: /dev/log
     description: Syslog address where HAproxy will send its log
@@ -709,6 +701,12 @@ parameters:
     description: >
       Setting to a previously unused value during stack-update will trigger
       package update on all nodes
+  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.
 
   # If you want to remove a specific node from a resource group, you can pass
   # the node name or id as a <Group>RemovalPolicies parameter, for example:
@@ -760,6 +758,22 @@ resources:
     properties:
       length: 10
 
+  EndpointMap:
+    type: OS::TripleO::EndpointMap
+    properties:
+      CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
+      CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
+      GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
+      GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
+      HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
+      KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
+      KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
+      MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
+      NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
+      NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
+      SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
+      PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
+
   Controller:
     type: OS::Heat::ResourceGroup
     depends_on: Networks
@@ -793,8 +807,6 @@ resources:
           ExtraConfig: {get_param: ExtraConfig}
           FencingConfig: {get_param: FencingConfig}
           Flavor: {get_param: OvercloudControlFlavor}
-          GlancePort: {get_param: GlancePort}
-          GlanceProtocol: {get_param: GlanceProtocol}
           GlancePassword: {get_param: GlancePassword}
           GlanceBackend: {get_param: GlanceBackend}
           GlanceNotifierStrategy: {get_param: GlanceNotifierStrategy}
@@ -868,6 +880,7 @@ resources:
           VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]} # deprecated. Use per service VIP settings instead now.
           PublicVirtualIP: {get_attr: [PublicVirtualIP, ip_address]}
           ServiceNetMap: {get_param: ServiceNetMap}
+          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
           CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
           HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
@@ -905,8 +918,6 @@ resources:
           ExtraConfig: {get_param: ExtraConfig}
           Flavor: {get_param: OvercloudComputeFlavor}
           GlanceHost: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
-          GlancePort: {get_param: GlancePort}
-          GlanceProtocol: {get_param: GlanceProtocol}
           Image: {get_param: NovaImage}
           ImageUpdatePolicy: {get_param: ImageUpdatePolicy}
           KeyName: {get_param: KeyName}
@@ -949,6 +960,7 @@ resources:
           SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
           SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
           ServiceNetMap: {get_param: ServiceNetMap}
+          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           UpdateIdentifier: {get_param: UpdateIdentifier}
           Hostname:
             str_replace:
@@ -975,8 +987,6 @@ resources:
           KeyName: {get_param: KeyName}
           Flavor: {get_param: OvercloudBlockStorageFlavor}
           VirtualIP: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
-          GlancePort: {get_param: GlancePort}
-          GlanceProtocol: {get_param: GlanceProtocol}
           GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
           RabbitPassword: {get_param: RabbitPassword}
           RabbitUserName: {get_param: RabbitUserName}
@@ -990,6 +1000,7 @@ resources:
               params:
                 '%stackname%': {get_param: 'OS::stack_name'}
           ServiceNetMap: {get_param: ServiceNetMap}
+          EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
           MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
           ExtraConfig: {get_param: ExtraConfig}
           BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
@@ -1375,6 +1386,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         controller_config: {get_attr: [Controller, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   ComputeNodesPostDeployment:
     type: OS::TripleO::ComputePostDeployment
@@ -1384,6 +1396,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         compute_config: {get_attr: [Compute, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   ObjectStorageNodesPostDeployment:
     type: OS::TripleO::ObjectStoragePostDeployment
@@ -1393,6 +1406,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         objectstorage_config: {get_attr: [ObjectStorage, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   BlockStorageNodesPostDeployment:
     type: OS::TripleO::BlockStoragePostDeployment
@@ -1402,6 +1416,7 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         blockstorage_config: {get_attr: [BlockStorage, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
   CephStorageNodesPostDeployment:
     type: OS::TripleO::CephStoragePostDeployment
@@ -1411,16 +1426,12 @@ resources:
       NodeConfigIdentifiers:
         allnodes_extra: {get_attr: [AllNodesExtraConfig, config_identifier]}
         cephstorage_config: {get_attr: [CephStorage, attributes, config_identifier]}
+        deployment_identifier: {get_param: DeployIdentifier}
 
 outputs:
   KeystoneURL:
     description: URL for the Overcloud Keystone service
-    value:
-      list_join:
-      - ''
-      - - http://
-        - {get_attr: [PublicVirtualIP, ip_address]}
-        - :5000/v2.0/
+    value: {get_attr: [EndpointMap, endpoint_map, KeystonePublic, uri]}
   KeystoneAdminVip:
     description: Keystone Admin VIP endpoint
     value: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
index 239c202..b536418 100644 (file)
@@ -44,14 +44,6 @@ parameters:
     type: string
     constraints:
       - custom_constraint: nova.flavor
-  GlancePort:
-    default: "9292"
-    description: Glance port.
-    type: string
-  GlanceProtocol:
-    default: http
-    description: Protocol to use when connecting to glance, set to https for SSL.
-    type: string
   KeyName:
     default: default
     description: Name of an existing EC2 KeyPair to enable SSH access to the instances
@@ -104,6 +96,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
   GlanceApiVirtualIP:
     type: string
     default: ''
@@ -201,14 +198,7 @@ resources:
         cinder_enable_iscsi_backend: {get_param: CinderEnableIscsiBackend}
         cinder_iscsi_helper: {get_param: CinderISCSIHelper}
         cinder_iscsi_ip_address: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderIscsiNetwork]}]}
-        glance_api_servers:
-          list_join:
-            - ''
-            - - {get_param: GlanceProtocol}
-              - '://'
-              - {get_param: GlanceApiVirtualIP}
-              - ':'
-              - {get_param: GlancePort}
+        glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
         rabbit_username: {get_param: RabbitUserName}
         rabbit_password: {get_param: RabbitPassword}
         rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
index 07638fb..1854773 100644 (file)
@@ -51,14 +51,6 @@ parameters:
   GlanceHost:
     type: string
     default: ''  # Has to be here because of the ignored empty value bug
-  GlancePort:
-    default: "9292"
-    description: Glance port.
-    type: string
-  GlanceProtocol:
-    default: http
-    description: Protocol to use when connecting to glance, set to https for SSL.
-    type: string
   Image:
     type: string
     default: overcloud-compute
@@ -262,6 +254,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
@@ -407,7 +404,7 @@ resources:
                 nova::glance_api_servers: {get_input: glance_api_servers}
                 neutron::debug: {get_input: debug}
                 neutron::rabbit_password: {get_input: rabbit_password}
-                neutron::rabbit_user: {get_input: rabbit_user}
+                neutron::rabbit_user: {get_input: rabbit_username}
                 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
                 neutron::rabbit_port: {get_input: rabbit_client_port}
                 neutron_flat_networks: {get_input: neutron_flat_networks}
@@ -424,7 +421,7 @@ resources:
                 neutron_physical_bridge: {get_input: neutron_physical_bridge}
                 neutron_public_interface: {get_input: neutron_public_interface}
                 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
-                nova::network::neutron::neutron_url: {get_input: neutron_url}
+                nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
                 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
                 neutron_router_distributed: {get_input: neutron_router_distributed}
                 neutron_agent_mode: {get_input: neutron_agent_mode}
@@ -459,22 +456,10 @@ resources:
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
         ceilometer_compute_agent: {get_param: CeilometerComputeAgent}
-        ceilometer_agent_auth_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystonePublicApiVirtualIP}
-              - ':5000/v2.0'
+        ceilometer_agent_auth_url: {get_param: [EndpointMap, KeystoneInternal, uri]}
         snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
         snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
-        glance_api_servers:
-          list_join:
-            - ''
-            - - {get_param: GlanceProtocol}
-              - '://'
-              - {get_param: GlanceHost}
-              - ':'
-              - {get_param: GlancePort}
+        glance_api_servers: {get_param: [EndpointMap, GlanceInternal, uri]}
         neutron_flat_networks: {get_param: NeutronFlatNetworks}
         neutron_host: {get_param: NeutronHost}
         neutron_local_ip: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, NeutronTenantNetwork]}]}
@@ -531,18 +516,8 @@ resources:
                 - {get_param: NeutronTypeDrivers}
         neutron_mechanism_drivers: {get_param: NeutronMechanismDrivers}
         neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
-        neutron_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: NeutronHost}
-              - ':9696'
-        neutron_admin_auth_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystoneAdminApiVirtualIP}
-              - ':35357/v2.0'
+        neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
+        neutron_admin_auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri]}
         admin_password: {get_param: AdminPassword}
         rabbit_username: {get_param: RabbitUserName}
         rabbit_password: {get_param: RabbitPassword}
index af673d7..ae2b66e 100644 (file)
@@ -170,14 +170,6 @@ parameters:
     description: The password for the glance service and db account, used by the glance services.
     type: string
     hidden: true
-  GlancePort:
-    default: "9292"
-    description: Glance port.
-    type: string
-  GlanceProtocol:
-    default: http
-    description: Protocol to use when connecting to glance, set to https for SSL.
-    type: string
   GlanceBackend:
     default: swift
     description: The short name of the Glance backend to use. Should be one
@@ -591,6 +583,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
@@ -760,7 +757,7 @@ resources:
               - '@'
               - {get_param: MysqlVirtualIP}
               - '/cinder'
-        glance_port: {get_param: GlancePort}
+        glance_port: {get_param: [EndpointMap, GlanceInternal, port]}
         glance_password: {get_param: GlancePassword}
         glance_backend: {get_param: GlanceBackend}
         glance_file_pcmk_device: {get_param: GlanceFilePcmkDevice}
@@ -787,7 +784,6 @@ resources:
               - '@'
               - {get_param: MysqlVirtualIP}
               - '/heat'
-        keystone_auth_address: {list_join: ['', ['http://', {get_param: KeystonePublicApiVirtualIP} , ':5000/v2.0']]}
         keystone_ca_certificate: {get_param: KeystoneCACertificate}
         keystone_signing_key: {get_param: KeystoneSigningKey}
         keystone_signing_certificate: {get_param: KeystoneSigningCertificate}
@@ -803,36 +799,11 @@ resources:
               - '@'
               - {get_param: MysqlVirtualIP}
               - '/keystone'
-        keystone_identity_uri:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystoneAdminApiVirtualIP}
-              - ':35357'
-        keystone_auth_uri:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystonePublicApiVirtualIP}
-              - ':5000/v2.0/'
-        keystone_public_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: PublicVirtualIP}
-              - ':5000'
-        keystone_internal_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystonePublicApiVirtualIP}
-              - ':5000'
-        keystone_ec2_uri:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystonePublicApiVirtualIP}
-              - ':5000/v2.0/ec2tokens'
+        keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
+        keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
+        keystone_public_url: { get_param: [EndpointMap, KeystonePublic, uri_no_suffix] }
+        keystone_internal_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
+        keystone_ec2_uri: { get_param: [EndpointMap, KeystoneEC2, uri] }
         enable_fencing: {get_param: EnableFencing}
         enable_galera: {get_param: EnableGalera}
         enable_ceph_storage: {get_param: EnableCephStorage}
@@ -912,18 +883,10 @@ resources:
               - '@'
               - {get_param: MysqlVirtualIP}
               - '/ovs_neutron?charset=utf8'
-        neutron_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: NeutronApiVirtualIP}
-              - ':9696'
-        neutron_admin_auth_url:
-          list_join:
-            - ''
-            - - 'http://'
-              - {get_param: KeystoneAdminApiVirtualIP}
-              - ':35357/v2.0'
+        neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
+        neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
+        neutron_admin_url: { get_param: [ EndpointMap, NeutronAdmin, uri ] }
+        neutron_admin_auth_url: { get_param: [ EndpointMap, KeystoneAdmin, uri ] }
         ceilometer_backend: {get_param: CeilometerBackend}
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}
         ceilometer_password: {get_param: CeilometerPassword}
@@ -985,14 +948,7 @@ resources:
         cinder_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
         glance_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
         glance_registry_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
-        glance_api_servers:
-          list_join:
-            - ''
-            - - {get_param: GlanceProtocol}
-              - '://'
-              - {get_param: GlanceApiVirtualIP}
-              - ':'
-              - {get_param: GlancePort}
+        glance_api_servers: { get_param: [EndpointMap, GlanceInternal, uri]}
         glance_registry_host: {get_param: GlanceRegistryVirtualIP}
         heat_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
         keystone_public_api_network: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
@@ -1126,7 +1082,7 @@ resources:
                 glance::registry::auth_uri: {get_input: keystone_auth_uri}
                 glance::registry::identity_uri: {get_input: keystone_identity_uri}
                 glance::registry::debug: {get_input: debug}
-                glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_address}
+                glance::backend::swift::swift_store_auth_address: {get_input: keystone_auth_uri}
                 glance::backend::swift::swift_store_user: service:glance
                 glance::backend::swift::swift_store_key: {get_input: glance_password}
                 glance_backend: {get_input: glance_backend}
@@ -1199,7 +1155,7 @@ resources:
                 # Neutron
                 neutron::bind_host: {get_input: neutron_api_network}
                 neutron::rabbit_password: {get_input: rabbit_password}
-                neutron::rabbit_user: {get_input: rabbit_user}
+                neutron::rabbit_user: {get_input: rabbit_username}
                 neutron::rabbit_use_ssl: {get_input: rabbit_client_use_ssl}
                 neutron::rabbit_port: {get_input: rabbit_client_port}
                 neutron::debug: {get_input: debug}
@@ -1252,7 +1208,7 @@ resources:
                 ceilometer::api::keystone_auth_uri: {get_input: keystone_auth_uri}
                 ceilometer::api::keystone_identity_uri: {get_input: keystone_identity_uri}
                 ceilometer::agent::auth::auth_password: {get_input: ceilometer_password}
-                ceilometer::agent::auth::auth_url: {get_input: keystone_auth_address}
+                ceilometer::agent::auth::auth_url: {get_input: keystone_auth_uri}
                 ceilometer::agent::central::coordination_url: {get_input: ceilometer_coordination_url}
                 ceilometer::db::mysql::password: {get_input: ceilometer_password}
                 snmpd_readonly_user_name: {get_input: snmpd_readonly_user_name}
@@ -1273,7 +1229,7 @@ resources:
                 nova::glance_api_servers: {get_input: glance_api_servers}
                 nova::api::neutron_metadata_proxy_shared_secret: {get_input: neutron_metadata_proxy_shared_secret}
                 nova::network::neutron::neutron_admin_password: {get_input: neutron_password}
-                nova::network::neutron::neutron_url: {get_input: neutron_url}
+                nova::network::neutron::neutron_url: {get_input: neutron_internal_url}
                 nova::network::neutron::neutron_admin_auth_url: {get_input: neutron_admin_auth_url}
                 nova::vncproxy::host: {get_input: nova_api_network}
                 nova::db::mysql::password: {get_input: nova_password}
@@ -1290,6 +1246,8 @@ resources:
                 rabbitmq::node_ip_address: {get_input: rabbitmq_network}
                 rabbitmq::erlang_cookie: {get_input: rabbit_cookie}
                 rabbitmq::file_limit: {get_input: rabbit_fd_limit}
+                rabbitmq::default_user: {get_input: rabbit_username}
+                rabbitmq::default_pass: {get_input: rabbit_password}
                 # Redis
                 redis::bind: {get_input: redis_network}
                 redis_vip: {get_input: redis_vip}
index f1c24f0..34be39f 100644 (file)
@@ -381,7 +381,7 @@ if hiera('step') >= 3 {
     package {'nfs-utils': } ->
     cinder::backend::nfs { $cinder_nfs_backend :
       nfs_servers       => hiera('cinder_nfs_servers'),
-      nfs_mount_options => hiera('cinder_nfs_mount_options'),
+      nfs_mount_options => hiera('cinder_nfs_mount_options',''),
       nfs_shares_config => '/etc/cinder/shares-nfs.conf',
     }
   }
index 5b02cea..b962371 100644 (file)
@@ -757,7 +757,7 @@ if hiera('step') >= 3 {
     package { 'nfs-utils': } ->
     cinder::backend::nfs { $cinder_nfs_backend:
       nfs_servers       => hiera('cinder_nfs_servers'),
-      nfs_mount_options => hiera('cinder_nfs_mount_options'),
+      nfs_mount_options => hiera('cinder_nfs_mount_options',''),
       nfs_shares_config => '/etc/cinder/shares-nfs.conf',
     }
   }