diff --git a/tuskar_ui/api/tuskar.py b/tuskar_ui/api/tuskar.py index 903559df6..e21cb70ea 100644 --- a/tuskar_ui/api/tuskar.py +++ b/tuskar_ui/api/tuskar.py @@ -154,6 +154,17 @@ class OvercloudPlan(base.APIDictWrapper): return [OvercloudRole.get(self._request, role['id']) for role in self.roles] + def parameter_list(self, include_key_parameters=True): + params = self.parameters + if not include_key_parameters: + key_params = [] + for role in self.role_list: + key_params.extend([role.node_count_parameter_name, + role.image_id_parameter_name, + role.flavor_id_parameter_name]) + params = [p for p in params if p['name'] not in key_params] + return params + def parameter(self, param_name): for parameter in self.parameters: if parameter['name'] == param_name: @@ -167,8 +178,7 @@ class OvercloudPlan(base.APIDictWrapper): class OvercloudRole(base.APIDictWrapper): - _attrs = ('id', 'name', 'version', 'description', 'created_at', - 'parameters') + _attrs = ('id', 'name', 'version', 'description', 'created') def __init__(self, apiresource, request=None): super(OvercloudRole, self).__init__(apiresource) diff --git a/tuskar_ui/infrastructure/parameters/templates/parameters/index.html b/tuskar_ui/infrastructure/parameters/templates/parameters/index.html index f1d812669..f823de8cf 100644 --- a/tuskar_ui/infrastructure/parameters/templates/parameters/index.html +++ b/tuskar_ui/infrastructure/parameters/templates/parameters/index.html @@ -10,14 +10,11 @@ {% block main %}
- {% for role in roles %} - {{ role.name }} - - {% endfor %} +
{% endblock %} diff --git a/tuskar_ui/infrastructure/parameters/views.py b/tuskar_ui/infrastructure/parameters/views.py index 250b056dc..4893c8260 100644 --- a/tuskar_ui/infrastructure/parameters/views.py +++ b/tuskar_ui/infrastructure/parameters/views.py @@ -23,5 +23,6 @@ class IndexView(horizon_views.APIView): def get_data(self, request, context, *args, **kwargs): plan = api.tuskar.OvercloudPlan.get_the_plan(self.request) context['plan'] = plan - context['roles'] = plan.role_list + context['plan_parameters'] = plan.parameter_list( + include_key_parameters=False) return context diff --git a/tuskar_ui/test/test_data/tuskar_data.py b/tuskar_ui/test/test_data/tuskar_data.py index 94f9b3d49..fccad559c 100644 --- a/tuskar_ui/test/test_data/tuskar_data.py +++ b/tuskar_ui/test/test_data/tuskar_data.py @@ -95,6 +95,41 @@ def data(TEST): 'description': 'Block storage image ID', 'hidden': 'false', 'value': '4', + }, { + 'name': 'controller_NovaInterfaces', + 'parameter_group': 'Nova', + 'type': 'String', + 'description': '', + 'no_echo': 'false', + 'default': 'eth0', + }, { + 'name': 'controller_NeutronInterfaces', + 'parameter_group': 'Neutron', + 'type': 'String', + 'description': '', + 'no_echo': 'false', + 'default': 'eth0', + }, { + 'name': 'compute_KeystoneHost', + 'parameter_group': 'Keystone', + 'type': 'String', + 'description': '', + 'no_echo': 'false', + 'default': '', + }, { + 'name': 'object_storage_SwiftHashSuffix', + 'parameter_group': 'Swift', + 'type': 'String', + 'description': '', + 'no_echo': 'true', + 'default': '', + }, { + 'name': 'block_storage_NeutronNetworkType', + 'parameter_group': 'Neutron', + 'type': 'String', + 'description': '', + 'no_echo': 'false', + 'default': 'gre', }, { 'name': 'AdminPassword', 'label': 'Admin Password', @@ -112,66 +147,27 @@ def data(TEST): 'name': 'Controller', 'version': 1, 'description': 'controller role', - 'created_at': '2014-05-27T21:11:09Z', - 'parameters': [{ - 'name': 'controller_NovaInterfaces', - 'parameter_group': 'Nova', - 'type': 'String', - 'description': '', - 'no_echo': 'false', - 'default': 'eth0', - }, { - 'name': 'controller_NeutronInterfaces', - 'parameter_group': 'Neutron', - 'type': 'String', - 'description': '', - 'no_echo': 'false', - 'default': 'eth0', - }] + 'created_at': '2014-05-27T21:11:09Z' } r_2 = { 'id': 'role-2', 'name': 'Compute', 'version': 1, 'description': 'compute role', - 'created_at': '2014-05-27T21:11:09Z', - 'parameters': [{ - 'name': 'compute_KeystoneHost', - 'parameter_group': 'Keystone', - 'type': 'String', - 'description': '', - 'no_echo': 'false', - 'default': '', - }] + 'created_at': '2014-05-27T21:11:09Z' } r_3 = { 'id': 'role-3', 'name': 'Object Storage', 'version': 1, 'description': 'object storage role', - 'created_at': '2014-05-27T21:11:09Z', - 'parameters': [{ - 'name': 'object_storage_SwiftHashSuffix', - 'parameter_group': 'Swift', - 'type': 'String', - 'description': '', - 'no_echo': 'true', - 'default': '', - }] + 'created_at': '2014-05-27T21:11:09Z' } r_4 = { 'id': 'role-4', 'name': 'Block Storage', 'version': 1, 'description': 'block storage role', - 'created_at': '2014-05-27T21:11:09Z', - 'parameters': [{ - 'name': 'block_storage_NeutronNetworkType', - 'parameter_group': 'Neutron', - 'type': 'String', - 'description': '', - 'no_echo': 'false', - 'default': 'gre', - }] + 'created_at': '2014-05-27T21:11:09Z' } TEST.tuskarclient_roles.add(r_1, r_2, r_3, r_4)