Revert "Don't check for existing endpoints"

This reverts commit 7d1ec430046256ac3f536f4920a43936e28ef0c4.

This broke the sahara and layer4 dsvm jobs. The layer4 job
is voting on tempest changes so tempest is also broken.

Change-Id: Ide69f10cd85bf7ff0d86bc8cba56dedd26850362
Partial-Bug: #1573868
diff --git a/lib/cinder b/lib/cinder
index 037456a..607a6f8 100644
--- a/lib/cinder
+++ b/lib/cinder
@@ -372,7 +372,7 @@
         create_service_user "cinder"
 
         get_or_create_service "cinder" "volume" "Cinder Volume Service"
-        create_endpoint \
+        get_or_create_endpoint \
             "volume" \
             "$REGION_NAME" \
             "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(project_id)s" \
@@ -380,7 +380,7 @@
             "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v1/\$(project_id)s"
 
         get_or_create_service "cinderv2" "volumev2" "Cinder Volume Service V2"
-        create_endpoint \
+        get_or_create_endpoint \
             "volumev2" \
             "$REGION_NAME" \
             "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v2/\$(project_id)s" \
@@ -388,7 +388,7 @@
             "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v2/\$(project_id)s"
 
         get_or_create_service "cinderv3" "volumev3" "Cinder Volume Service V3"
-        create_endpoint \
+        get_or_create_endpoint \
             "volumev3" \
             "$REGION_NAME" \
             "$CINDER_SERVICE_PROTOCOL://$CINDER_SERVICE_HOST:$CINDER_SERVICE_PORT/v3/\$(project_id)s" \
diff --git a/lib/glance b/lib/glance
index 5d532ea..f2a6db6 100644
--- a/lib/glance
+++ b/lib/glance
@@ -292,7 +292,7 @@
         fi
 
         get_or_create_service "glance" "image" "Glance Image Service"
-        create_endpoint \
+        get_or_create_endpoint \
             "image" \
             "$REGION_NAME" \
             "$GLANCE_SERVICE_PROTOCOL://$GLANCE_HOSTPORT" \
@@ -305,7 +305,7 @@
         create_service_user "glare"
         get_or_create_service "glare" "artifact" "Glance Artifact Service"
 
-        create_endpoint "artifact" \
+        get_or_create_endpoint "artifact" \
             "$REGION_NAME" \
             "$GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT" \
             "$GLANCE_SERVICE_PROTOCOL://$GLANCE_GLARE_HOSTPORT" \
diff --git a/lib/heat b/lib/heat
index 6a654b5..4326321 100644
--- a/lib/heat
+++ b/lib/heat
@@ -388,7 +388,7 @@
 
         create_service_user "heat" "admin"
         get_or_create_service "heat" "orchestration" "Heat Orchestration Service"
-        create_endpoint \
+        get_or_create_endpoint \
             "orchestration" \
             "$REGION_NAME" \
             "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(project_id)s" \
@@ -396,7 +396,7 @@
             "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(project_id)s"
 
         get_or_create_service "heat-cfn" "cloudformation" "Heat CloudFormation Service"
-        create_endpoint \
+        get_or_create_endpoint \
             "cloudformation"  \
             "$REGION_NAME" \
             "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1" \
diff --git a/lib/neutron-legacy b/lib/neutron-legacy
index 9da6a26..f0592e2 100644
--- a/lib/neutron-legacy
+++ b/lib/neutron-legacy
@@ -534,7 +534,7 @@
         create_service_user "neutron"
 
         get_or_create_service "neutron" "network" "Neutron Service"
-        create_endpoint \
+        get_or_create_endpoint \
             "network" \
             "$REGION_NAME" \
             "$Q_PROTOCOL://$SERVICE_HOST:$Q_PORT/" \
diff --git a/lib/nova b/lib/nova
index 33dbc42..818ecc4 100644
--- a/lib/nova
+++ b/lib/nova
@@ -418,7 +418,7 @@
         fi
 
         get_or_create_service "nova_legacy" "compute_legacy" "Nova Compute Service (Legacy 2.0)"
-        create_endpoint \
+        get_or_create_endpoint \
             "compute_legacy" \
             "$REGION_NAME" \
             "$nova_api_url/v2/\$(project_id)s" \
@@ -426,7 +426,7 @@
             "$nova_api_url/v2/\$(project_id)s"
 
         get_or_create_service "nova" "compute" "Nova Compute Service"
-        create_endpoint \
+        get_or_create_endpoint \
             "compute" \
             "$REGION_NAME" \
             "$nova_api_url/v2.1" \
@@ -446,7 +446,7 @@
     # S3
     if is_service_enabled swift3; then
         get_or_create_service "s3" "s3" "S3"
-        create_endpoint \
+        get_or_create_endpoint \
             "s3" \
             "$REGION_NAME" \
             "http://$SERVICE_HOST:$S3_SERVICE_PORT" \
diff --git a/lib/swift b/lib/swift
index b74b4da..8cb94ef 100644
--- a/lib/swift
+++ b/lib/swift
@@ -633,7 +633,7 @@
     create_service_user "swift" "admin"
 
     get_or_create_service "swift" "object-store" "Swift Service"
-    create_endpoint \
+    get_or_create_endpoint \
         "object-store" \
         "$REGION_NAME" \
         "$SWIFT_SERVICE_PROTOCOL://$SERVICE_HOST:$SWIFT_DEFAULT_BIND_PORT/v1/AUTH_\$(project_id)s" \