Merge "Add deprecation warnings for senlin commands"
This commit is contained in:
@@ -16,6 +16,7 @@ import six
|
||||
import testtools
|
||||
|
||||
from openstack import exceptions as oexc
|
||||
from oslotest import mockpatch
|
||||
from senlinclient.common import exc
|
||||
from senlinclient.common.i18n import _
|
||||
from senlinclient.common import utils
|
||||
@@ -39,6 +40,13 @@ class ShellTest(testtools.TestCase):
|
||||
'template': {"Template": "data"}
|
||||
}
|
||||
}
|
||||
self.patch('senlinclient.v1.shell.show_deprecated')
|
||||
|
||||
# NOTE(pshchelo): this overrides the testtools.TestCase.patch method
|
||||
# that does simple monkey-patching in favor of mock's patching
|
||||
def patch(self, target, **kwargs):
|
||||
mockfixture = self.useFixture(mockpatch.Patch(target, **kwargs))
|
||||
return mockfixture.mock
|
||||
|
||||
def _make_args(self, args):
|
||||
"""Convert a dict to an object."""
|
||||
|
||||
@@ -15,17 +15,27 @@ import logging
|
||||
from openstack import exceptions as sdk_exc
|
||||
from senlinclient.common import exc
|
||||
from senlinclient.common.i18n import _
|
||||
from senlinclient.common.i18n import _LW
|
||||
from senlinclient.common import utils
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def show_deprecated(deprecated, recommended):
|
||||
logger.warning(_LW('"%(old)s" is deprecated, '
|
||||
'please use "%(new)s" instead.'),
|
||||
{'old': deprecated,
|
||||
'new': recommended}
|
||||
)
|
||||
|
||||
|
||||
def do_build_info(service, args=None):
|
||||
"""Retrieve build information.
|
||||
|
||||
:param sc: Instance of senlinclient.
|
||||
:param args: Additional command line arguments, if any.
|
||||
"""
|
||||
show_deprecated('senlin build-info', 'openstack cluster build info')
|
||||
result = service.get_build_info()
|
||||
|
||||
formatters = {
|
||||
@@ -44,6 +54,8 @@ def do_profile_type_list(service, args=None):
|
||||
:param sc: Instance of senlinclient.
|
||||
:param args: Additional command line arguments, if any.
|
||||
"""
|
||||
show_deprecated('senlin profile-type-list',
|
||||
'openstack cluster profile type list')
|
||||
types = service.profile_types()
|
||||
utils.print_list(types, ['name'], sortby_index=0)
|
||||
|
||||
@@ -56,6 +68,8 @@ def do_profile_type_list(service, args=None):
|
||||
% ', '.join(utils.supported_formats.keys()))
|
||||
def do_profile_type_show(service, args):
|
||||
"""Get the details about a profile type."""
|
||||
show_deprecated('senlin profile-type-show',
|
||||
'openstack cluster profile type show')
|
||||
try:
|
||||
res = service.get_profile_type(args.type_name)
|
||||
except sdk_exc.ResourceNotFound:
|
||||
@@ -93,6 +107,7 @@ def do_profile_type_show(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_profile_list(service, args=None):
|
||||
"""List profiles that meet the criteria."""
|
||||
show_deprecated('senlin profile-list', 'openstack cluster profile list')
|
||||
fields = ['id', 'name', 'type', 'created_at']
|
||||
queries = {
|
||||
'limit': args.limit,
|
||||
@@ -143,7 +158,8 @@ def _show_profile(service, profile_id):
|
||||
help=_('Name of the profile to create.'))
|
||||
def do_profile_create(service, args):
|
||||
"""Create a profile."""
|
||||
|
||||
show_deprecated('senlin profile-create',
|
||||
'openstack cluster profile create')
|
||||
spec = utils.get_spec_content(args.spec_file)
|
||||
type_name = spec.get('type', None)
|
||||
type_version = spec.get('version', None)
|
||||
@@ -173,6 +189,7 @@ def do_profile_create(service, args):
|
||||
help=_('Name or ID of profile to show.'))
|
||||
def do_profile_show(service, args):
|
||||
"""Show the profile details."""
|
||||
show_deprecated('senlin profile-show', 'openstack cluster profile show')
|
||||
_show_profile(service, args.id)
|
||||
|
||||
|
||||
@@ -187,6 +204,8 @@ def do_profile_show(service, args):
|
||||
help=_('Name or ID of the profile to update.'))
|
||||
def do_profile_update(service, args):
|
||||
"""Update a profile."""
|
||||
show_deprecated('senlin profile-update',
|
||||
'openstack cluster profile update')
|
||||
params = {
|
||||
'name': args.name,
|
||||
}
|
||||
@@ -206,6 +225,8 @@ def do_profile_update(service, args):
|
||||
help=_('Name or ID of profile(s) to delete.'))
|
||||
def do_profile_delete(service, args):
|
||||
"""Delete profile(s)."""
|
||||
show_deprecated('senlin profile-delete',
|
||||
'openstack cluster profile delete')
|
||||
failure_count = 0
|
||||
|
||||
for pid in args.id:
|
||||
@@ -225,6 +246,8 @@ def do_profile_delete(service, args):
|
||||
|
||||
def do_policy_type_list(service, args):
|
||||
"""List the available policy types."""
|
||||
show_deprecated('senlin policy-type-list',
|
||||
'openstack cluster policy type list')
|
||||
types = service.policy_types()
|
||||
utils.print_list(types, ['name'], sortby_index=0)
|
||||
|
||||
@@ -237,6 +260,8 @@ def do_policy_type_list(service, args):
|
||||
% ', '.join(utils.supported_formats.keys()))
|
||||
def do_policy_type_show(service, args):
|
||||
"""Get the details about a policy type."""
|
||||
show_deprecated('senlin policy-type-show',
|
||||
'openstack cluster policy type show')
|
||||
try:
|
||||
res = service.get_policy_type(args.type_name)
|
||||
except sdk_exc.ResourceNotFound:
|
||||
@@ -272,6 +297,7 @@ def do_policy_type_show(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_policy_list(service, args=None):
|
||||
"""List policies that meet the criteria."""
|
||||
show_deprecated('senlin policy-list', 'openstack cluster policy list')
|
||||
fields = ['id', 'name', 'type', 'created_at']
|
||||
queries = {
|
||||
'limit': args.limit,
|
||||
@@ -312,6 +338,7 @@ def _show_policy(service, policy_id):
|
||||
help=_('Name of the policy to create.'))
|
||||
def do_policy_create(service, args):
|
||||
"""Create a policy."""
|
||||
show_deprecated('senlin policy-create', 'openstack cluster policy create')
|
||||
spec = utils.get_spec_content(args.spec_file)
|
||||
attrs = {
|
||||
'name': args.name,
|
||||
@@ -326,6 +353,7 @@ def do_policy_create(service, args):
|
||||
help=_('Name of the policy to be updated.'))
|
||||
def do_policy_show(service, args):
|
||||
"""Show the policy details."""
|
||||
show_deprecated('senlin policy-show', 'openstack cluster policy show')
|
||||
_show_policy(service, policy_id=args.id)
|
||||
|
||||
|
||||
@@ -335,6 +363,7 @@ def do_policy_show(service, args):
|
||||
help=_('Name of the policy to be updated.'))
|
||||
def do_policy_update(service, args):
|
||||
"""Update a policy."""
|
||||
show_deprecated('senlin policy-update', 'openstack cluster policy update')
|
||||
params = {
|
||||
'name': args.name,
|
||||
}
|
||||
@@ -349,6 +378,7 @@ def do_policy_update(service, args):
|
||||
help=_('Name or ID of policy(s) to delete.'))
|
||||
def do_policy_delete(service, args):
|
||||
"""Delete policy(s)."""
|
||||
show_deprecated('senlin policy-delete', 'openstack cluster policy delete')
|
||||
failure_count = 0
|
||||
|
||||
for pid in args.id:
|
||||
@@ -388,6 +418,7 @@ def do_policy_delete(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_cluster_list(service, args=None):
|
||||
"""List the user's clusters."""
|
||||
show_deprecated('senlin cluster-list', 'openstack cluster list')
|
||||
fields = ['id', 'name', 'status', 'created_at', 'updated_at']
|
||||
queries = {
|
||||
'limit': args.limit,
|
||||
@@ -443,6 +474,7 @@ def _show_cluster(service, cluster_id):
|
||||
help=_('Name of the cluster to create.'))
|
||||
def do_cluster_create(service, args):
|
||||
"""Create the cluster."""
|
||||
show_deprecated('senlin cluster-create', 'openstack cluster create')
|
||||
if args.min_size and not args.desired_capacity:
|
||||
args.desired_capacity = args.min_size
|
||||
attrs = {
|
||||
@@ -463,6 +495,7 @@ def do_cluster_create(service, args):
|
||||
help=_('Name or ID of cluster(s) to delete.'))
|
||||
def do_cluster_delete(service, args):
|
||||
"""Delete the cluster(s)."""
|
||||
show_deprecated('senlin cluster-delete', 'openstack cluster delete')
|
||||
failure_count = 0
|
||||
|
||||
for cid in args.id:
|
||||
@@ -492,6 +525,7 @@ def do_cluster_delete(service, args):
|
||||
help=_('Name or ID of cluster to be updated.'))
|
||||
def do_cluster_update(service, args):
|
||||
"""Update the cluster."""
|
||||
show_deprecated('senlin cluster-update', 'openstack cluster update')
|
||||
cluster = service.get_cluster(args.id)
|
||||
attrs = {
|
||||
'name': args.name,
|
||||
@@ -508,6 +542,7 @@ def do_cluster_update(service, args):
|
||||
help=_('Name or ID of cluster to show.'))
|
||||
def do_cluster_show(service, args):
|
||||
"""Show details of the cluster."""
|
||||
show_deprecated('senlin cluster-show', 'openstack cluster show')
|
||||
_show_cluster(service, args.id)
|
||||
|
||||
|
||||
@@ -526,7 +561,8 @@ def do_cluster_show(service, args):
|
||||
help=_('Name or ID of cluster to nodes from.'))
|
||||
def do_cluster_node_list(service, args):
|
||||
"""List nodes from cluster."""
|
||||
|
||||
show_deprecated('senlin cluster-node-list',
|
||||
'openstack cluster node members list')
|
||||
queries = {
|
||||
'cluster_id': args.id,
|
||||
'limit': args.limit,
|
||||
@@ -555,6 +591,8 @@ def do_cluster_node_list(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_node_add(service, args):
|
||||
"""Add specified nodes to cluster."""
|
||||
show_deprecated('senlin cluster-node-add',
|
||||
'openstack cluster node members add')
|
||||
node_ids = args.nodes.split(',')
|
||||
resp = service.cluster_add_nodes(args.id, node_ids)
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
@@ -567,6 +605,8 @@ def do_cluster_node_add(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_node_del(service, args):
|
||||
"""Delete specified nodes from cluster."""
|
||||
show_deprecated('senlin cluster-node-del',
|
||||
'openstack cluster node members del')
|
||||
node_ids = args.nodes.split(',')
|
||||
resp = service.cluster_del_nodes(args.id, node_ids)
|
||||
print('Request accepted by action: %s' % resp['action'])
|
||||
@@ -599,7 +639,7 @@ def do_cluster_resize(service, args):
|
||||
"""Resize a cluster."""
|
||||
# validate parameters
|
||||
# NOTE: this will be much simpler if cliutils supports exclusive groups
|
||||
|
||||
show_deprecated('senlin cluster-resize', 'openstack cluster resize')
|
||||
action_args = {}
|
||||
|
||||
capacity = args.capacity
|
||||
@@ -672,6 +712,7 @@ def do_cluster_resize(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_scale_out(service, args):
|
||||
"""Scale out a cluster by the specified number of nodes."""
|
||||
show_deprecated('senlin cluster-scale-out', 'openstack cluster scale out')
|
||||
resp = service.cluster_scale_out(args.id, args.count)
|
||||
print('Request accepted by action %s' % resp['action'])
|
||||
|
||||
@@ -682,6 +723,7 @@ def do_cluster_scale_out(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_scale_in(service, args):
|
||||
"""Scale in a cluster by the specified number of nodes."""
|
||||
show_deprecated('senlin cluster-scale-in', 'openstack cluster scale in')
|
||||
resp = service.cluster_scale_in(args.id, args.count)
|
||||
print('Request accepted by action %s' % resp['action'])
|
||||
|
||||
@@ -701,6 +743,8 @@ def do_cluster_scale_in(service, args):
|
||||
help=_('Name or ID of cluster to query on.'))
|
||||
def do_cluster_policy_list(service, args):
|
||||
"""List policies from cluster."""
|
||||
show_deprecated('senlin cluster-policy-list',
|
||||
'openstack cluster policy binding list')
|
||||
fields = ['policy_id', 'policy_name', 'policy_type', 'enabled']
|
||||
|
||||
cluster = service.get_cluster(args.id)
|
||||
@@ -729,6 +773,8 @@ def do_cluster_policy_list(service, args):
|
||||
help=_('ID or name of the cluster to query on.'))
|
||||
def do_cluster_policy_show(service, args):
|
||||
"""Show a specific policy that is bound to the specified cluster."""
|
||||
show_deprecated('senlin cluster-policy-show',
|
||||
'openstack cluster policy binding show')
|
||||
binding = service.get_cluster_policy(args.policy, args.id)
|
||||
utils.print_dict(binding.to_dict())
|
||||
|
||||
@@ -742,6 +788,8 @@ def do_cluster_policy_show(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_policy_attach(service, args):
|
||||
"""Attach policy to cluster."""
|
||||
show_deprecated('senlin cluster-policy-attach',
|
||||
'openstack cluster policy attach')
|
||||
kwargs = {
|
||||
'enabled': args.enabled,
|
||||
}
|
||||
@@ -756,6 +804,8 @@ def do_cluster_policy_attach(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_policy_detach(service, args):
|
||||
"""Detach policy from cluster."""
|
||||
show_deprecated('senlin cluster-policy-detach',
|
||||
'openstack cluster policy detach')
|
||||
resp = service.cluster_detach_policy(args.id, args.policy)
|
||||
print('Request accepted by action %s' % resp['action'])
|
||||
|
||||
@@ -768,6 +818,8 @@ def do_cluster_policy_detach(service, args):
|
||||
help=_('Name or ID of cluster to operate on.'))
|
||||
def do_cluster_policy_update(service, args):
|
||||
"""Update a policy's properties on a cluster."""
|
||||
show_deprecated('senlin cluster-policy-update',
|
||||
'openstack cluster policy binding update')
|
||||
kwargs = {
|
||||
'enabled': args.enabled,
|
||||
}
|
||||
@@ -780,6 +832,7 @@ def do_cluster_policy_update(service, args):
|
||||
help=_('ID or name of cluster(s) to operate on.'))
|
||||
def do_cluster_check(service, args):
|
||||
"""Check the cluster(s)."""
|
||||
show_deprecated('senlin cluster-check', 'openstack cluster check')
|
||||
for cid in args.id:
|
||||
resp = service.check_cluster(cid)
|
||||
print('Cluster check request on cluster %(cid)s is accepted by '
|
||||
@@ -790,6 +843,7 @@ def do_cluster_check(service, args):
|
||||
help=_('ID or name of cluster(s) to operate on.'))
|
||||
def do_cluster_recover(service, args):
|
||||
"""Recover the cluster(s)."""
|
||||
show_deprecated('senlin cluster-recover', 'openstack cluster recover')
|
||||
for cid in args.id:
|
||||
resp = service.recover_cluster(cid)
|
||||
print('Cluster recover request on cluster %(cid)s is accepted by '
|
||||
@@ -822,6 +876,7 @@ def do_cluster_recover(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_node_list(service, args):
|
||||
"""Show list of nodes."""
|
||||
show_deprecated('senlin node-list', 'openstack cluster node list')
|
||||
|
||||
fields = ['id', 'name', 'index', 'status', 'cluster_id', 'physical_id',
|
||||
'profile_name', 'created_at', 'updated_at']
|
||||
@@ -855,7 +910,6 @@ def do_node_list(service, args):
|
||||
|
||||
def _show_node(service, node_id, show_details=False):
|
||||
"""Show detailed info about the specified node."""
|
||||
|
||||
args = {'show_details': True} if show_details else None
|
||||
try:
|
||||
node = service.get_node(node_id, args=args)
|
||||
@@ -889,6 +943,7 @@ def _show_node(service, node_id, show_details=False):
|
||||
help=_('Name of the node to create.'))
|
||||
def do_node_create(service, args):
|
||||
"""Create the node."""
|
||||
show_deprecated('senlin node-create', 'openstack cluster node create')
|
||||
attrs = {
|
||||
'name': args.name,
|
||||
'cluster_id': args.cluster,
|
||||
@@ -907,6 +962,7 @@ def do_node_create(service, args):
|
||||
help=_('Name or ID of the node to show the details for.'))
|
||||
def do_node_show(service, args):
|
||||
"""Show detailed info about the specified node."""
|
||||
show_deprecated('senlin node-show', 'openstack cluster node show')
|
||||
_show_node(service, args.id, args.details)
|
||||
|
||||
|
||||
@@ -914,6 +970,7 @@ def do_node_show(service, args):
|
||||
help=_('Name or ID of node(s) to delete.'))
|
||||
def do_node_delete(service, args):
|
||||
"""Delete the node(s)."""
|
||||
show_deprecated('senlin node-delete', 'openstack cluster node delete')
|
||||
failure_count = 0
|
||||
|
||||
for nid in args.id:
|
||||
@@ -943,6 +1000,7 @@ def do_node_delete(service, args):
|
||||
help=_('Name or ID of node to update.'))
|
||||
def do_node_update(service, args):
|
||||
"""Update the node."""
|
||||
show_deprecated('senlin node-update', 'openstack cluster node update')
|
||||
# Find the node first, we need its UUID
|
||||
try:
|
||||
node = service.get_node(args.id)
|
||||
@@ -964,6 +1022,7 @@ def do_node_update(service, args):
|
||||
help=_('ID of node(s) to check.'))
|
||||
def do_node_check(service, args):
|
||||
"""Check the node(s)."""
|
||||
show_deprecated('senlin node-check', 'openstack cluster node check')
|
||||
failure_count = 0
|
||||
|
||||
for nid in args.id:
|
||||
@@ -982,6 +1041,7 @@ def do_node_check(service, args):
|
||||
help=_('ID of node(s) to recover.'))
|
||||
def do_node_recover(service, args):
|
||||
"""Recover the node(s)."""
|
||||
show_deprecated('senlin node-recover', 'openstack cluster node recover')
|
||||
failure_count = 0
|
||||
|
||||
for nid in args.id:
|
||||
@@ -1020,6 +1080,7 @@ def do_node_recover(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_receiver_list(service, args):
|
||||
"""List receivers that meet the criteria."""
|
||||
show_deprecated('senlin receiver-list', 'openstack cluster receiver list')
|
||||
fields = ['id', 'name', 'type', 'cluster_id', 'action', 'created_at']
|
||||
queries = {
|
||||
'limit': args.limit,
|
||||
@@ -1063,6 +1124,7 @@ def _show_receiver(service, receiver_id):
|
||||
help=_('Name or ID of the receiver to show.'))
|
||||
def do_receiver_show(service, args):
|
||||
"""Show the receiver details."""
|
||||
show_deprecated('senlin receiver-show', 'openstack cluster receiver show')
|
||||
_show_receiver(service, receiver_id=args.id)
|
||||
|
||||
|
||||
@@ -1080,6 +1142,8 @@ def do_receiver_show(service, args):
|
||||
help=_('Name of the receiver to create.'))
|
||||
def do_receiver_create(service, args):
|
||||
"""Create a receiver."""
|
||||
show_deprecated('senlin receiver-create',
|
||||
'openstack cluster receiver create')
|
||||
|
||||
params = {
|
||||
'name': args.name,
|
||||
@@ -1097,6 +1161,8 @@ def do_receiver_create(service, args):
|
||||
help=_('Name or ID of receiver(s) to delete.'))
|
||||
def do_receiver_delete(service, args):
|
||||
"""Delete receiver(s)."""
|
||||
show_deprecated('senlin receiver-delete',
|
||||
'openstack cluster receiver delete')
|
||||
failure_count = 0
|
||||
|
||||
for wid in args.id:
|
||||
@@ -1135,7 +1201,7 @@ def do_receiver_delete(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_event_list(service, args):
|
||||
"""List events."""
|
||||
|
||||
show_deprecated('senlin event-list', 'openstack cluster event list')
|
||||
fields = ['id', 'timestamp', 'obj_type', 'obj_id', 'obj_name', 'action',
|
||||
'status', 'status_reason', 'level']
|
||||
queries = {
|
||||
@@ -1161,6 +1227,7 @@ def do_event_list(service, args):
|
||||
help=_('ID of event to display details for.'))
|
||||
def do_event_show(service, args):
|
||||
"""Describe the event."""
|
||||
show_deprecated('senlin event-show', 'openstack cluster event show')
|
||||
try:
|
||||
event = service.get_event(args.id)
|
||||
except sdk_exc.ResourceNotFound:
|
||||
@@ -1189,7 +1256,7 @@ def do_event_show(service, args):
|
||||
help=_('Print full IDs in list.'))
|
||||
def do_action_list(service, args):
|
||||
"""List actions."""
|
||||
|
||||
show_deprecated('senlin action-list', 'openstack cluster action list')
|
||||
fields = ['id', 'name', 'action', 'status', 'target', 'depends_on',
|
||||
'depended_by', 'created_at']
|
||||
|
||||
@@ -1229,6 +1296,7 @@ def do_action_list(service, args):
|
||||
help=_('Name or ID of the action to show the details for.'))
|
||||
def do_action_show(service, args):
|
||||
"""Show detailed info about the specified action."""
|
||||
show_deprecated('senlin action-show', 'openstack cluster action show')
|
||||
try:
|
||||
action = service.get_action(args.id)
|
||||
except sdk_exc.ResourceNotFound:
|
||||
|
||||
Reference in New Issue
Block a user