diff --git a/ceilometer b/ceilometer
old mode 100755
new mode 100644
index 218d89af0555ce635a5fd478fa8aa619f66997ce..eeff33e8dcb3dc13a586200494e5245b46a5cc9a
--- a/ceilometer
+++ b/ceilometer
@@ -71,19 +71,7 @@ class api_request():
         response = api_response(res.status, res.read(), res.msg)
         return response
 
-def getMeter(token_id, server, meter, resource_id):
-    if meter in ('cpu', 'cpu_util', 'disk.ephemeral.size', 'disk.root.size', 'memory', 'vcpus'):
-        url = "/v2/meters/%s?q.field=resource_id&q.op=eq&q.value=%s&limit=1" % (meter, resource_id)
-    elif meter in ('network.incoming.bytes', 'network.outgoing.bytes'):
-        url = "/v2/meters/%s?q.field=metadata.instance_id&q.op=eq&q.value=%s&limit=1" % (meter, resource_id)
-    else:
-        return "Error: unknown meter!"
-
-    res_json = json.loads(api_request.httpGet(url, server, 8777, {"X-Auth-Token": token_id}).getData())
-
-    return res_json[0]['counter_volume']
-
-def getToken(server, tenant, username, password, port):
+def getToken(server, tenant, username, password, port, protocol):
     token_file_path = os.path.join(os.path.dirname(__file__), 'token_backup')
     parser_token = ConfigParser.SafeConfigParser()
 
@@ -93,7 +81,11 @@ def getToken(server, tenant, username, password, port):
     if (not parser_token.get('token', 'expires')) or (int(float(parser_token.get('token', 'expires')) - time.time()) <= 0):
         auth = '{"auth": {"tenantName": "%s", "passwordCredentials": {"username": "%s", "password": "%s"}}}' % (tenant, username, password)
         header = {"Content-Type": "application/json", "Accept": "application/json"}
-        res = api_request.httpPost('/v2.0/tokens', server, port, auth, header)
+        if protocol == 'http':
+            res = api_request.httpPost('/v2.0/tokens', server, port, auth, header)
+        else:
+            res = api_request.httpsPost('/v2.0/tokens', server, port, auth, header)
+            
         res_json = json.loads(res.getData())
 
         timestamp = calendar.timegm(time.strptime(res_json['access']['token']['expires'],"%Y-%m-%dT%H:%M:%SZ"))
@@ -107,6 +99,21 @@ def getToken(server, tenant, username, password, port):
 
     return parser_token.get('token', 'id')
 
+def getMeter(token_id, server, protocol, meter, resource_id):
+    if meter in ('cpu', 'cpu_util', 'disk.ephemeral.size', 'disk.root.size', 'memory', 'vcpus'):
+        url = "/v2/meters/%s?q.field=resource_id&q.op=eq&q.value=%s&limit=1" % (meter, resource_id)
+    elif meter in ('network.incoming.bytes', 'network.outgoing.bytes'):
+        url = "/v2/meters/%s?q.field=metadata.instance_id&q.op=eq&q.value=%s&limit=1" % (meter, resource_id)
+    else:
+        return "Error: unknown meter!"
+
+    if protocol == 'http':
+        res_json = json.loads(api_request.httpGet(url, server, 8777, {"X-Auth-Token": token_id}).getData())
+    else:
+        res_json = json.loads(api_request.httpsGet(url, server, 8777, {"X-Auth-Token": token_id}).getData())
+
+    return res_json[0]['counter_volume']
+
 def main():
     config_file_path = os.path.join(os.path.dirname(__file__), 'proxy.conf')
     parser_config = ConfigParser.SafeConfigParser()
@@ -117,10 +124,13 @@ def main():
     username = parser_config.get('ceilometer', 'username')
     password = parser_config.get('ceilometer', 'password')
     port = parser_config.get('ceilometer', 'port')
+    protocol = parser_config.get('ceilometer', 'protocol')
+
+    protocol_keystone = parser_config.get('keystone', 'protocol')
 
-    token_id = getToken(server, tenant, username, password, port)
+    token_id = getToken(server, tenant, username, password, port, protocol_keystone)
 
-    print getMeter(token_id, server, sys.argv[1], sys.argv[2])
+    print getMeter(token_id, server, protocol, sys.argv[1], sys.argv[2])
 
 if __name__ == "__main__":
     main()
diff --git a/hypervisor-show.sh b/hypervisor-show.sh
old mode 100644
new mode 100755
diff --git a/prisma-iaas.sh b/prisma-iaas.sh
old mode 100644
new mode 100755
diff --git a/proxy_template.conf b/proxy_template.conf
index 1f8d14a1f63933c3ce70f236219867e82c6af18d..8481a0a71b310bca2d6d7748bde49ea30e900d71 100644
--- a/proxy_template.conf
+++ b/proxy_template.conf
@@ -4,3 +4,7 @@ tenant =
 username = 
 password = 
 port = 
+protocol = 
+
+[keystone]
+protocol =