summaryrefslogtreecommitdiffstats
path: root/utils/env_prepare/quota_prepare.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils/env_prepare/quota_prepare.py')
-rw-r--r--utils/env_prepare/quota_prepare.py56
1 files changed, 45 insertions, 11 deletions
diff --git a/utils/env_prepare/quota_prepare.py b/utils/env_prepare/quota_prepare.py
index 267e70ab..367f7613 100644
--- a/utils/env_prepare/quota_prepare.py
+++ b/utils/env_prepare/quota_prepare.py
@@ -42,18 +42,52 @@ nova_quota = {"ram": -1,
"injected_file_path_bytes": -1}
+def check_https_enabled():
+ LOG.debug("Check if https is enabled in OpenStack")
+ os_auth_url = os.getenv('OS_AUTH_URL')
+ if os_auth_url.startswith('https'):
+ LOG.debug("https is enabled")
+ return True
+ LOG.debug("https is not enabled")
+ return False
+
+
def quota_env_prepare():
- tenant_name = os.getenv("OS_TENANT_NAME")
- cmd = ("openstack project list | grep " +
- tenant_name +
- " | awk '{print $2}'")
+ https_enabled = check_https_enabled()
+ insecure_option = ''
+ insecure = os.getenv('OS_INSECURE',)
+ if https_enabled:
+ LOG.info("https is enabled")
+ if insecure:
+ if insecure.lower() == "true":
+ insecure_option = ' --insecure '
+ else:
+ LOG.warn("Env variable OS_INSECURE is {}: if https + no "
+ "credential used, it should be set as True."
+ .format(insecure))
- result = commands.getstatusoutput(cmd)
- if result[0] == 0:
- LOG.info("Get %s project id is %s" % (tenant_name, result[1]))
+ quota_name = os.getenv("OS_PROJECT_NAME")
+ if quota_name:
+ cmd = ("openstack {} project list | grep ".format(insecure_option) +
+ quota_name +
+ " | awk '{print $2}'")
+ result = commands.getstatusoutput(cmd)
+ if result[0] == 0 and 'exception' not in result[1]:
+ LOG.info("Get %s project name is %s" % (quota_name, result[1]))
+ else:
+ LOG.error("can't get openstack project name")
+ return 1
else:
- LOG.error("can't get openstack project id")
- return 1
+ quota_name = os.getenv("OS_TENANT_NAME")
+ cmd = ("openstack {} tenant list | grep ".format(insecure_option) +
+ quota_name +
+ " | awk '{print $2}'")
+ result = commands.getstatusoutput(cmd)
+ if result[0] == 0 and 'exception' not in result[1]:
+ LOG.info("Get %s tenant name is %s" % (quota_name, result[1]))
+ else:
+ LOG.error("can't get openstack tenant name")
+ return 1
openstack_id = result[1]
@@ -62,7 +96,7 @@ def quota_env_prepare():
nova_q = nova_client.quotas.get(openstack_id).to_dict()
neutron_q = neutron_client.show_quota(openstack_id)
- LOG.info(tenant_name + "tenant nova and neutron quota(previous) :")
+ LOG.info(quota_name + " nova and neutron quotas (previous) :")
LOG.info(nova_q)
LOG.info(neutron_q)
@@ -73,7 +107,7 @@ def quota_env_prepare():
nova_q = nova_client.quotas.get(openstack_id).to_dict()
neutron_q = neutron_client.show_quota(openstack_id)
- LOG.info(tenant_name + "tenant nova and neutron quota(now) :")
+ LOG.info(quota_name + " nova and neutron quotas (now) :")
LOG.info(nova_q)
LOG.info(neutron_q)
return 0