Merge pull request #90 from Mirantis/lgtm-prod-updates-keystone-services

Add keystone services, update public endpoints [WIP]
diff --git a/keystone/client/service/aodh.yml b/keystone/client/service/aodh.yml
index c91a354..51de0ca 100644
--- a/keystone/client/service/aodh.yml
+++ b/keystone/client/service/aodh.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Alarming Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:aodh_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8042
                 public_path: '/'
                 internal_address: ${_param:aodh_service_host}
@@ -24,4 +27,4 @@
                 internal_path: '/'
                 admin_address: ${_param:aodh_service_host}
                 admin_port: 8042
-                admin_path: '/'
\ No newline at end of file
+                admin_path: '/'
diff --git a/keystone/client/service/billometer.yml b/keystone/client/service/billometer.yml
index 86a153f..3728aa5 100644
--- a/keystone/client/service/billometer.yml
+++ b/keystone/client/service/billometer.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Billing Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:billometer_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 9753
                 public_path: '/v1'
                 internal_address: ${_param:billometer_service_host}
diff --git a/keystone/client/service/ceilometer.yml b/keystone/client/service/ceilometer.yml
index c40383a..4c59f80 100644
--- a/keystone/client/service/ceilometer.yml
+++ b/keystone/client/service/ceilometer.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Telemetry Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:ceilometer_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8777
                 public_path: '/'
                 internal_address: ${_param:ceilometer_service_host}
diff --git a/keystone/client/service/cinder.yml b/keystone/client/service/cinder.yml
index 329c7ac..335985f 100644
--- a/keystone/client/service/cinder.yml
+++ b/keystone/client/service/cinder.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Volume Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:cinder_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8776
                 public_path: '/v1/$(tenant_id)s'
                 internal_address: ${_param:cinder_service_host}
diff --git a/keystone/client/service/cinder2.yml b/keystone/client/service/cinder2.yml
index a24f06a..cc150ff 100644
--- a/keystone/client/service/cinder2.yml
+++ b/keystone/client/service/cinder2.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Volume Service v2
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:cinder_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8776
                 public_path: '/v2/$(tenant_id)s'
                 internal_address: ${_param:cinder_service_host}
diff --git a/keystone/client/service/designate.yml b/keystone/client/service/designate.yml
new file mode 100644
index 0000000..4d95b2e
--- /dev/null
+++ b/keystone/client/service/designate.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                designate:
+                  is_admin: true
+                  password: ${_param:keystone_designate_password}
+                  email: ${_param:admin_email}
+    service:
+      designate:
+          type: dns
+          description: OpenStack DNS service
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 9001
+              public_path: '/'
+              internal_address: ${_param:designate_service_host}
+              internal_port: 9001
+              internal_path: '/'
+              admin_address: ${_param:designate_service_host}
+              admin_port: 9001
+              admin_path: '/'
diff --git a/keystone/client/service/glance.yml b/keystone/client/service/glance.yml
index 33d90c7..365917b 100644
--- a/keystone/client/service/glance.yml
+++ b/keystone/client/service/glance.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Image Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:glance_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 9292
                 public_path: ''
                 internal_address: ${_param:glance_service_host}
diff --git a/keystone/client/service/heat-cfn.yml b/keystone/client/service/heat-cfn.yml
index 3bb5449..343ff46 100644
--- a/keystone/client/service/heat-cfn.yml
+++ b/keystone/client/service/heat-cfn.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -9,7 +11,8 @@
               description: OpenStack CloudFormation Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:heat_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8000
                 public_path: '/v1'
                 internal_address: ${_param:heat_service_host}
diff --git a/keystone/client/service/heat.yml b/keystone/client/service/heat.yml
index 233cc75..692ceee 100644
--- a/keystone/client/service/heat.yml
+++ b/keystone/client/service/heat.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -19,7 +21,8 @@
               description: OpenStack Orchestration Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:heat_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8004
                 public_path: '/v1/%(tenant_id)s'
                 internal_address: ${_param:heat_service_host}
diff --git a/keystone/client/service/keystone.yml b/keystone/client/service/keystone.yml
index 914777c..af3acfc 100644
--- a/keystone/client/service/keystone.yml
+++ b/keystone/client/service/keystone.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -9,7 +11,8 @@
               description: OpenStack Identity Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:keystone_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 5000
                 public_path: '/v2.0'
                 internal_address: ${_param:keystone_service_host}
diff --git a/keystone/client/service/keystone3.yml b/keystone/client/service/keystone3.yml
index 9aaedc2..9dd9eef 100644
--- a/keystone/client/service/keystone3.yml
+++ b/keystone/client/service/keystone3.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -9,7 +11,8 @@
               description: OpenStack Identity Service v3
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:keystone_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 5000
                 public_path: '/v3'
                 internal_address: ${_param:keystone_service_host}
diff --git a/keystone/client/service/murano.yml b/keystone/client/service/murano.yml
new file mode 100644
index 0000000..4cb6211
--- /dev/null
+++ b/keystone/client/service/murano.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                murano:
+                  is_admin: true
+                  password: ${_param:keystone_murano_password}
+                  email: ${_param:admin_email}
+      service:
+        murano:
+          type: application-catalog
+          description: Application Catalog for OpenStack
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 8082
+              public_path: ''
+              internal_address: ${_param:murano_service_host}
+              internal_port: 8082
+              internal_path: ''
+              admin_address: ${_param:murano_service_host}
+              admin_port: 8082
+              admin_path: ''
diff --git a/keystone/client/service/neutron.yml b/keystone/client/service/neutron.yml
index 48ca372..e108f68 100644
--- a/keystone/client/service/neutron.yml
+++ b/keystone/client/service/neutron.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    neutron_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Networking Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:neutron_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:neutron_public_protocol}
                 public_port: 9696
                 public_path: '/'
                 internal_address: ${_param:neutron_service_host}
diff --git a/keystone/client/service/nova-ec2.yml b/keystone/client/service/nova-ec2.yml
index b729061..586701c 100644
--- a/keystone/client/service/nova-ec2.yml
+++ b/keystone/client/service/nova-ec2.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -9,7 +11,8 @@
               description: OpenStack EC2 Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:nova_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8773
                 public_path: '/services/Cloud'
                 internal_address: ${_param:nova_service_host}
diff --git a/keystone/client/service/nova.yml b/keystone/client/service/nova.yml
index 1497d69..ed703d0 100644
--- a/keystone/client/service/nova.yml
+++ b/keystone/client/service/nova.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Compute Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:nova_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8774
                 public_path: '/v2/$(tenant_id)s'
                 internal_address: ${_param:nova_service_host}
diff --git a/keystone/client/service/nova21.yml b/keystone/client/service/nova21.yml
index e09a9df..48767de 100644
--- a/keystone/client/service/nova21.yml
+++ b/keystone/client/service/nova21.yml
@@ -1,4 +1,6 @@
 parameters:
+  _param:
+    cluster_public_protocol: https
   keystone:
     client:
       server:
@@ -16,7 +18,8 @@
               description: OpenStack Compute Service
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:nova_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8774
                 public_path: '/v2/$(tenant_id)s'
                 internal_address: ${_param:nova_service_host}
@@ -30,7 +33,8 @@
               description: OpenStack Compute Service v2.1
               endpoints:
               - region: ${_param:openstack_region}
-                public_address: ${_param:nova_service_host}
+                public_address: ${_param:cluster_public_host}
+                public_protocol: ${_param:cluster_public_protocol}
                 public_port: 8774
                 public_path: '/v2.1'
                 internal_address: ${_param:nova_service_host}
diff --git a/keystone/client/service/radosgw-s3.yml b/keystone/client/service/radosgw-s3.yml
new file mode 100644
index 0000000..9b434af
--- /dev/null
+++ b/keystone/client/service/radosgw-s3.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                swift:
+                  is_admin: true
+                  password: ${_param:keystone_swift_password}
+                  email: ${_param:admin_email}
+      service:
+        radosgw-s3:
+          type: s3
+          description: S3 Service (radosgw)
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 8081
+              public_path: '/' # /$(tenant_id)s
+              internal_address: ${_param:radosgw_service_host}
+              internal_port: 8081
+              internal_path: '/'
+              admin_address: ${_param:radosgw_service_host}
+              admin_port: 8081
+              admin_path: '/'
diff --git a/keystone/client/service/radosgw-swift.yml b/keystone/client/service/radosgw-swift.yml
new file mode 100644
index 0000000..82d311f
--- /dev/null
+++ b/keystone/client/service/radosgw-swift.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                swift:
+                  is_admin: true
+                  password: ${_param:keystone_swift_password}
+                  email: ${_param:admin_email}
+      service:
+        radosgw-swift:
+          type: object-store
+          description: Swift Service (radosgw)
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 8081
+              public_path: '/swift/v1' # /$(tenant_id)s
+              internal_address: ${_param:radosgw_service_host}
+              internal_port: 8081
+              internal_path: '/swift/v1'
+              admin_address: ${_param:radosgw_service_host}
+              admin_port: 8081
+              admin_path: '/swift/v1'
diff --git a/keystone/client/service/sahara.yml b/keystone/client/service/sahara.yml
new file mode 100644
index 0000000..0dbb136
--- /dev/null
+++ b/keystone/client/service/sahara.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                sahara:
+                  is_admin: true
+                  password: ${_param:keystone_sahara_password}
+                  email: ${_param:admin_email}
+      service:
+        swift:
+          type: data-processing
+          description: Sahara Data Processing
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 8386
+              public_path: '/v1.1/%(tenant_id)s'
+              internal_address: ${_param:sahara_service_host}
+              internal_port: 8386
+              internal_path: '/v1.1/%(tenant_id)s'
+              admin_address: ${_param:sahara_service_host}
+              admin_port: 8386
+              admin_path: '/v1.1/%(tenant_id)s'
diff --git a/keystone/client/service/swift-s3.yml b/keystone/client/service/swift-s3.yml
new file mode 100644
index 0000000..6850dbd
--- /dev/null
+++ b/keystone/client/service/swift-s3.yml
@@ -0,0 +1,31 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                swift:
+                  is_admin: true
+                  password: ${_param:keystone_swift_password}
+                  email: ${_param:admin_email}
+      service:
+        swift-s3:
+          type: object-store
+          description: S3 Service (swift)
+          region: ${_param:keystone_region}
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 8080
+              public_path: '/v1/AUTH_%(tenant_id)s'
+              internal_address: ${_param:swift_service_host}
+              internal_port: 8080
+              internal_path: '/v1/AUTH_%(tenant_id)s'
+              admin_address: ${_param:swift_service_host}
+              admin_port: 8080
+              admin_path: '/'
diff --git a/keystone/client/service/swift.yml b/keystone/client/service/swift.yml
new file mode 100644
index 0000000..94636a4
--- /dev/null
+++ b/keystone/client/service/swift.yml
@@ -0,0 +1,30 @@
+parameters:
+  _param:
+    cluster_public_protocol: https
+  keystone:
+    client:
+      server:
+        identity:
+          project:
+            service:
+              user:
+                swift:
+                  is_admin: true
+                  password: ${_param:keystone_swift_password}
+                  email: ${_param:admin_email}
+      service:
+        swift:
+          type: object-store
+          description: Swift Service
+          endpoints:
+            - region: ${_param:openstack_region}
+              public_address: ${_param:cluster_public_host}
+              public_protocol: ${_param:cluster_public_protocol}
+              public_port: 8080
+              public_path: '/v1/AUTH_%(tenant_id)s'
+              internal_address: ${_param:swift_service_host}
+              internal_port: 8080
+              internal_path: '/v1/AUTH_%(tenant_id)s'
+              admin_address: ${_param:swift_service_host}
+              admin_port: 8080
+              admin_path: '/'