Skip to content

Commit 3da671f

Browse files
authored
Merge pull request #17 from stackhpc/mg-fixes
Some fixes for CLI use
2 parents 46d912c + c8dfa58 commit 3da671f

File tree

5 files changed

+13
-93
lines changed

5 files changed

+13
-93
lines changed

os_capacity/commands/commands.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
from cliff.lister import Lister
1919

20-
from os_capacity.data import metrics
2120
from os_capacity import prometheus
2221
from os_capacity import utils
2322

@@ -55,32 +54,6 @@ class ListResourcesGroups(Lister):
5554

5655
def take_action(self, parsed_args):
5756
groups = utils.group_providers_by_type_with_capacity(self.app)
58-
groups = list(groups) # convert iterator
59-
60-
metrics_to_send = []
61-
for group in groups:
62-
flavors = group[4].replace(", ", "-")
63-
if not flavors:
64-
# skip empty hosts
65-
continue
66-
resources = group[0]
67-
total = group[1]
68-
used = group[2]
69-
free = group[3]
70-
metrics_to_send.append(metrics.Metric(
71-
name="resources.total", value=total,
72-
value_meta={"flavor_resources": resources},
73-
dimensions={"flavor": flavors}))
74-
metrics_to_send.append(metrics.Metric(
75-
name="resources.used", value=used,
76-
value_meta={"flavor_resources": resources},
77-
dimensions={"flavor": flavors}))
78-
metrics_to_send.append(metrics.Metric(
79-
name="resources.free", value=free,
80-
value_meta={"flavor_resources": resources},
81-
dimensions={"flavor": flavors}))
82-
metrics.send_metrics(self.app.monitoring_client, metrics_to_send)
83-
8457
return (
8558
('Resource Class Groups', 'Total', 'Used', 'Free', 'Flavors'),
8659
groups)

os_capacity/data/metrics.py

Lines changed: 0 additions & 41 deletions
This file was deleted.

os_capacity/data/server.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ def _parse_created(raw_created):
2828

2929
def get(compute_client, uuid):
3030
url = "/servers/%s" % uuid
31-
raw_server = compute_client.get(url).json()['server']
31+
response = compute_client.get(url)
32+
if not response.ok:
33+
return None
34+
raw_server = response.json()['server']
3235
return Server(
3336
uuid=raw_server['id'],
3437
name=raw_server['name'],

os_capacity/data/users.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414

1515

1616
def get_all(identity_client):
17-
response = identity_client.get("/v3/users").json()
17+
response = identity_client.get("/users").json()
1818
raw_users = response['users']
1919
return {u['id']: u['name'] for u in raw_users}
2020

2121

2222
def get_all_projects(identity_client):
23-
response = identity_client.get("/v3/projects").json()
23+
response = identity_client.get("/projects").json()
2424
raw_projects = response['projects']
2525
return {u['id']: u['name'] for u in raw_projects}

os_capacity/utils.py

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import os
1818

1919
from os_capacity.data import flavors
20-
from os_capacity.data import metrics
2120
from os_capacity.data import resource_provider
2221
from os_capacity.data import server as server_data
2322
from os_capacity.data import users
@@ -144,13 +143,14 @@ def get_allocations_with_server_info(app, flat_usage=True, get_names=False):
144143
usage = ", ".join(usage_amounts)
145144

146145
server = server_data.get(app.compute_client, allocation.consumer_uuid)
147-
delta = now - server.created
148-
days_running = delta.days + 1
146+
if server:
147+
delta = now - server.created
148+
days_running = delta.days + 1
149149

150-
allocation_tuples.append(AllocationList(
151-
rp_name, allocation.consumer_uuid, usage,
152-
server.flavor_id, days_running, server.project_id,
153-
server.user_id))
150+
allocation_tuples.append(AllocationList(
151+
rp_name, allocation.consumer_uuid, usage,
152+
server.flavor_id, days_running, server.project_id,
153+
server.user_id))
154154

155155
allocation_tuples.sort(key=lambda x: (x.project_id, x.user_id,
156156
x.days * -1, x.flavor_id))
@@ -203,7 +203,6 @@ def get_key(allocation):
203203
all_users = users.get_all(app.identity_client)
204204
all_projects = users.get_all_projects(app.identity_client)
205205

206-
metrics_to_send = []
207206
summary_tuples = []
208207
for key, group in grouped_allocations.items():
209208
grouped_usage = collections.defaultdict(int)
@@ -249,21 +248,7 @@ def get_key(allocation):
249248
value_meta = {'usage_summary': usage}
250249
dimensions['version'] = '2.0'
251250

252-
metrics_to_send.append(metrics.Metric(
253-
name="usage.%s.count" % group_by,
254-
value=grouped_usage['Count'],
255-
value_meta=value_meta,
256-
dimensions=dimensions))
257-
metrics_to_send.append(metrics.Metric(
258-
name="usage.%s.days.count" % group_by,
259-
value=grouped_usage_days['Count'],
260-
value_meta=value_meta,
261-
dimensions=dimensions))
262-
263251
# Sort my largest current usage first
264252
summary_tuples.sort(key=lambda x: x[1], reverse=True)
265253

266-
if metrics_to_send:
267-
metrics.send_metrics(app.monitoring_client, metrics_to_send)
268-
269254
return summary_tuples

0 commit comments

Comments
 (0)