Change plugin version 'version' parameter to 'plugin-version'
Currently we have parameter 'version' for specifying plugin version for creating node group templates and also for listing available plugins. The problem is that this parameter is global parameter for getting version of client. So, this patch fixes this confusion. Change-Id: I89a670188c20e3b20b98b596a3efb8d5997c3214 Closes-bug: #1565775
This commit is contained in:
parent
4944304d34
commit
f02ea8999c
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
upgrade:
|
||||
- Option 'version' is replaced by 'plugin-version' option.
|
||||
fixes:
|
||||
- Option 'version' is a global option, which is used for getting
|
||||
the client version. So there were problems with the OpenStack client,
|
||||
when we specified 'version' of the plugin, but OSC treated
|
||||
that as a request for getting the current client version. Hence, to fix
|
||||
this problem, 'version' is replaced by 'plugin-version'.
|
||||
Related bug 1565775.
|
|
@ -25,7 +25,7 @@ from oslo_log import log as logging
|
|||
|
||||
from saharaclient.osc.v1 import utils
|
||||
|
||||
CT_FIELDS = ['id', 'name', 'plugin_name', 'version', 'description',
|
||||
CT_FIELDS = ['id', 'name', 'plugin_name', 'plugin_version', 'description',
|
||||
'node_groups', 'anti_affinity', 'use_autoconfig', 'is_default',
|
||||
'is_protected', 'is_public']
|
||||
|
||||
|
@ -36,7 +36,7 @@ def _format_node_groups_list(node_groups):
|
|||
|
||||
|
||||
def _format_ct_output(data):
|
||||
data['version'] = data.pop('hadoop_version')
|
||||
data['plugin_version'] = data.pop('hadoop_version')
|
||||
data['node_groups'] = _format_node_groups_list(data['node_groups'])
|
||||
data['anti_affinity'] = osc_utils.format_list(data['anti_affinity'])
|
||||
|
||||
|
@ -59,8 +59,8 @@ def _configure_node_groups(node_groups, client):
|
|||
raise exceptions.CommandError('Node groups with the same plugins '
|
||||
'and versions must be specified')
|
||||
|
||||
plugin, version = plugins_versions.pop()
|
||||
return plugin, version, node_groups
|
||||
plugin, plugin_version = plugins_versions.pop()
|
||||
return plugin, plugin_version, node_groups
|
||||
|
||||
|
||||
class CreateClusterTemplate(show.ShowOne):
|
||||
|
@ -180,13 +180,13 @@ class CreateClusterTemplate(show.ShowOne):
|
|||
'An error occurred when reading '
|
||||
'shares from file %s: %s' % (parsed_args.shares, e))
|
||||
|
||||
plugin, version, node_groups = _configure_node_groups(
|
||||
plugin, plugin_version, node_groups = _configure_node_groups(
|
||||
parsed_args.node_groups, client)
|
||||
|
||||
data = client.cluster_templates.create(
|
||||
name=parsed_args.name,
|
||||
plugin_name=plugin,
|
||||
hadoop_version=version,
|
||||
hadoop_version=plugin_version,
|
||||
description=parsed_args.description,
|
||||
node_groups=node_groups,
|
||||
use_autoconfig=parsed_args.autoconfig,
|
||||
|
@ -222,8 +222,8 @@ class ListClusterTemplates(lister.Lister):
|
|||
)
|
||||
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar="<version>",
|
||||
'--plugin-version',
|
||||
metavar="<plugin_version>",
|
||||
help="List cluster templates with specific version of the "
|
||||
"plugin"
|
||||
)
|
||||
|
@ -243,8 +243,8 @@ class ListClusterTemplates(lister.Lister):
|
|||
search_opts = {}
|
||||
if parsed_args.plugin:
|
||||
search_opts['plugin_name'] = parsed_args.plugin
|
||||
if parsed_args.version:
|
||||
search_opts['hadoop_version'] = parsed_args.version
|
||||
if parsed_args.plugin_version:
|
||||
search_opts['hadoop_version'] = parsed_args.plugin_version
|
||||
|
||||
data = client.cluster_templates.list(search_opts=search_opts)
|
||||
|
||||
|
@ -255,12 +255,12 @@ class ListClusterTemplates(lister.Lister):
|
|||
columns = ('name', 'id', 'plugin_name', 'hadoop_version',
|
||||
'node_groups', 'description')
|
||||
column_headers = utils.prepare_column_headers(
|
||||
columns, {'hadoop_version': 'version'})
|
||||
columns, {'hadoop_version': 'plugin_version'})
|
||||
|
||||
else:
|
||||
columns = ('name', 'id', 'plugin_name', 'hadoop_version')
|
||||
column_headers = utils.prepare_column_headers(
|
||||
columns, {'hadoop_version': 'version'})
|
||||
columns, {'hadoop_version': 'plugin_version'})
|
||||
|
||||
return (
|
||||
column_headers,
|
||||
|
@ -448,9 +448,9 @@ class UpdateClusterTemplate(show.ShowOne):
|
|||
data = client.cluster_templates.update(
|
||||
ct_id, **template).to_dict()
|
||||
else:
|
||||
plugin, version, node_groups = None, None, None
|
||||
plugin, plugin_version, node_groups = None, None, None
|
||||
if parsed_args.node_groups:
|
||||
plugin, version, node_groups = _configure_node_groups(
|
||||
plugin, plugin_version, node_groups = _configure_node_groups(
|
||||
parsed_args.node_groups, client)
|
||||
|
||||
configs = None
|
||||
|
@ -476,7 +476,7 @@ class UpdateClusterTemplate(show.ShowOne):
|
|||
update_dict = utils.create_dict_from_kwargs(
|
||||
name=parsed_args.name,
|
||||
plugin_name=plugin,
|
||||
hadoop_version=version,
|
||||
hadoop_version=plugin_version,
|
||||
description=parsed_args.description,
|
||||
node_groups=node_groups,
|
||||
use_autoconfig=parsed_args.use_autoconfig,
|
||||
|
|
|
@ -27,7 +27,7 @@ from saharaclient.osc.v1 import utils
|
|||
|
||||
CLUSTER_FIELDS = ["cluster_template_id", "use_autoconfig", "user_keypair_id",
|
||||
"status", "image", "node_groups", "id",
|
||||
"anti_affinity", "version", "name", "is_transient",
|
||||
"anti_affinity", "plugin_version", "name", "is_transient",
|
||||
"is_protected", "description", "is_public",
|
||||
"neutron_management_network", "plugin_name"]
|
||||
|
||||
|
@ -38,7 +38,7 @@ def _format_node_groups_list(node_groups):
|
|||
|
||||
|
||||
def _format_cluster_output(data):
|
||||
data['version'] = data.pop('hadoop_version')
|
||||
data['plugin_version'] = data.pop('hadoop_version')
|
||||
data['image'] = data.pop('default_image_id')
|
||||
data['node_groups'] = _format_node_groups_list(data['node_groups'])
|
||||
data['anti_affinity'] = osc_utils.format_list(data['anti_affinity'])
|
||||
|
@ -171,7 +171,7 @@ class CreateCluster(show.ShowOne):
|
|||
'should be specified or json template should be provided '
|
||||
'with --json argument')
|
||||
|
||||
plugin, version, template_id = _get_plugin_version(
|
||||
plugin, plugin_version, template_id = _get_plugin_version(
|
||||
parsed_args.cluster_template, client)
|
||||
|
||||
image_id = utils.get_resource_id(client.images, parsed_args.image)
|
||||
|
@ -183,7 +183,7 @@ class CreateCluster(show.ShowOne):
|
|||
data = client.clusters.create(
|
||||
name=parsed_args.name,
|
||||
plugin_name=plugin,
|
||||
hadoop_version=version,
|
||||
hadoop_version=plugin_version,
|
||||
cluster_template_id=template_id,
|
||||
default_image_id=image_id,
|
||||
description=parsed_args.description,
|
||||
|
@ -245,8 +245,8 @@ class ListClusters(lister.Lister):
|
|||
)
|
||||
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar="<version>",
|
||||
'--plugin-version',
|
||||
metavar="<plugin_version>",
|
||||
help="List clusters with specific version of the "
|
||||
"plugin"
|
||||
)
|
||||
|
@ -265,8 +265,8 @@ class ListClusters(lister.Lister):
|
|||
search_opts = {}
|
||||
if parsed_args.plugin:
|
||||
search_opts['plugin_name'] = parsed_args.plugin
|
||||
if parsed_args.version:
|
||||
search_opts['hadoop_version'] = parsed_args.version
|
||||
if parsed_args.plugin_version:
|
||||
search_opts['hadoop_version'] = parsed_args.plugin_version
|
||||
|
||||
data = client.clusters.list(search_opts=search_opts)
|
||||
|
||||
|
@ -277,13 +277,13 @@ class ListClusters(lister.Lister):
|
|||
columns = ('name', 'id', 'plugin_name', 'hadoop_version',
|
||||
'status', 'description', 'default_image_id')
|
||||
column_headers = utils.prepare_column_headers(
|
||||
columns, {'hadoop_version': 'version',
|
||||
columns, {'hadoop_version': 'plugin_version',
|
||||
'default_image_id': 'image'})
|
||||
|
||||
else:
|
||||
columns = ('name', 'id', 'plugin_name', 'hadoop_version', 'status')
|
||||
column_headers = utils.prepare_column_headers(
|
||||
columns, {'hadoop_version': 'version',
|
||||
columns, {'hadoop_version': 'plugin_version',
|
||||
'default_image_id': 'image'})
|
||||
return (
|
||||
column_headers,
|
||||
|
|
|
@ -46,8 +46,8 @@ class ListJobTypes(lister.Lister):
|
|||
help="Get only job types supported by this plugin"
|
||||
)
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar="<version>",
|
||||
'--plugin-version',
|
||||
metavar="<plugin_version>",
|
||||
help="Get only job types supported by specific version of the "
|
||||
"plugin. This parameter will be taken into account only if "
|
||||
"plugin is provided"
|
||||
|
@ -64,11 +64,11 @@ class ListJobTypes(lister.Lister):
|
|||
search_opts['type'] = parsed_args.type
|
||||
if parsed_args.plugin:
|
||||
search_opts['plugin'] = parsed_args.plugin
|
||||
if parsed_args.version:
|
||||
search_opts['version'] = parsed_args.version
|
||||
elif parsed_args.version:
|
||||
if parsed_args.plugin_version:
|
||||
search_opts['plugin_version'] = parsed_args.plugin_version
|
||||
elif parsed_args.plugin_version:
|
||||
raise exceptions.CommandError(
|
||||
'--version argument should be specified with --plugin '
|
||||
'--plugin-version argument should be specified with --plugin '
|
||||
'argument')
|
||||
|
||||
data = client.job_types.list(search_opts=search_opts)
|
||||
|
|
|
@ -25,7 +25,7 @@ from oslo_log import log as logging
|
|||
|
||||
from saharaclient.osc.v1 import utils
|
||||
|
||||
NGT_FIELDS = ['id', 'name', 'plugin_name', 'version', 'node_processes',
|
||||
NGT_FIELDS = ['id', 'name', 'plugin_name', 'plugin_version', 'node_processes',
|
||||
'description', 'auto_security_group', 'security_groups',
|
||||
'availability_zone', 'flavor_id', 'floating_ip_pool',
|
||||
'volumes_per_node', 'volumes_size',
|
||||
|
@ -36,7 +36,7 @@ NGT_FIELDS = ['id', 'name', 'plugin_name', 'version', 'node_processes',
|
|||
|
||||
def _format_ngt_output(data):
|
||||
data['node_processes'] = osc_utils.format_list(data['node_processes'])
|
||||
data['version'] = data.pop('hadoop_version')
|
||||
data['plugin_version'] = data.pop('hadoop_version')
|
||||
if data['volumes_per_node'] == 0:
|
||||
del data['volume_local_to_instance']
|
||||
del data['volume_mount_prefix']
|
||||
|
@ -65,8 +65,8 @@ class CreateNodeGroupTemplate(show.ShowOne):
|
|||
help="Name of the plugin [REQUIRED if JSON is not provided]"
|
||||
)
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar="<version>",
|
||||
'--plugin-version',
|
||||
metavar="<plugin_version>",
|
||||
help="Version of the plugin [REQUIRED if JSON is not provided]"
|
||||
)
|
||||
parser.add_argument(
|
||||
|
@ -215,11 +215,11 @@ class CreateNodeGroupTemplate(show.ShowOne):
|
|||
data = client.node_group_templates.create(**template).to_dict()
|
||||
else:
|
||||
if (not parsed_args.name or not parsed_args.plugin or
|
||||
not parsed_args.version or not parsed_args.flavor or
|
||||
not parsed_args.plugin_version or not parsed_args.flavor or
|
||||
not parsed_args.processes):
|
||||
raise exceptions.CommandError(
|
||||
'At least --name, --plugin, --version, --processes, '
|
||||
'--flavor arguments should be specified or json template '
|
||||
'At least --name, --plugin, --plugin-version, --processes,'
|
||||
' --flavor arguments should be specified or json template '
|
||||
'should be provided with --json argument')
|
||||
|
||||
configs = None
|
||||
|
@ -249,7 +249,7 @@ class CreateNodeGroupTemplate(show.ShowOne):
|
|||
data = client.node_group_templates.create(
|
||||
name=parsed_args.name,
|
||||
plugin_name=parsed_args.plugin,
|
||||
hadoop_version=parsed_args.version,
|
||||
hadoop_version=parsed_args.plugin_version,
|
||||
flavor_id=flavor_id,
|
||||
description=parsed_args.description,
|
||||
volumes_per_node=parsed_args.volumes_per_node,
|
||||
|
@ -296,8 +296,8 @@ class ListNodeGroupTemplates(lister.Lister):
|
|||
)
|
||||
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar="<version>",
|
||||
'--plugin-version',
|
||||
metavar="<plugin_version>",
|
||||
help="List node group templates with specific version of the "
|
||||
"plugin"
|
||||
)
|
||||
|
@ -317,8 +317,8 @@ class ListNodeGroupTemplates(lister.Lister):
|
|||
search_opts = {}
|
||||
if parsed_args.plugin:
|
||||
search_opts['plugin_name'] = parsed_args.plugin
|
||||
if parsed_args.version:
|
||||
search_opts['hadoop_version'] = parsed_args.version
|
||||
if parsed_args.plugin_version:
|
||||
search_opts['hadoop_version'] = parsed_args.plugin_version
|
||||
|
||||
data = client.node_group_templates.list(search_opts=search_opts)
|
||||
|
||||
|
@ -329,12 +329,12 @@ class ListNodeGroupTemplates(lister.Lister):
|
|||
columns = ('name', 'id', 'plugin_name', 'hadoop_version',
|
||||
'node_processes', 'description')
|
||||
column_headers = utils.prepare_column_headers(
|
||||
columns, {'hadoop_version': 'version'})
|
||||
columns, {'hadoop_version': 'plugin_version'})
|
||||
|
||||
else:
|
||||
columns = ('name', 'id', 'plugin_name', 'hadoop_version')
|
||||
column_headers = utils.prepare_column_headers(
|
||||
columns, {'hadoop_version': 'version'})
|
||||
columns, {'hadoop_version': 'plugin_version'})
|
||||
|
||||
return (
|
||||
column_headers,
|
||||
|
@ -430,8 +430,8 @@ class UpdateNodeGroupTemplate(show.ShowOne):
|
|||
help="Name of the plugin"
|
||||
)
|
||||
parser.add_argument(
|
||||
'--version',
|
||||
metavar="<version>",
|
||||
'--plugin-version',
|
||||
metavar="<plugin_version>",
|
||||
help="Version of the plugin"
|
||||
)
|
||||
parser.add_argument(
|
||||
|
@ -663,7 +663,7 @@ class UpdateNodeGroupTemplate(show.ShowOne):
|
|||
update_dict = utils.create_dict_from_kwargs(
|
||||
name=parsed_args.name,
|
||||
plugin_name=parsed_args.plugin,
|
||||
hadoop_version=parsed_args.version,
|
||||
hadoop_version=parsed_args.plugin_version,
|
||||
flavor_id=flavor_id,
|
||||
description=parsed_args.description,
|
||||
volumes_per_node=parsed_args.volumes_per_node,
|
||||
|
|
|
@ -80,7 +80,8 @@ class ShowPlugin(show.ShowOne):
|
|||
help="Name of the plugin to display",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--version",
|
||||
"--plugin-version",
|
||||
metavar="<plugin_version>",
|
||||
help='Version of the plugin to display'
|
||||
)
|
||||
|
||||
|
@ -90,9 +91,9 @@ class ShowPlugin(show.ShowOne):
|
|||
self.log.debug("take_action(%s)" % parsed_args)
|
||||
client = self.app.client_manager.data_processing
|
||||
|
||||
if parsed_args.version:
|
||||
if parsed_args.plugin_version:
|
||||
data = client.plugins.get_version_details(
|
||||
parsed_args.plugin, parsed_args.version).to_dict()
|
||||
parsed_args.plugin, parsed_args.plugin_version).to_dict()
|
||||
|
||||
processes = data.pop('node_processes')
|
||||
for k, v in processes.items():
|
||||
|
@ -129,8 +130,8 @@ class GetPluginConfigs(command.Command):
|
|||
help="Name of the plugin to provide config information about",
|
||||
)
|
||||
parser.add_argument(
|
||||
"version",
|
||||
metavar="<version>",
|
||||
"plugin_version",
|
||||
metavar="<plugin_version>",
|
||||
help="Version of the plugin to provide config information about",
|
||||
)
|
||||
parser.add_argument(
|
||||
|
@ -148,7 +149,7 @@ class GetPluginConfigs(command.Command):
|
|||
parsed_args.file = parsed_args.plugin
|
||||
|
||||
data = client.plugins.get_version_details(
|
||||
parsed_args.plugin, parsed_args.version).to_dict()
|
||||
parsed_args.plugin, parsed_args.plugin_version).to_dict()
|
||||
|
||||
if path.exists(parsed_args.file):
|
||||
self.log.error('File "%s" already exists. Chose another one with '
|
||||
|
|
|
@ -113,13 +113,13 @@ class TestCreateClusterTemplate(TestClusterTemplates):
|
|||
# Check that columns are correct
|
||||
expected_columns = ('Anti affinity', 'Description', 'Id', 'Is default',
|
||||
'Is protected', 'Is public', 'Name', 'Node groups',
|
||||
'Plugin name', 'Use autoconfig', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Use autoconfig')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'Cluster template for tests',
|
||||
'0647061f-ab98-4c89-84e0-30738ea55750', False, False,
|
||||
False, 'template', 'fakeng:2', 'fake', True, '0.1')
|
||||
False, 'template', 'fakeng:2', 'fake', '0.1', True)
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
|
||||
|
@ -141,7 +141,7 @@ class TestListClusterTemplates(TestClusterTemplates):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -158,7 +158,7 @@ class TestListClusterTemplates(TestClusterTemplates):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version',
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version',
|
||||
'Node groups', 'Description']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
|
@ -169,8 +169,9 @@ class TestListClusterTemplates(TestClusterTemplates):
|
|||
self.assertEqual(expected_data, list(data))
|
||||
|
||||
def test_ct_list_extra_search_opts(self):
|
||||
arglist = ['--plugin', 'fake', '--version', '0.1', '--name', 'templ']
|
||||
verifylist = [('plugin', 'fake'), ('version', '0.1'),
|
||||
arglist = ['--plugin', 'fake', '--plugin-version', '0.1', '--name',
|
||||
'templ']
|
||||
verifylist = [('plugin', 'fake'), ('plugin_version', '0.1'),
|
||||
('name', 'templ')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
@ -178,7 +179,7 @@ class TestListClusterTemplates(TestClusterTemplates):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -210,14 +211,14 @@ class TestShowClusterTemplate(TestClusterTemplates):
|
|||
# Check that columns are correct
|
||||
expected_columns = ('Anti affinity', 'Description', 'Id', 'Is default',
|
||||
'Is protected', 'Is public', 'Name', 'Node groups',
|
||||
'Plugin name', 'Use autoconfig', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Use autoconfig')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = (
|
||||
'', 'Cluster template for tests',
|
||||
'0647061f-ab98-4c89-84e0-30738ea55750', False, False, False,
|
||||
'template', 'fakeng:2', 'fake', True, '0.1')
|
||||
'template', 'fakeng:2', 'fake', '0.1', True)
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
|
||||
|
@ -304,13 +305,13 @@ class TestUpdateClusterTemplate(TestClusterTemplates):
|
|||
# Check that columns are correct
|
||||
expected_columns = ('Anti affinity', 'Description', 'Id', 'Is default',
|
||||
'Is protected', 'Is public', 'Name', 'Node groups',
|
||||
'Plugin name', 'Use autoconfig', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Use autoconfig')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'Cluster template for tests',
|
||||
'0647061f-ab98-4c89-84e0-30738ea55750', False, False,
|
||||
False, 'template', 'fakeng:2', 'fake', True, '0.1')
|
||||
False, 'template', 'fakeng:2', 'fake', '0.1', True)
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_ct_update_private_unprotected(self):
|
||||
|
|
|
@ -158,15 +158,15 @@ class TestCreateCluster(TestClusters):
|
|||
'Description', 'Id', 'Image',
|
||||
'Is protected', 'Is public', 'Name',
|
||||
'Neutron management network', 'Node groups',
|
||||
'Plugin name', 'Status', 'Use autoconfig',
|
||||
'User keypair id', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Status',
|
||||
'Use autoconfig', 'User keypair id')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'ct_id', 'Cluster template for tests',
|
||||
'cluster_id', 'img_id', False, False, 'fake',
|
||||
'net_id', 'fakeng:2', 'fake', 'Active', True, 'test',
|
||||
'0.1')
|
||||
'net_id', 'fakeng:2', 'fake', '0.1', 'Active', True,
|
||||
'test')
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_cluster_create_with_count(self):
|
||||
|
@ -219,7 +219,8 @@ class TestListClusters(TestClusters):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version', 'Status']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version',
|
||||
'Status']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -235,8 +236,8 @@ class TestListClusters(TestClusters):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version', 'Status',
|
||||
'Description', 'Image']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version',
|
||||
'Status', 'Description', 'Image']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -245,8 +246,9 @@ class TestListClusters(TestClusters):
|
|||
self.assertEqual(expected_data, list(data))
|
||||
|
||||
def test_clusters_list_extra_search_opts(self):
|
||||
arglist = ['--plugin', 'fake', '--version', '0.1', '--name', 'fake']
|
||||
verifylist = [('plugin', 'fake'), ('version', '0.1'),
|
||||
arglist = ['--plugin', 'fake', '--plugin-version', '0.1', '--name',
|
||||
'fake']
|
||||
verifylist = [('plugin', 'fake'), ('plugin_version', '0.1'),
|
||||
('name', 'fake')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
@ -254,7 +256,8 @@ class TestListClusters(TestClusters):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version', 'Status']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version',
|
||||
'Status']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -287,15 +290,15 @@ class TestShowCluster(TestClusters):
|
|||
'Description', 'Id', 'Image',
|
||||
'Is protected', 'Is public', 'Name',
|
||||
'Neutron management network', 'Node groups',
|
||||
'Plugin name', 'Status', 'Use autoconfig',
|
||||
'User keypair id', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Status',
|
||||
'Use autoconfig', 'User keypair id')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'ct_id', 'Cluster template for tests',
|
||||
'cluster_id', 'img_id', False, False, 'fake',
|
||||
'net_id', 'fakeng:2', 'fake', 'Active', True, 'test',
|
||||
'0.1')
|
||||
'net_id', 'fakeng:2', 'fake', '0.1', 'Active', True,
|
||||
'test')
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_cluster_show_verification(self):
|
||||
|
@ -314,16 +317,16 @@ class TestShowCluster(TestClusters):
|
|||
'Description', 'Health check (some check)', 'Id',
|
||||
'Image', 'Is protected', 'Is public', 'Name',
|
||||
'Neutron management network', 'Node groups',
|
||||
'Plugin name', 'Status', 'Use autoconfig',
|
||||
'User keypair id', 'Verification status',
|
||||
'Version')
|
||||
'Plugin name', 'Plugin version', 'Status',
|
||||
'Use autoconfig', 'User keypair id',
|
||||
'Verification status')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'ct_id', 'Cluster template for tests', 'GREEN',
|
||||
'cluster_id', 'img_id', False, False, 'fake',
|
||||
'net_id', 'fakeng:2', 'fake', 'Active', True, 'test',
|
||||
'GREEN', '0.1')
|
||||
'net_id', 'fakeng:2', 'fake', '0.1', 'Active', True,
|
||||
'test', 'GREEN')
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
|
||||
|
@ -400,15 +403,15 @@ class TestUpdateCluster(TestClusters):
|
|||
'Description', 'Id', 'Image',
|
||||
'Is protected', 'Is public', 'Name',
|
||||
'Neutron management network', 'Node groups',
|
||||
'Plugin name', 'Status', 'Use autoconfig',
|
||||
'User keypair id', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Status',
|
||||
'Use autoconfig', 'User keypair id')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'ct_id', 'Cluster template for tests',
|
||||
'cluster_id', 'img_id', False, False, 'fake',
|
||||
'net_id', 'fakeng:2', 'fake', 'Active', True, 'test',
|
||||
'0.1')
|
||||
'net_id', 'fakeng:2', 'fake', '0.1', 'Active', True,
|
||||
'test')
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_cluster_update_private_unprotected(self):
|
||||
|
@ -469,15 +472,15 @@ class TestScaleCluster(TestClusters):
|
|||
'Description', 'Id', 'Image',
|
||||
'Is protected', 'Is public', 'Name',
|
||||
'Neutron management network', 'Node groups',
|
||||
'Plugin name', 'Status', 'Use autoconfig',
|
||||
'User keypair id', 'Version')
|
||||
'Plugin name', 'Plugin version', 'Status',
|
||||
'Use autoconfig', 'User keypair id')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
expected_data = ('', 'ct_id', 'Cluster template for tests',
|
||||
'cluster_id', 'img_id', False, False, 'fake',
|
||||
'net_id', 'fakeng:2', 'fake', 'Active', True, 'test',
|
||||
'0.1')
|
||||
'net_id', 'fakeng:2', 'fake', '0.1', 'Active', True,
|
||||
'test')
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_cluster_scale_add_ng(self):
|
||||
|
|
|
@ -75,8 +75,10 @@ class TestListJobTemplates(TestJobTypes):
|
|||
self.assertEqual(expected_data, list(data))
|
||||
|
||||
def test_job_types_list_extra_search_opts(self):
|
||||
arglist = ['--type', 'Pig', '--plugin', 'fake', '--version', '0.1']
|
||||
verifylist = [('type', 'Pig'), ('plugin', 'fake'), ('version', '0.1')]
|
||||
arglist = ['--type', 'Pig', '--plugin', 'fake', '--plugin-version',
|
||||
'0.1']
|
||||
verifylist = [('type', 'Pig'), ('plugin', 'fake'),
|
||||
('plugin_version', '0.1')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
|
|
|
@ -77,11 +77,11 @@ class TestCreateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
self.cmd = osc_ngt.CreateNodeGroupTemplate(self.app, None)
|
||||
|
||||
def test_ngt_create_minimum_options(self):
|
||||
arglist = ['--name', 'template', '--plugin', 'fake', '--version',
|
||||
'0.1', '--processes', 'namenode', 'tasktracker',
|
||||
'--flavor', 'flavor_id']
|
||||
arglist = ['--name', 'template', '--plugin', 'fake',
|
||||
'--plugin-version', '0.1', '--processes', 'namenode',
|
||||
'tasktracker', '--flavor', 'flavor_id']
|
||||
verifylist = [('name', 'template'), ('plugin', 'fake'),
|
||||
('version', '0.1'), ('flavor', 'flavor_id'),
|
||||
('plugin_version', '0.1'), ('flavor', 'flavor_id'),
|
||||
('processes', ['namenode', 'tasktracker'])]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
@ -102,11 +102,12 @@ class TestCreateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
node_configs=None)
|
||||
|
||||
def test_ngt_create_all_options(self):
|
||||
arglist = ['--name', 'template', '--plugin', 'fake', '--version',
|
||||
'0.1', '--processes', 'namenode', 'tasktracker',
|
||||
'--security-groups', 'secgr', '--auto-security-group',
|
||||
'--availability-zone', 'av_zone', '--flavor', 'flavor_id',
|
||||
'--floating-ip-pool', 'floating_pool', '--volumes-per-node',
|
||||
arglist = ['--name', 'template', '--plugin', 'fake',
|
||||
'--plugin-version', '0.1', '--processes', 'namenode',
|
||||
'tasktracker', '--security-groups', 'secgr',
|
||||
'--auto-security-group', '--availability-zone', 'av_zone',
|
||||
'--flavor', 'flavor_id', '--floating-ip-pool',
|
||||
'floating_pool', '--volumes-per-node',
|
||||
'2', '--volumes-size', '2', '--volumes-type', 'type',
|
||||
'--volumes-availability-zone', 'vavzone',
|
||||
'--volumes-mount-prefix', '/volume/asd',
|
||||
|
@ -115,7 +116,7 @@ class TestCreateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
'--protected']
|
||||
|
||||
verifylist = [('name', 'template'), ('plugin', 'fake'),
|
||||
('version', '0.1'),
|
||||
('plugin_version', '0.1'),
|
||||
('processes', ['namenode', 'tasktracker']),
|
||||
('security_groups', ['secgr']),
|
||||
('auto_security_group', True),
|
||||
|
@ -151,8 +152,8 @@ class TestCreateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
'Auto security group', 'Availability zone', 'Description',
|
||||
'Flavor id', 'Floating ip pool', 'Id', 'Is default',
|
||||
'Is protected', 'Is proxy gateway', 'Is public', 'Name',
|
||||
'Node processes', 'Plugin name', 'Security groups',
|
||||
'Use autoconfig', 'Version', 'Volume local to instance',
|
||||
'Node processes', 'Plugin name', 'Plugin version',
|
||||
'Security groups', 'Use autoconfig', 'Volume local to instance',
|
||||
'Volume mount prefix', 'Volume type', 'Volumes availability zone',
|
||||
'Volumes per node', 'Volumes size')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
@ -161,8 +162,8 @@ class TestCreateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
expected_data = (
|
||||
True, 'av_zone', 'description', 'flavor_id', 'floating_pool',
|
||||
'ng_id', False, False, False,
|
||||
True, 'template', 'namenode, tasktracker', 'fake', None, True,
|
||||
'0.1', False, '/volumes/disk', None, None, 2, 2)
|
||||
True, 'template', 'namenode, tasktracker', 'fake', '0.1',
|
||||
None, True, False, '/volumes/disk', None, None, 2, 2)
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
|
||||
|
@ -184,7 +185,7 @@ class TestListNodeGroupTemplates(TestNodeGroupTemplates):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -200,7 +201,7 @@ class TestListNodeGroupTemplates(TestNodeGroupTemplates):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version',
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version',
|
||||
'Node processes', 'Description']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
|
@ -210,8 +211,9 @@ class TestListNodeGroupTemplates(TestNodeGroupTemplates):
|
|||
self.assertEqual(expected_data, list(data))
|
||||
|
||||
def test_ngt_list_extra_search_opts(self):
|
||||
arglist = ['--plugin', 'fake', '--version', '0.1', '--name', 'templ']
|
||||
verifylist = [('plugin', 'fake'), ('version', '0.1'),
|
||||
arglist = ['--plugin', 'fake', '--plugin-version', '0.1', '--name',
|
||||
'templ']
|
||||
verifylist = [('plugin', 'fake'), ('plugin_version', '0.1'),
|
||||
('name', 'templ')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
@ -219,7 +221,7 @@ class TestListNodeGroupTemplates(TestNodeGroupTemplates):
|
|||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
# Check that columns are correct
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Version']
|
||||
expected_columns = ['Name', 'Id', 'Plugin name', 'Plugin version']
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
||||
# Check that data is correct
|
||||
|
@ -252,8 +254,8 @@ class TestShowNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
'Auto security group', 'Availability zone', 'Description',
|
||||
'Flavor id', 'Floating ip pool', 'Id', 'Is default',
|
||||
'Is protected', 'Is proxy gateway', 'Is public', 'Name',
|
||||
'Node processes', 'Plugin name', 'Security groups',
|
||||
'Use autoconfig', 'Version', 'Volume local to instance',
|
||||
'Node processes', 'Plugin name', 'Plugin version',
|
||||
'Security groups', 'Use autoconfig', 'Volume local to instance',
|
||||
'Volume mount prefix', 'Volume type', 'Volumes availability zone',
|
||||
'Volumes per node', 'Volumes size')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
@ -262,7 +264,7 @@ class TestShowNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
expected_data = (
|
||||
True, 'av_zone', 'description', 'flavor_id', 'floating_pool',
|
||||
'ng_id', False, False, False, True, 'template',
|
||||
'namenode, tasktracker', 'fake', None, True, '0.1', False,
|
||||
'namenode, tasktracker', 'fake', '0.1', None, True, False,
|
||||
'/volumes/disk', None, None, 2, 2)
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
|
@ -324,7 +326,7 @@ class TestUpdateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
|
||||
def test_ngt_update_all_options(self):
|
||||
arglist = ['template', '--name', 'template', '--plugin', 'fake',
|
||||
'--version', '0.1', '--processes', 'namenode',
|
||||
'--plugin-version', '0.1', '--processes', 'namenode',
|
||||
'tasktracker', '--security-groups', 'secgr',
|
||||
'--auto-security-group-enable',
|
||||
'--availability-zone', 'av_zone', '--flavor', 'flavor_id',
|
||||
|
@ -338,7 +340,7 @@ class TestUpdateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
|
||||
verifylist = [('node_group_template', 'template'),
|
||||
('name', 'template'), ('plugin', 'fake'),
|
||||
('version', '0.1'),
|
||||
('plugin_version', '0.1'),
|
||||
('processes', ['namenode', 'tasktracker']),
|
||||
('security_groups', ['secgr']),
|
||||
('use_auto_security_group', True),
|
||||
|
@ -376,8 +378,8 @@ class TestUpdateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
'Auto security group', 'Availability zone', 'Description',
|
||||
'Flavor id', 'Floating ip pool', 'Id', 'Is default',
|
||||
'Is protected', 'Is proxy gateway', 'Is public', 'Name',
|
||||
'Node processes', 'Plugin name', 'Security groups',
|
||||
'Use autoconfig', 'Version', 'Volume local to instance',
|
||||
'Node processes', 'Plugin name', 'Plugin version',
|
||||
'Security groups', 'Use autoconfig', 'Volume local to instance',
|
||||
'Volume mount prefix', 'Volume type', 'Volumes availability zone',
|
||||
'Volumes per node', 'Volumes size')
|
||||
self.assertEqual(expected_columns, columns)
|
||||
|
@ -386,8 +388,8 @@ class TestUpdateNodeGroupTemplate(TestNodeGroupTemplates):
|
|||
expected_data = (
|
||||
True, 'av_zone', 'description', 'flavor_id', 'floating_pool',
|
||||
'ng_id', False, False, False, True, 'template',
|
||||
'namenode, tasktracker', 'fake', None, True,
|
||||
'0.1', False, '/volumes/disk', None, None, 2, 2)
|
||||
'namenode, tasktracker', 'fake', '0.1', None, True,
|
||||
False, '/volumes/disk', None, None, 2, 2)
|
||||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_ngt_update_private_unprotected(self):
|
||||
|
|
|
@ -112,8 +112,8 @@ class TestShowPlugin(TestPlugins):
|
|||
self.assertEqual(expected_data, data)
|
||||
|
||||
def test_plugin_version_show(self):
|
||||
arglist = ['fake', '--version', '0.1']
|
||||
verifylist = [('plugin', 'fake'), ('version', '0.1')]
|
||||
arglist = ['fake', '--plugin-version', '0.1']
|
||||
verifylist = [('plugin', 'fake'), ('plugin_version', '0.1')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
|
@ -149,7 +149,7 @@ class TestGetPluginConfigs(TestPlugins):
|
|||
m_open = mock.mock_open()
|
||||
with mock.patch('six.moves.builtins.open', m_open, create=True):
|
||||
arglist = ['fake', '0.1']
|
||||
verifylist = [('plugin', 'fake'), ('version', '0.1')]
|
||||
verifylist = [('plugin', 'fake'), ('plugin_version', '0.1')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
||||
|
@ -171,7 +171,7 @@ class TestGetPluginConfigs(TestPlugins):
|
|||
m_open = mock.mock_open()
|
||||
with mock.patch('six.moves.builtins.open', m_open):
|
||||
arglist = ['fake', '0.1', '--file', 'testfile']
|
||||
verifylist = [('plugin', 'fake'), ('version', '0.1'),
|
||||
verifylist = [('plugin', 'fake'), ('plugin_version', '0.1'),
|
||||
('file', 'testfile')]
|
||||
|
||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||
|
|
Loading…
Reference in New Issue