summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--requirements.txt2
-rw-r--r--[-rwxr-xr-x]setup.py1
-rw-r--r--test-requirements.txt12
-rw-r--r--tuskar_ui/api/heat.py2
-rw-r--r--tuskar_ui/api/node.py4
-rw-r--r--tuskar_ui/api/tuskar.py4
-rw-r--r--tuskar_ui/infrastructure/nodes/views.py2
-rw-r--r--tuskar_ui/infrastructure/roles/views.py3
-rw-r--r--tuskar_ui/infrastructure/templates/infrastructure/overview/deployment_initialize.html2
-rw-r--r--tuskar_ui/utils/metering.py6
-rw-r--r--tuskar_ui/utils/tests.py4
11 files changed, 22 insertions, 20 deletions
diff --git a/requirements.txt b/requirements.txt
index 93fe4194..590d6696 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -3,4 +3,4 @@
# process, which may cause wedges in the gate later.
os-cloud-config
python-ironicclient>=0.2.1
-ironic-discoverd>=1.0.0 # Apache-2.0
+ironic-discoverd>=1.0.0 # Apache-2.0
diff --git a/setup.py b/setup.py
index 73637574..056c16c2 100755..100644
--- a/setup.py
+++ b/setup.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/test-requirements.txt b/test-requirements.txt
index 7032a15e..ac2402a7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -2,10 +2,14 @@
# of appearance. Changing the order has an impact on the overall integration
# process, which may cause wedges in the gate later.
# Hacking already pins down pep8, pyflakes and flake8
-hacking>=0.10.0,<0.11
+hacking<0.11,>=0.10.0
# Testing Requirements
http://tarballs.openstack.org/horizon/horizon-master.tar.gz#egg=horizon
+
+
http://tarballs.openstack.org/python-tuskarclient/python-tuskarclient-master.tar.gz#egg=python-tuskarclient
+
+
coverage>=3.6
django-nose>=1.2
mock>=1.0
@@ -14,11 +18,11 @@ nodeenv>=0.9.4 # BSD License
nose
nose-exclude
nosexcover
-openstack.nose_plugin>=0.7
+openstack.nose-plugin>=0.7
nosehtmloutput>=0.0.3
selenium
xvfbwrapper>=0.1.3 #license: MIT
# Docs Requirements
-sphinx>=1.1.2,!=1.2.0,!=1.3b1,<1.3
-oslosphinx>=2.5.0 # Apache-2.0
+sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
+oslosphinx>=2.5.0 # Apache-2.0
diff --git a/tuskar_ui/api/heat.py b/tuskar_ui/api/heat.py
index 3d4c8eba..3054ad0d 100644
--- a/tuskar_ui/api/heat.py
+++ b/tuskar_ui/api/heat.py
@@ -236,7 +236,7 @@ class Stack(base.APIResourceWrapper):
# A provider resource is deployed as a nested stack, so we have to
# drill down and retrieve those that match a tuskar role
for role in roles:
- resource_group_name = role.provider_resource_group_name
+ resource_group_name = role.name
try:
resource_group = heat.resource_get(self._request,
self.id,
diff --git a/tuskar_ui/api/node.py b/tuskar_ui/api/node.py
index ff86cbb9..12b037b4 100644
--- a/tuskar_ui/api/node.py
+++ b/tuskar_ui/api/node.py
@@ -32,7 +32,7 @@ ERROR_STATES = set(['deploy failed', 'error'])
POWER_ON_STATES = set(['on', 'power on'])
# provision_states of ironic aggregated to reasonable groups
-PROVISION_STATE_FREE = ['deleted', None]
+PROVISION_STATE_FREE = ['available', 'deleted', None]
PROVISION_STATE_PROVISIONED = ['active']
PROVISION_STATE_PROVISIONING = [
'deploying', 'wait call-back', 'rebuild', 'deploy complete']
@@ -44,7 +44,7 @@ PROVISION_STATE_ERROR = ['error', 'deploy failed']
DISCOVERING_STATE = 'discovering'
DISCOVERED_STATE = 'discovered'
DISCOVERY_FAILED_STATE = 'discovery failed'
-MAINTENANCE_STATE = 'maintenance'
+MAINTENANCE_STATE = 'manageable'
PROVISIONED_STATE = 'provisioned'
PROVISIONING_FAILED_STATE = 'provisioning failed'
PROVISIONING_STATE = 'provisioning'
diff --git a/tuskar_ui/api/tuskar.py b/tuskar_ui/api/tuskar.py
index 6018b942..6dd1785e 100644
--- a/tuskar_ui/api/tuskar.py
+++ b/tuskar_ui/api/tuskar.py
@@ -433,10 +433,6 @@ class Role(base.APIResourceWrapper):
return "Tuskar::{0}-{1}".format(self.name, self.version)
@property
- def provider_resource_group_name(self):
- return "{0}-{1}-servers".format(self.name, self.version)
-
- @property
def parameter_prefix(self):
return "{0}-{1}::".format(self.name, self.version)
diff --git a/tuskar_ui/infrastructure/nodes/views.py b/tuskar_ui/infrastructure/nodes/views.py
index 44ed414b..6596a773 100644
--- a/tuskar_ui/infrastructure/nodes/views.py
+++ b/tuskar_ui/infrastructure/nodes/views.py
@@ -185,7 +185,7 @@ class PerformanceView(base.TemplateView):
instance_uuid = None
json_output = metering_utils.get_nodes_stats(
- request, node_uuid, instance_uuid, meter,
+ request, node_uuid, instance_uuid, image_uuid=None, meter=meter,
date_options=date_options, date_from=date_from, date_to=date_to,
stats_attr=stats_attr, barchart=barchart)
diff --git a/tuskar_ui/infrastructure/roles/views.py b/tuskar_ui/infrastructure/roles/views.py
index 7d3760cd..9c7baa1e 100644
--- a/tuskar_ui/infrastructure/roles/views.py
+++ b/tuskar_ui/infrastructure/roles/views.py
@@ -179,7 +179,8 @@ class PerformanceView(base.TemplateView, views.RoleMixin, views.StackMixin):
json_output = None
else:
json_output = metering_utils.get_nodes_stats(
- request, image_uuid, meter, date_options=date_options,
+ request, node_uuid=None, instance_uuid=None,
+ image_uuid=image_uuid, meter=meter, date_options=date_options,
date_from=date_from, date_to=date_to, stats_attr=stats_attr,
barchart=barchart, group_by='image_id')
diff --git a/tuskar_ui/infrastructure/templates/infrastructure/overview/deployment_initialize.html b/tuskar_ui/infrastructure/templates/infrastructure/overview/deployment_initialize.html
index be537ed4..af29031e 100644
--- a/tuskar_ui/infrastructure/templates/infrastructure/overview/deployment_initialize.html
+++ b/tuskar_ui/infrastructure/templates/infrastructure/overview/deployment_initialize.html
@@ -8,7 +8,7 @@
{% block deployment-title %}{% trans "Initialization Needed" %}{% endblock %}
{% block deployment-info %}
-<p>{% trans "Your OpenStack cloud is deployed but it needs to get initialized in order to get live." %}</p>
+<p>{% trans "Your OpenStack cloud is successfully deployed. Before using the cloud you must now initialize it." %}</p>
{% endblock %}
{% block deployment-buttons %}
diff --git a/tuskar_ui/utils/metering.py b/tuskar_ui/utils/metering.py
index ac6c58de..41231056 100644
--- a/tuskar_ui/utils/metering.py
+++ b/tuskar_ui/utils/metering.py
@@ -177,13 +177,13 @@ def create_json_output(series, barchart, unit, date_from, date_to):
return json_output
-def get_nodes_stats(request, node_uuid, instance_uuid, meter,
+def get_nodes_stats(request, node_uuid, instance_uuid, image_uuid, meter,
date_options=None, date_from=None, date_to=None,
stats_attr=None, barchart=None, group_by=None):
series = []
meter_list, unit = get_meter_list_and_unit(request, meter)
- if instance_uuid:
+ if instance_uuid or image_uuid:
if 'ipmi' in meter:
# For IPMI metrics, a resource ID is made of node UUID concatenated
# with the metric description. E.g:
@@ -203,7 +203,7 @@ def get_nodes_stats(request, node_uuid, instance_uuid, meter,
query = {}
image_query = [{"field": "metadata.%s" % group_by,
"op": "eq",
- "value": instance_uuid}]
+ "value": image_uuid}]
query[instance_uuid] = image_query
else:
query = [{'field': 'resource_id',
diff --git a/tuskar_ui/utils/tests.py b/tuskar_ui/utils/tests.py
index 408f916c..2bba88f2 100644
--- a/tuskar_ui/utils/tests.py
+++ b/tuskar_ui/utils/tests.py
@@ -287,7 +287,9 @@ class MeteringTests(helpers.TestCase):
'openstack_dashboard.utils.metering.calc_date_args',
return_value=('from date', 'to date'),
):
- ret = metering.get_nodes_stats(request, 'abc', 'def', 'foo.bar')
+ ret = metering.get_nodes_stats(
+ request, node_uuid='abc', instance_uuid='def', image_uuid=None,
+ meter='foo.bar')
self.assertEqual(ret, '')
self.assertEqual(create_json_output.call_args_list, [
mock.call([], None, '', 'from date', 'to date')