Merge "Create an endpoint for nova api v3."
diff --git a/files/default_catalog.templates b/files/default_catalog.templates
index 990cc0e..1ecf890 100644
--- a/files/default_catalog.templates
+++ b/files/default_catalog.templates
@@ -12,6 +12,12 @@
 catalog.RegionOne.compute.name = Compute Service
 
 
+catalog.RegionOne.computev3.publicURL = http://%SERVICE_HOST%:8774/v3
+catalog.RegionOne.computev3.adminURL = http://%SERVICE_HOST%:8774/v3
+catalog.RegionOne.computev3.internalURL = http://%SERVICE_HOST%:8774/v3
+catalog.RegionOne.computev3.name = Compute Service V3
+
+
 catalog.RegionOne.volume.publicURL = http://%SERVICE_HOST%:8776/v1/$(tenant_id)s
 catalog.RegionOne.volume.adminURL = http://%SERVICE_HOST%:8776/v1/$(tenant_id)s
 catalog.RegionOne.volume.internalURL = http://%SERVICE_HOST%:8776/v1/$(tenant_id)s
diff --git a/lib/nova b/lib/nova
index b6b3e08..617fb08 100644
--- a/lib/nova
+++ b/lib/nova
@@ -407,6 +407,17 @@
                 --publicurl "$NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v2/\$(tenant_id)s" \
                 --adminurl "$NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v2/\$(tenant_id)s" \
                 --internalurl "$NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v2/\$(tenant_id)s"
+            NOVA_V3_SERVICE=$(keystone service-create \
+                --name=nova \
+                --type=computev3 \
+                --description="Nova Compute Service V3" \
+                | grep " id " | get_field 2)
+            keystone endpoint-create \
+                --region RegionOne \
+                --service_id $NOVA_V3_SERVICE \
+                --publicurl "$NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v3" \
+                --adminurl "$NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v3" \
+                --internalurl "$NOVA_SERVICE_PROTOCOL://$NOVA_SERVICE_HOST:$NOVA_SERVICE_PORT/v3"
         fi
     fi
 }