Remove deprecated options from openstackbmc

These have been deprecated for over a year now and can be safely
removed in 2.0.
This commit is contained in:
Ben Nemec 2018-12-12 20:36:23 +00:00
parent adef2029f6
commit c655b38624
2 changed files with 8 additions and 278 deletions

View File

@ -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()

View File

@ -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()