Add support for running tests against standalone Heat
This replicates what is in heatclient shell.
We need support for the OS_NO_CLIENT_AUTH.
Change-Id: I40990555f072d3e10db704c0f63f19db9c8ed8bf
diff --git a/common/clients.py b/common/clients.py
index a0e2ee0..965b6ab 100644
--- a/common/clients.py
+++ b/common/clients.py
@@ -10,6 +10,8 @@
# License for the specific language governing permissions and limitations
# under the License.
+import os
+
import cinderclient.client
import heatclient.client
import keystoneclient.exceptions
@@ -41,15 +43,20 @@
self.volume_client = self._get_volume_client()
def _get_orchestration_client(self):
- keystone = self._get_identity_client()
region = self.conf.region
- token = keystone.auth_token
+ endpoint = os.environ.get('HEAT_URL')
+ if os.environ.get('OS_NO_CLIENT_AUTH') == 'True':
+ token = None
+ else:
+ keystone = self._get_identity_client()
+ token = keystone.auth_token
try:
- endpoint = keystone.service_catalog.url_for(
- attr='region',
- filter_value=region,
- service_type='orchestration',
- endpoint_type='publicURL')
+ if endpoint is None:
+ endpoint = keystone.service_catalog.url_for(
+ attr='region',
+ filter_value=region,
+ service_type='orchestration',
+ endpoint_type='publicURL')
except keystoneclient.exceptions.EndpointNotFound:
return None
else: