Add support for cinder v3 endpoint
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>
Wed, 10 Aug 2016 10:17:58 +0000 (13:17 +0300)
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>
Wed, 10 Aug 2016 19:59:08 +0000 (19:59 +0000)
This adds the needed parts for the keystone endpoint of cinder v3
API.

Change-Id: Ic56446095e72b9e469a7b0e9ea5159fa31847381

network/endpoints/endpoint_data.yaml
network/endpoints/endpoint_map.yaml
puppet/services/cinder-api.yaml

index 363950d..b842121 100644 (file)
@@ -34,16 +34,19 @@ Cinder:
         uri_suffixes:
             '': /v1/%(tenant_id)s
             V2: /v2/%(tenant_id)s
+            V3: /v3/%(tenant_id)s
     Public:
         vip_param: Public
         uri_suffixes:
             '': /v1/%(tenant_id)s
             V2: /v2/%(tenant_id)s
+            V3: /v3/%(tenant_id)s
     Admin:
         vip_param: CinderApi
         uri_suffixes:
             '': /v1/%(tenant_id)s
             V2: /v2/%(tenant_id)s
+            V3: /v3/%(tenant_id)s
     port: 8776
 
 Glance:
index 98dad25..8d152af 100644 (file)
@@ -18,8 +18,8 @@ parameters:
   IronicApiVirtualIP: {type: string, default: ''}
   KeystoneAdminApiVirtualIP: {type: string, default: ''}
   KeystonePublicApiVirtualIP: {type: string, default: ''}
-  MysqlNoBracketsVirtualIP: {type: string, default: ''}
   ManilaApiVirtualIP: {type: string, default: ''}
+  MysqlNoBracketsVirtualIP: {type: string, default: ''}
   MysqlVirtualIP: {type: string, default: ''}
   NeutronApiVirtualIP: {type: string, default: ''}
   NovaApiVirtualIP: {type: string, default: ''}
@@ -548,6 +548,123 @@ outputs:
                   IP_ADDRESS: {get_param: PublicVirtualIP}
             - ':'
             - get_param: [EndpointMap, CinderPublic, port]
+      CinderV3Admin:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderAdmin, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+        port:
+          get_param: [EndpointMap, CinderAdmin, port]
+        protocol:
+          get_param: [EndpointMap, CinderAdmin, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderAdmin, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+            - ':'
+            - get_param: [EndpointMap, CinderAdmin, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderAdmin, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderAdmin, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+            - ':'
+            - get_param: [EndpointMap, CinderAdmin, port]
+      CinderV3Internal:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderInternal, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              IP_ADDRESS: {get_param: CinderApiVirtualIP}
+        port:
+          get_param: [EndpointMap, CinderInternal, port]
+        protocol:
+          get_param: [EndpointMap, CinderInternal, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderInternal, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+            - ':'
+            - get_param: [EndpointMap, CinderInternal, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderInternal, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderInternal, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS: {get_param: CinderApiVirtualIP}
+            - ':'
+            - get_param: [EndpointMap, CinderInternal, port]
+      CinderV3Public:
+        host:
+          str_replace:
+            template:
+              get_param: [EndpointMap, CinderPublic, host]
+            params:
+              CLOUDNAME: {get_param: CloudName}
+              IP_ADDRESS: {get_param: PublicVirtualIP}
+        port:
+          get_param: [EndpointMap, CinderPublic, port]
+        protocol:
+          get_param: [EndpointMap, CinderPublic, protocol]
+        uri:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderPublic, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS: {get_param: PublicVirtualIP}
+            - ':'
+            - get_param: [EndpointMap, CinderPublic, port]
+            - /v3/%(tenant_id)s
+        uri_no_suffix:
+          list_join:
+          - ''
+          - - get_param: [EndpointMap, CinderPublic, protocol]
+            - ://
+            - str_replace:
+                template:
+                  get_param: [EndpointMap, CinderPublic, host]
+                params:
+                  CLOUDNAME: {get_param: CloudName}
+                  IP_ADDRESS: {get_param: PublicVirtualIP}
+            - ':'
+            - get_param: [EndpointMap, CinderPublic, port]
       GlanceAdmin:
         host:
           str_replace:
index 4f38345..3568cb0 100644 (file)
@@ -49,6 +49,9 @@ outputs:
             cinder::keystone::auth::public_url_v2: {get_param: [EndpointMap, CinderV2Public, uri]}
             cinder::keystone::auth::internal_url_v2: {get_param: [EndpointMap, CinderV2Internal, uri]}
             cinder::keystone::auth::admin_url_v2: {get_param: [EndpointMap, CinderV2Admin, uri]}
+            cinder::keystone::auth::public_url_v3: {get_param: [EndpointMap, CinderV3Public, uri]}
+            cinder::keystone::auth::internal_url_v3: {get_param: [EndpointMap, CinderV3Internal, uri]}
+            cinder::keystone::auth::admin_url_v3: {get_param: [EndpointMap, CinderV3Admin, uri]}
             cinder::keystone::auth::password: {get_param: CinderPassword}
             cinder::keystone::auth::region: {get_param: KeystoneRegion}
             cinder::api::enable_proxy_headers_parsing: true