From d1f9ea3f750bb4c1f440ebfa93d06a40673ec0aa Mon Sep 17 00:00:00 2001 From: Tang Chen Date: Thu, 7 Apr 2016 14:10:37 +0800 Subject: Transfer "ip floating add/remove" to "server add/remove floating ip" This patch does the following things to transfer "ip floating add/remove" to "server add/remove floating ip": * Add new command "server add/remove floating ip", and unit tests and doc. * Deprecate "ip floating add/remove" command. compute/v2/floatingip.py is not removed because the arguments' positions are different between the new and old commands. * ip floating add server add floating ip * ip floating remove server remove floating ip Change-Id: Ic0dd22ca6fb7b7bc3e820fd5a14d7c551e7ab963 Implements: blueprint rework-ip-commands Partial-bug: 1555990 Co-Authored-By: Dean Troyer --- openstackclient/compute/v2/floatingip.py | 34 ++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'openstackclient/compute/v2/floatingip.py') diff --git a/openstackclient/compute/v2/floatingip.py b/openstackclient/compute/v2/floatingip.py index 98079fbc..8398ea57 100644 --- a/openstackclient/compute/v2/floatingip.py +++ b/openstackclient/compute/v2/floatingip.py @@ -15,28 +15,43 @@ """Floating IP action implementations""" +import logging + from osc_lib.command import command from osc_lib import utils +from openstackclient.i18n import _ + class AddFloatingIP(command.Command): """Add floating IP address to server""" + # TODO(tangchen): Remove this class and ``ip floating add`` command + # two cycles after Mitaka. + + # This notifies cliff to not display the help for this command + deprecated = True + + log = logging.getLogger('deprecated') + def get_parser(self, prog_name): parser = super(AddFloatingIP, self).get_parser(prog_name) parser.add_argument( "ip_address", metavar="", - help="IP address to add to server (name only)", + help=_("IP address to add to server (name only)"), ) parser.add_argument( "server", metavar="", - help="Server to receive the IP address (name or ID)", + help=_("Server to receive the IP address (name or ID)"), ) return parser def take_action(self, parsed_args): + self.log.warning(_('This command has been deprecated. ' + 'Please use "server add floating ip" instead.')) + compute_client = self.app.client_manager.compute server = utils.find_resource( @@ -48,21 +63,32 @@ class AddFloatingIP(command.Command): class RemoveFloatingIP(command.Command): """Remove floating IP address from server""" + # TODO(tangchen): Remove this class and ``ip floating remove`` command + # two cycles after Mitaka. + + # This notifies cliff to not display the help for this command + deprecated = True + + log = logging.getLogger('deprecated') + def get_parser(self, prog_name): parser = super(RemoveFloatingIP, self).get_parser(prog_name) parser.add_argument( "ip_address", metavar="", - help="IP address to remove from server (name only)", + help=_("IP address to remove from server (name only)"), ) parser.add_argument( "server", metavar="", - help="Server to remove the IP address from (name or ID)", + help=_("Server to remove the IP address from (name or ID)"), ) return parser def take_action(self, parsed_args): + self.log.warning(_('This command has been deprecated. ' + 'Please use "server remove floating ip" instead.')) + compute_client = self.app.client_manager.compute server = utils.find_resource( -- cgit v1.2.1