예제 #1
0
 def test_init_retry(self, _, mock_make_client, mock_find_instance,
                     mock_bmc_init, mock_log):
     self.useFixture(fixtures.EnvironmentVariable('OS_CLOUD', None))
     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.side_effect = (Exception, 'abc-123')
     bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'},
                                     port=623,
                                     address='::ffff:127.0.0.1',
                                     instance='foo',
                                     cache_status=False,
                                     os_cloud='foo')
     mock_make_client.assert_called_once_with('compute', cloud='foo')
     find_calls = [mock.call('foo'), mock.call('foo')]
     self.assertEqual(find_calls, mock_find_instance.mock_calls)
     self.assertEqual('abc-123', bmc.instance)
     mock_client.servers.get.assert_called_once_with('abc-123')
     log_calls = [
         mock.call('Exception finding instance "%s": %s' % ('foo', '')),
         mock.call('Managing instance: %s UUID: %s' %
                   ('foo-instance', 'abc-123'))
     ]
     self.assertEqual(log_calls, mock_log.mock_calls)
예제 #2
0
 def test_init_retry(self, _, mock_find_instance, mock_nova, 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_nova.return_value = mock_client
     mock_find_instance.side_effect = (Exception, 'abc-123')
     bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'},
                                     port=623,
                                     address='::ffff:127.0.0.1',
                                     instance='foo',
                                     user='******',
                                     password='******',
                                     tenant='admin',
                                     auth_url='http://keystone:5000')
     mock_nova.assert_called_once_with(2, 'admin', 'password', 'admin',
                                       'http://keystone:5000')
     find_calls = [mock.call('foo'), mock.call('foo')]
     self.assertEqual(find_calls, mock_find_instance.mock_calls)
     self.assertEqual('abc-123', bmc.instance)
     mock_client.servers.get.assert_called_once_with('abc-123')
     log_calls = [
         mock.call('Exception finding instance "%s": %s' % ('foo', '')),
         mock.call('Managing instance: %s UUID: %s' %
                   ('foo-instance', 'abc-123'))
     ]
     self.assertEqual(log_calls, mock_log.mock_calls)
    def test_init_os_cloud(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='',
                                        password='',
                                        tenant='',
                                        auth_url='',
                                        project='',
                                        user_domain='',
                                        project_domain='',
                                        cache_status=False,
                                        os_cloud='bar')

        mock_make_client.assert_called_once_with('compute', cloud='bar')
        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'))
예제 #4
0
 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='******',
                                     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)
예제 #5
0
 def _create_bmc(self, mock_nova):
     self.mock_client = mock.Mock()
     mock_nova.return_value = self.mock_client
     self.bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'},
                                          port=623,
                                          address='::ffff:127.0.0.1',
                                          instance='foo',
                                          cache_status=False,
                                          os_cloud='bar')
     self.bmc.novaclient = self.mock_client
     self.bmc.instance = 'abc-123'
     self.bmc.cached_status = None
     self.bmc.cached_task = None
     self.bmc.target_status = None
     self.bmc.cache_status = False
예제 #6
0
 def _create_bmc(self, mock_nova):
     self.mock_client = mock.Mock()
     mock_nova.return_value = self.mock_client
     self.bmc = openstackbmc.OpenStackBmc(authdata={'admin': 'password'},
                                          port=623,
                                          address='::ffff:127.0.0.1',
                                          instance='foo',
                                          user='******',
                                          password='******',
                                          tenant='admin',
                                          auth_url='http://keystone:5000')
     self.bmc.novaclient = self.mock_client
     self.bmc.instance = 'abc-123'
     self.bmc.cached_status = None
     self.bmc.target_status = None
예제 #7
0
 def test_init(self, mock_find_instance, mock_nova, 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_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='******',
                                     password='******',
                                     tenant='admin',
                                     auth_url='http://keystone:5000')
     mock_nova.assert_called_once_with(2, 'admin', 'password', 'admin',
                                       'http://keystone:5000')
     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'))