From c655b38624cba0912e5359026af0a39ac658e6d9 Mon Sep 17 00:00:00 2001 From: Ben Nemec Date: Wed, 12 Dec 2018 20:36:23 +0000 Subject: [PATCH] Remove deprecated options from openstackbmc These have been deprecated for over a year now and can be safely removed in 2.0. --- openstack_virtual_baremetal/openstackbmc.py | 109 +---------- .../tests/test_openstackbmc.py | 177 +----------------- 2 files changed, 8 insertions(+), 278 deletions(-) diff --git a/openstack_virtual_baremetal/openstackbmc.py b/openstack_virtual_baremetal/openstackbmc.py index 1cbe0e8..4818eab 100755 --- a/openstack_virtual_baremetal/openstackbmc.py +++ b/openstack_virtual_baremetal/openstackbmc.py @@ -31,60 +31,18 @@ import time import novaclient as nc from novaclient import client as novaclient from novaclient import exceptions -try: - import os_client_config -except ImportError: - os_client_config = None +import os_client_config import pyghmi.ipmi.bmc as bmc -NO_OCC_DEPRECATION = ('WARNING: Creating novaclient without os-client-config ' - 'is deprecated. Please install os-client-config on the ' - 'BMC image.') - - class OpenStackBmc(bmc.Bmc): - def __init__(self, authdata, port, address, instance, user, password, - tenant, auth_url, project, user_domain, project_domain, - cache_status, os_cloud): + def __init__(self, authdata, port, address, instance, cache_status, + os_cloud): super(OpenStackBmc, self).__init__(authdata, port=port, address=address) - if os_client_config: - if user: - # NOTE(bnemec): This is deprecated. clouds.yaml is a much - # more robust way to specify auth details. - kwargs = dict(os_username=user, - os_password=password, - os_project_name=tenant, - os_auth_url=auth_url, - os_user_domain=user_domain, - os_project_domain=project_domain) - self.novaclient = os_client_config.make_client('compute', - **kwargs) - else: - self.novaclient = os_client_config.make_client('compute', - cloud=os_cloud) - else: - # NOTE(bnemec): This path was deprecated 2017-7-17 - self.log(NO_OCC_DEPRECATION) - if '/v3' not in auth_url: - # novaclient 7+ is backwards-incompatible :-( - if int(nc.__version__[0]) <= 6: - self.novaclient = novaclient.Client(2, user, password, - tenant, auth_url) - else: - self.novaclient = novaclient.Client(2, user, password, - auth_url=auth_url, - project_name=tenant) - else: - self.novaclient = novaclient.Client( - 2, user, password, - auth_url=auth_url, - project_name=project, - user_domain_name=user_domain, - project_domain_name=project_domain - ) + self.novaclient = os_client_config.make_client('compute', + cloud=os_cloud) self.instance = None self.cache_status = cache_status self.cached_status = None @@ -234,55 +192,6 @@ def main(): required=True, help='The uuid or name of the OpenStack instance ' 'to manage') - parser.add_argument('--os-user', - dest='user', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The user for connecting to OpenStack') - parser.add_argument('--os-password', - dest='password', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The password for connecting to OpenStack') - parser.add_argument('--os-tenant', - dest='tenant', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The tenant for connecting to OpenStack') - parser.add_argument('--os-auth-url', - dest='auth_url', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The OpenStack Keystone auth url') - parser.add_argument('--os-project', - dest='project', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The project for connecting to OpenStack') - parser.add_argument('--os-user-domain', - dest='user_domain', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The user domain for connecting to OpenStack') - parser.add_argument('--os-project-domain', - dest='project_domain', - required=False, - default='', - help='DEPRECATED: Use --os-cloud to specify auth ' - 'details. ' - 'The project domain for connecting to OpenStack') parser.add_argument('--cache-status', dest='cache_status', default=False, @@ -293,7 +202,6 @@ def main(): 'it may become out of sync.') parser.add_argument('--os-cloud', dest='os_cloud', - required=False, default=os.environ.get('OS_CLOUD'), help='Use the specified cloud from clouds.yaml. ' 'Defaults to the OS_CLOUD environment variable.') @@ -306,13 +214,6 @@ def main(): mybmc = OpenStackBmc({'admin': 'password'}, port=args.port, address=addr_format % args.address, instance=args.instance, - user=args.user, - password=args.password, - tenant=args.tenant, - auth_url=args.auth_url, - project=args.project, - user_domain=args.user_domain, - project_domain=args.project_domain, cache_status=args.cache_status, os_cloud=args.os_cloud) mybmc.listen() diff --git a/openstack_virtual_baremetal/tests/test_openstackbmc.py b/openstack_virtual_baremetal/tests/test_openstackbmc.py index 8ca3473..33d1420 100755 --- a/openstack_virtual_baremetal/tests/test_openstackbmc.py +++ b/openstack_virtual_baremetal/tests/test_openstackbmc.py @@ -23,105 +23,6 @@ import testtools from openstack_virtual_baremetal import openstackbmc -@mock.patch('openstack_virtual_baremetal.openstackbmc.OpenStackBmc.' - 'log') -@mock.patch('pyghmi.ipmi.bmc.Bmc.__init__') -@mock.patch('novaclient.client.Client') -@mock.patch('openstack_virtual_baremetal.openstackbmc.OpenStackBmc.' - '_find_instance') -class TestOpenStackBmcInitDeprecated(unittest.TestCase): - def _test_init(self, mock_find_instance, mock_nova, mock_bmc_init, - mock_log, old_nova=True): - mock_client = mock.Mock() - mock_server = mock.Mock() - mock_server.name = 'foo-instance' - mock_client.servers.get.return_value = mock_server - mock_nova.return_value = mock_client - mock_find_instance.return_value = 'abc-123' - bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'}, - port=623, - address='::ffff:127.0.0.1', - instance='foo', - user='admin', - password='password', - tenant='admin', - auth_url='http://keystone:5000', - project='', - user_domain='', - project_domain='', - cache_status=False, - os_cloud=None - ) - if old_nova: - mock_nova.assert_called_once_with(2, 'admin', 'password', 'admin', - 'http://keystone:5000') - else: - mock_nova.assert_called_once_with(2, 'admin', 'password', - auth_url='http://keystone:5000', - project_name='admin') - mock_find_instance.assert_called_once_with('foo') - self.assertEqual('abc-123', bmc.instance) - mock_client.servers.get.assert_called_once_with('abc-123') - self.assertEqual([mock.call(openstackbmc.NO_OCC_DEPRECATION), - mock.call('Managing instance: %s UUID: %s' % - ('foo-instance', 'abc-123'))], - mock_log.mock_calls) - - @mock.patch('openstack_virtual_baremetal.openstackbmc.os_client_config', - None) - @mock.patch('openstack_virtual_baremetal.openstackbmc.nc.__version__', - ('6', '0', '0')) - def test_init_6(self, mock_find_instance, mock_nova, mock_bmc_init, - mock_log): - self._test_init(mock_find_instance, mock_nova, mock_bmc_init, mock_log) - - @mock.patch('openstack_virtual_baremetal.openstackbmc.os_client_config', - None) - @mock.patch('openstack_virtual_baremetal.openstackbmc.nc.__version__', - ('7', '0', '0')) - def test_init_7(self, mock_find_instance, mock_nova, mock_bmc_init, - mock_log): - self._test_init(mock_find_instance, mock_nova, mock_bmc_init, mock_log, - old_nova=False) - - @mock.patch('openstack_virtual_baremetal.openstackbmc.os_client_config', - None) - def test_init_v3(self, mock_find_instance, mock_nova, mock_bmc_init, - mock_log, old_nova=True): - mock_client = mock.Mock() - mock_server = mock.Mock() - mock_server.name = 'foo-instance' - mock_client.servers.get.return_value = mock_server - mock_nova.return_value = mock_client - mock_find_instance.return_value = 'abc-123' - bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'}, - port=623, - address='::ffff:127.0.0.1', - instance='foo', - user='admin', - password='password', - tenant='', - auth_url='http://keystone:5000/v3', - project='admin', - user_domain='default', - project_domain='default', - cache_status=False, - os_cloud=None - ) - mock_nova.assert_called_once_with(2, 'admin', 'password', - auth_url='http://keystone:5000/v3', - project_name='admin', - user_domain_name='default', - project_domain_name='default') - mock_find_instance.assert_called_once_with('foo') - self.assertEqual('abc-123', bmc.instance) - mock_client.servers.get.assert_called_once_with('abc-123') - self.assertEqual([mock.call(openstackbmc.NO_OCC_DEPRECATION), - mock.call('Managing instance: %s UUID: %s' % - ('foo-instance', 'abc-123'))], - mock_log.mock_calls) - - @mock.patch('openstack_virtual_baremetal.openstackbmc.OpenStackBmc.' 'log') @mock.patch('pyghmi.ipmi.bmc.Bmc.__init__') @@ -129,43 +30,6 @@ class TestOpenStackBmcInitDeprecated(unittest.TestCase): '_find_instance') @mock.patch('os_client_config.make_client') class TestOpenStackBmcInit(testtools.TestCase): - def test_init_os_client_config(self, mock_make_client, mock_find_instance, - mock_bmc_init, mock_log): - mock_client = mock.Mock() - mock_server = mock.Mock() - mock_server.name = 'foo-instance' - mock_client.servers.get.return_value = mock_server - mock_make_client.return_value = mock_client - mock_find_instance.return_value = 'abc-123' - bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'}, - port=623, - address='::ffff:127.0.0.1', - instance='foo', - user='admin', - password='password', - tenant='admin', - auth_url='http://keystone:5000', - project='', - user_domain='', - project_domain='', - cache_status=False, - os_cloud=None - ) - - mock_make_client.assert_called_once_with( - 'compute', - os_auth_url='http://keystone:5000', - os_password='password', - os_project_domain='', - os_project_name='admin', - os_user_domain='', - os_username='admin') - mock_find_instance.assert_called_once_with('foo') - self.assertEqual('abc-123', bmc.instance) - mock_client.servers.get.assert_called_once_with('abc-123') - mock_log.assert_called_once_with('Managing instance: %s UUID: %s' % - ('foo-instance', 'abc-123')) - def test_init_os_cloud(self, mock_make_client, mock_find_instance, mock_bmc_init, mock_log): mock_client = mock.Mock() @@ -178,13 +42,6 @@ class TestOpenStackBmcInit(testtools.TestCase): port=623, address='::ffff:127.0.0.1', instance='foo', - user='', - password='', - tenant='', - auth_url='', - project='', - user_domain='', - project_domain='', cache_status=False, os_cloud='bar' ) @@ -210,13 +67,6 @@ class TestOpenStackBmcInit(testtools.TestCase): port=623, address='::ffff:127.0.0.1', instance='foo', - user='', - password='', - tenant='', - auth_url='', - project='', - user_domain='', - project_domain='', cache_status=False, os_cloud='foo' ) @@ -246,15 +96,8 @@ class TestOpenStackBmc(unittest.TestCase): port=623, address='::ffff:127.0.0.1', instance='foo', - user='admin', - password='password', - tenant='admin', - auth_url='http://keystone:5000', - project='', - user_domain='', - project_domain='', cache_status=False, - os_cloud=None + os_cloud='bar' ) self.bmc.novaclient = self.mock_client self.bmc.instance = 'abc-123' @@ -462,13 +305,6 @@ class TestMain(unittest.TestCase): port=111, address='::ffff:1.2.3.4', instance='foobar', - user='', - password='', - tenant='', - auth_url='', - project='', - user_domain='', - project_domain='', cache_status=False, os_cloud='foo' ) @@ -479,21 +315,14 @@ class TestMain(unittest.TestCase): mock_instance = mock.Mock() mock_bmc.return_value = mock_instance mock_argv = ['openstackbmc', '--port', '111', - '--instance', 'foobar'] + '--instance', 'foobar', '--os-cloud', 'bar'] with mock.patch.object(sys, 'argv', mock_argv): openstackbmc.main() mock_bmc.assert_called_once_with({'admin': 'password'}, port=111, address='::', instance='foobar', - user='', - password='', - tenant='', - auth_url='', - project='', - user_domain='', - project_domain='', cache_status=False, - os_cloud=None + os_cloud='bar' ) mock_instance.listen.assert_called_once_with()