Nova Neutron configuration now uses keystone v3 endpoint
authorDavid Moreau Simard <dms@redhat.com>
Thu, 11 Feb 2016 16:55:54 +0000 (11:55 -0500)
committerJohn Trowbridge <trown@redhat.com>
Tue, 23 Feb 2016 13:26:27 +0000 (08:26 -0500)
Our current nova-neutron configuration does not work with
the latest puppet-nova. In particular, this patch[1].

This commit adds keystone v3 endpoints to the map and gets the
nova::network::neutron configuration to use them.

[1] https://github.com/openstack/puppet-nova/commit/d09868a59c451932d67c66101b725182d7066a14

Change-Id: Ifb8c23c81c665c2732fa5cd757760668b06a449a

network/endpoints/endpoint_map.yaml
puppet/compute.yaml
puppet/controller.yaml

index 096ee55..54ec7e3 100644 (file)
@@ -65,6 +65,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'}
+      KeystoneV3Admin: {protocol: 'http', port: '35357', host: 'IP_ADDRESS'}
+      KeystoneV3Internal: {protocol: 'http', port: '5000', host: 'IP_ADDRESS'}
+      KeystoneV3Public: {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'}
@@ -267,6 +270,32 @@ resources:
       IP: {get_param: KeystonePublicApiVirtualIP}
       CloudName: {get_param: CloudName}
       UriSuffix: '/v2.0/ec2tokens'
+  # TODO(ayoung): V3 is a temporary fix. Endpoints should be versionless.
+  # Required for https://bugs.launchpad.net/puppet-nova/+bug/1542486
+  KeystoneV3Internal:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystoneV3Internal
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: KeystonePublicApiVirtualIP}
+      CloudName: {get_param: CloudName}
+      UriSuffix: '/v3'
+  KeystoneV3Public:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystoneV3Public
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: PublicVirtualIP}
+      CloudName: {get_param: CloudName}
+      UriSuffix: '/v3'
+  KeystoneV3Admin:
+    type: OS::TripleO::Endpoint
+    properties:
+      EndpointName: KeystoneV3Admin
+      EndpointMap: { get_param: EndpointMap }
+      IP: {get_param: KeystoneAdminApiVirtualIP}
+      CloudName: {get_param: CloudName}
+      UriSuffix: '/v3'
 
   NeutronInternal:
     type: OS::TripleO::Endpoint
@@ -461,6 +490,9 @@ outputs:
       KeystonePublic: {get_attr: [ KeystonePublic, endpoint] }
       KeystoneAdmin: {get_attr: [ KeystoneAdmin, endpoint] }
       KeystoneEC2: {get_attr: [ KeystoneEC2, endpoint] }
+      KeystoneV3Internal: {get_attr: [ KeystoneV3Internal, endpoint] }
+      KeystoneV3Public: {get_attr: [ KeystoneV3Public, endpoint] }
+      KeystoneV3Admin: {get_attr: [ KeystoneV3Admin, endpoint] }
       NeutronInternal: {get_attr: [ NeutronInternal, endpoint] }
       NeutronPublic: {get_attr: [ NeutronPublic, endpoint] }
       NeutronAdmin: {get_attr: [ NeutronAdmin, endpoint] }
index 360eb58..d30e9a0 100644 (file)
@@ -624,7 +624,7 @@ resources:
               AGENT_EXTENSIONS: {get_param: NeutronAgentExtensions}
         neutron_public_interface_raw_device: {get_param: NeutronPublicInterfaceRawDevice}
         neutron_internal_url: {get_param: [EndpointMap, NeutronInternal, uri]}
-        neutron_auth_url: {get_param: [EndpointMap, KeystoneAdmin, uri]}
+        neutron_auth_url: {get_param: [EndpointMap, KeystoneV3Admin, uri]}
         keystone_vip: {get_param: KeystonePublicApiVirtualIP}
         admin_password: {get_param: AdminPassword}
         rabbit_username: {get_param: RabbitUserName}
index f2068d8..51c9b6c 100644 (file)
@@ -1083,7 +1083,7 @@ resources:
         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_auth_url: { get_param: [ EndpointMap, KeystoneAdmin, uri_no_suffix ] }
+        neutron_auth_url: { get_param: [ EndpointMap, KeystoneV3Admin, uri ] }
         nova_internal_url: { get_param: [ EndpointMap, NovaInternal, uri ] }
         ceilometer_backend: {get_param: CeilometerBackend}
         ceilometer_metering_secret: {get_param: CeilometerMeteringSecret}