Skip to content
Snippets Groups Projects
Commit fa897e47 authored by Daniele Belfiore's avatar Daniele Belfiore
Browse files

Added in the configuration file, the server and the port for ceilometer

parent 803d448d
No related branches found
No related tags found
No related merge requests found
......@@ -71,7 +71,7 @@ class api_request():
response = api_response(res.status, res.read(), res.msg)
return response
def getToken(server, tenant, username, password, port, protocol):
def getToken(protocol, server, port, tenant, username, password):
token_file_path = os.path.join(os.path.dirname(__file__), 'token_backup')
parser_token = ConfigParser.SafeConfigParser()
......@@ -85,7 +85,7 @@ def getToken(server, tenant, username, password, port, protocol):
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"))
......@@ -99,7 +99,7 @@ def getToken(server, tenant, username, password, port, protocol):
return parser_token.get('token', 'id')
def getMeter(token_id, server, protocol, meter, resource_id):
def getMeter(protocol, server, port, token_id, 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'):
......@@ -108,9 +108,9 @@ def getMeter(token_id, server, protocol, meter, resource_id):
return "Error: unknown meter!"
if protocol == 'http':
res_json = json.loads(api_request.httpGet(url, server, 8777, {"X-Auth-Token": token_id}).getData())
res_json = json.loads(api_request.httpGet(url, server, port, {"X-Auth-Token": token_id}).getData())
else:
res_json = json.loads(api_request.httpsGet(url, server, 8777, {"X-Auth-Token": token_id}).getData())
res_json = json.loads(api_request.httpsGet(url, server, port, {"X-Auth-Token": token_id}).getData())
return res_json[0]['counter_volume']
......@@ -119,18 +119,23 @@ def main():
parser_config = ConfigParser.SafeConfigParser()
parser_config.readfp(open(config_file_path))
server = parser_config.get('ceilometer', 'server')
tenant = parser_config.get('ceilometer', 'tenant')
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, protocol_keystone)
print getMeter(token_id, server, protocol, sys.argv[1], sys.argv[2])
token_id = getToken(
parser_config.get('keystone', 'protocol')
parser_config.get('keystone', 'server'),
parser_config.get('keystone', 'port'),
parser_config.get('keystone', 'tenant'),
parser_config.get('keystone', 'username'),
parser_config.get('keystone', 'password')
)
print getMeter(
parser_config.get('ceilometer', 'protocol'),
parser_config.get('ceilometer', 'server'),
parser_config.get('ceilometer', 'port'),
token_id,
sys.argv[1],
sys.argv[2]
)
if __name__ == "__main__":
main()
[ceilometer]
server =
tenant =
username =
password =
port =
protocol =
port =
[keystone]
server =
protocol =
port =
tenant =
username =
password =
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment