def test_create_server_with_admin_pass_wait(self, mock_nova, mock_wait): """ Test that a server with an admin_pass passed returns the password """ fake_server = fakes.FakeServer('1234', '', 'BUILD') fake_server_with_pass = fakes.FakeServer('1234', '', 'BUILD', adminPass='******') mock_nova.servers.create.return_value = fake_server mock_nova.servers.get.return_value = fake_server # The wait returns non-password server mock_wait.return_value = _utils.normalize_server( meta.obj_to_dict(fake_server), None, None) server = self.client.create_server(name='server-name', image='image-id', flavor='flavor-id', admin_pass='******', wait=True) # Assert that we did wait self.assertTrue(mock_wait.called) # Even with the wait, we should still get back a passworded server self.assertEqual( server, _utils.normalize_server(meta.obj_to_dict(fake_server_with_pass), None, None))
def test_create_server_with_admin_pass_wait(self, mock_nova, mock_wait): """ Test that a server with an admin_pass passed returns the password """ fake_server = fakes.FakeServer('1234', '', 'BUILD') fake_server_with_pass = fakes.FakeServer('1234', '', 'BUILD', adminPass='******') mock_nova.servers.create.return_value = fake_server mock_nova.servers.get.return_value = fake_server # The wait returns non-password server mock_wait.return_value = _utils.normalize_server( meta.obj_to_dict(fake_server), None, None) server = self.client.create_server( name='server-name', image='image-id', flavor='flavor-id', admin_pass='******', wait=True) # Assert that we did wait self.assertTrue(mock_wait.called) # Even with the wait, we should still get back a passworded server self.assertEqual( server, _utils.normalize_server(meta.obj_to_dict(fake_server_with_pass), None, None) )
def test_create_server_with_admin_pass_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud"): build_server = fakes.FakeServer('1234', '', 'BUILD', addresses=dict(public='1.1.1.1'), adminPass='******') next_server = fakes.FakeServer('1234', '', 'BUILD', addresses=dict(public='1.1.1.1')) fake_server = fakes.FakeServer('1234', '', 'ACTIVE', addresses=dict(public='1.1.1.1')) ret_fake_server = fakes.FakeServer( '1234', '', 'ACTIVE', addresses=dict(public='1.1.1.1'), adminPass='******') config = { "servers.create.return_value": build_server, "servers.get.return_value": next_server, "servers.list.side_effect": [[next_server], [fake_server]] } OpenStackCloud.nova_client = Mock(**config) with patch.object(OpenStackCloud, "add_ips_to_server", return_value=fake_server): self.assertEqual( _utils.normalize_server( meta.obj_to_dict(ret_fake_server), cloud_name=self.client.name, region_name=self.client.region_name), _utils.normalize_server( meta.obj_to_dict( self.client.create_server( 'server-name', 'image-id', 'flavor-id', wait=True, admin_pass='******')), cloud_name=self.client.name, region_name=self.client.region_name))
def test_rebuild_server_with_admin_pass_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud"): rebuild_server = fakes.FakeServer('1234', '', 'REBUILD', adminPass='******') active_server = fakes.FakeServer('1234', '', 'ACTIVE') ret_active_server = fakes.FakeServer('1234', '', 'ACTIVE', adminPass='******') fake_floating_ip = fakes.FakeFloatingIP('1234', 'ippool', '1.1.1.1', '2.2.2.2', '5678') config = { "servers.rebuild.return_value": rebuild_server, "servers.get.return_value": active_server, "floating_ips.list.return_value": [fake_floating_ip] } OpenStackCloud.nova_client = Mock(**config) self.client.name = 'cloud-name' self.assertEqual( _utils.normalize_server( meta.obj_to_dict(ret_active_server), cloud_name='cloud-name', region_name=''), self.client.rebuild_server("a", "b", wait=True, admin_pass='******'))
def test_basic_hostvars(self, mock_get_server_external_ipv4, mock_get_server_external_ipv6): mock_get_server_external_ipv4.return_value = PUBLIC_V4 mock_get_server_external_ipv6.return_value = PUBLIC_V6 hostvars = meta.get_hostvars_from_server( FakeCloud(), _utils.normalize_server(meta.obj_to_dict(standard_fake_server), cloud_name='CLOUD_NAME', region_name='REGION_NAME')) self.assertNotIn('links', hostvars) self.assertEqual(PRIVATE_V4, hostvars['private_v4']) self.assertEqual(PUBLIC_V4, hostvars['public_v4']) self.assertEqual(PUBLIC_V6, hostvars['public_v6']) self.assertEqual(PUBLIC_V6, hostvars['interface_ip']) self.assertEqual('REGION_NAME', hostvars['region']) self.assertEqual('CLOUD_NAME', hostvars['cloud']) self.assertEqual("test-image-name", hostvars['image']['name']) self.assertEqual(standard_fake_server.image['id'], hostvars['image']['id']) self.assertNotIn('links', hostvars['image']) self.assertEqual(standard_fake_server.flavor['id'], hostvars['flavor']['id']) self.assertEqual("test-flavor-name", hostvars['flavor']['name']) self.assertNotIn('links', hostvars['flavor']) # test having volumes # test volume exception self.assertEqual([], hostvars['volumes'])
def test_rebuild_server_with_admin_pass_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud"): rebuild_server = fakes.FakeServer('1234', '', 'REBUILD', adminPass='******') active_server = fakes.FakeServer('1234', '', 'ACTIVE') ret_active_server = fakes.FakeServer('1234', '', 'ACTIVE', adminPass='******') config = { "servers.rebuild.return_value": rebuild_server, "servers.get.return_value": active_server, } OpenStackCloud.nova_client = Mock(**config) self.client.name = 'cloud-name' self.assertEqual( _utils.normalize_server(meta.obj_to_dict(ret_active_server), cloud_name='cloud-name', region_name=''), self.client.rebuild_server("a", "b", wait=True, admin_pass='******'))
def test_basic_hostvars( self, mock_get_server_external_ipv4, mock_get_server_external_ipv6): mock_get_server_external_ipv4.return_value = PUBLIC_V4 mock_get_server_external_ipv6.return_value = PUBLIC_V6 hostvars = meta.get_hostvars_from_server( FakeCloud(), _utils.normalize_server( meta.obj_to_dict(FakeServer()), cloud_name='CLOUD_NAME', region_name='REGION_NAME')) self.assertNotIn('links', hostvars) self.assertEqual(PRIVATE_V4, hostvars['private_v4']) self.assertEqual(PUBLIC_V4, hostvars['public_v4']) self.assertEqual(PUBLIC_V6, hostvars['public_v6']) self.assertEqual(PUBLIC_V6, hostvars['interface_ip']) self.assertEquals('REGION_NAME', hostvars['region']) self.assertEquals('CLOUD_NAME', hostvars['cloud']) self.assertEquals("test-image-name", hostvars['image']['name']) self.assertEquals(FakeServer.image['id'], hostvars['image']['id']) self.assertNotIn('links', hostvars['image']) self.assertEquals(FakeServer.flavor['id'], hostvars['flavor']['id']) self.assertEquals("test-flavor-name", hostvars['flavor']['name']) self.assertNotIn('links', hostvars['flavor']) # test having volumes # test volume exception self.assertEquals([], hostvars['volumes'])
def test_rebuild_server_with_admin_pass_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud"): rebuild_server = fakes.FakeServer('1234', '', 'REBUILD', adminPass='******') active_server = fakes.FakeServer('1234', '', 'ACTIVE') ret_active_server = fakes.FakeServer('1234', '', 'ACTIVE', adminPass='******') fake_floating_ip = fakes.FakeFloatingIP('1234', 'ippool', '1.1.1.1', '2.2.2.2', '5678') config = { "servers.rebuild.return_value": rebuild_server, "servers.list.return_value": [active_server], "floating_ips.list.return_value": [fake_floating_ip] } OpenStackCloud.nova_client = Mock(**config) self.cloud.name = 'cloud-name' self.assertEqual( _utils.normalize_server(meta.obj_to_dict(ret_active_server), cloud_name='cloud-name', region_name='RegionOne'), self.cloud.rebuild_server("1234", "b", wait=True, admin_pass='******'))
def test_create_server_with_admin_pass_no_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud"): fake_server = fakes.FakeServer('1234', '', 'BUILD') fake_create_server = fakes.FakeServer('1234', '', 'BUILD', adminPass='******') fake_floating_ip = fakes.FakeFloatingIP('1234', 'ippool', '1.1.1.1', '2.2.2.2', '5678') config = { "servers.create.return_value": fake_create_server, "servers.get.return_value": fake_server, "floating_ips.list.return_value": [fake_floating_ip] } OpenStackCloud.nova_client = Mock(**config) self.assertEqual( _utils.normalize_server( meta.obj_to_dict(fake_create_server), cloud_name=self.client.name, region_name=self.client.region_name), self.client.create_server( name='server-name', image='image=id', flavor='flavor-id', admin_pass='******'))
def test_create_server_with_admin_pass_no_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud.nova_client"): fake_server = fakes.FakeServer('1234', '', 'BUILD') fake_create_server = fakes.FakeServer('1234', '', 'BUILD', adminPass='******') fake_floating_ip = fakes.FakeFloatingIP('1234', 'ippool', '1.1.1.1', '2.2.2.2', '5678') config = { "servers.create.return_value": fake_create_server, "servers.get.return_value": fake_server, "floating_ips.list.return_value": [fake_floating_ip] } OpenStackCloud.nova_client = Mock(**config) self.assertEqual( _utils.normalize_server(meta.obj_to_dict(fake_create_server), cloud_name=self.cloud.name, region_name=self.cloud.region_name), self.cloud.create_server(name='server-name', image=dict(id='image=id'), flavor=dict(id='flavor-id'), admin_pass='******'))
def test_az(self): server = standard_fake_server server.__dict__['OS-EXT-AZ:availability_zone'] = 'az1' hostvars = _utils.normalize_server(meta.obj_to_dict(server), cloud_name='', region_name='') self.assertEqual('az1', hostvars['az'])
def test_az(self): server = FakeServer() server.__dict__['OS-EXT-AZ:availability_zone'] = 'az1' hostvars = _utils.normalize_server( meta.obj_to_dict(server), cloud_name='', region_name='') self.assertEquals('az1', hostvars['az'])
def test_create_server_with_admin_pass_wait(self): """ Test that a server with an admin_pass passed returns the password """ with patch("shade.OpenStackCloud"): build_server = fakes.FakeServer( '1234', '', 'BUILD', addresses=dict(public='1.1.1.1'), adminPass='******') next_server = fakes.FakeServer( '1234', '', 'BUILD', addresses=dict(public='1.1.1.1')) fake_server = fakes.FakeServer( '1234', '', 'ACTIVE', addresses=dict(public='1.1.1.1')) ret_fake_server = fakes.FakeServer( '1234', '', 'ACTIVE', addresses=dict(public='1.1.1.1'), adminPass='******') config = { "servers.create.return_value": build_server, "servers.get.return_value": next_server, "servers.list.side_effect": [ [next_server], [fake_server]] } OpenStackCloud.nova_client = Mock(**config) with patch.object(OpenStackCloud, "add_ips_to_server", return_value=fake_server): self.assertEqual( _utils.normalize_server( meta.obj_to_dict(ret_fake_server), cloud_name=self.client.name, region_name=self.client.region_name), _utils.normalize_server( meta.obj_to_dict( self.client.create_server( 'server-name', 'image-id', 'flavor-id', wait=True, admin_pass='******')), cloud_name=self.client.name, region_name=self.client.region_name) )
def test_list_hosts_no_detail(self, mock_cloud, mock_config): mock_config.return_value.get_all_clouds.return_value = [{}] inv = inventory.OpenStackInventory() server = _utils.normalize_server( meta.obj_to_dict(fakes.FakeServer( '1234', 'test', 'ACTIVE', addresses={})), region_name='', cloud_name='') self.assertIsInstance(inv.clouds, list) self.assertEqual(1, len(inv.clouds)) inv.clouds[0].list_servers.return_value = [server] inv.list_hosts(expand=False) inv.clouds[0].list_servers.assert_called_once_with(detailed=False) self.assertFalse(inv.clouds[0].get_openstack_vars.called)
def test_list_hosts_no_detail(self, mock_cloud, mock_config): mock_config.return_value.get_all_clouds.return_value = [{}] inv = inventory.OpenStackInventory() server = _utils.normalize_server(meta.obj_to_dict( fakes.FakeServer('1234', 'test', 'ACTIVE', addresses={})), region_name='', cloud_name='') self.assertIsInstance(inv.clouds, list) self.assertEqual(1, len(inv.clouds)) inv.clouds[0].list_servers.return_value = [server] inv.list_hosts(expand=False) inv.clouds[0].list_servers.assert_called_once_with(detailed=False) self.assertFalse(inv.clouds[0].get_openstack_vars.called)
def test_rebuild_server_wait(self): """ Test that rebuild_server with a wait returns the server instance when its status changes to "ACTIVE". """ with patch("shade.OpenStackCloud"): rebuild_server = fakes.FakeServer('1234', '', 'REBUILD') active_server = fakes.FakeServer('1234', '', 'ACTIVE') config = { "servers.rebuild.return_value": rebuild_server, "servers.get.return_value": active_server } OpenStackCloud.nova_client = Mock(**config) self.client.name = 'cloud-name' self.assertEqual( _utils.normalize_server( meta.obj_to_dict(active_server), cloud_name='cloud-name', region_name=''), self.client.rebuild_server("a", "b", wait=True))
def test_rebuild_server_wait(self): """ Test that rebuild_server with a wait returns the server instance when its status changes to "ACTIVE". """ with patch("shade.OpenStackCloud"): rebuild_server = fakes.FakeServer('1234', '', 'REBUILD') active_server = fakes.FakeServer('1234', '', 'ACTIVE') config = { "servers.rebuild.return_value": rebuild_server, "servers.get.return_value": active_server } OpenStackCloud.nova_client = Mock(**config) self.client.name = 'cloud-name' self.assertEqual( _utils.normalize_server(meta.obj_to_dict(active_server), cloud_name='cloud-name', region_name=''), self.client.rebuild_server("a", "b", wait=True))
def test_create_server_no_wait(self): """ Test that create_server with no wait and no exception in the novaclient create call returns the server instance. """ with patch("shade.OpenStackCloud"): fake_server = fakes.FakeServer('1234', '', 'BUILD') config = { "servers.create.return_value": fake_server, "servers.get.return_value": fake_server } OpenStackCloud.nova_client = Mock(**config) self.assertEqual( _utils.normalize_server(meta.obj_to_dict(fake_server), cloud_name=self.client.name, region_name=self.client.region_name), self.client.create_server(name='server-name', image='image=id', flavor='flavor-id'))
def test_create_server_no_wait(self): """ Test that create_server with no wait and no exception in the novaclient create call returns the server instance. """ with patch("shade.OpenStackCloud"): fake_server = fakes.FakeServer('1234', '', 'BUILD') config = { "servers.create.return_value": fake_server, "servers.get.return_value": fake_server } OpenStackCloud.nova_client = Mock(**config) self.assertEqual( _utils.normalize_server( meta.obj_to_dict(fake_server), cloud_name=self.client.name, region_name=self.client.region_name), self.client.create_server( name='server-name', image='image=id', flavor='flavor-id'))
def test_rebuild_server_wait(self): """ Test that rebuild_server with a wait returns the server instance when its status changes to "ACTIVE". """ with patch("shade.OpenStackCloud"): rebuild_server = fakes.FakeServer('1234', '', 'REBUILD') active_server = fakes.FakeServer('1234', '', 'ACTIVE') fake_floating_ip = fakes.FakeFloatingIP('1234', 'ippool', '1.1.1.1', '2.2.2.2', '5678') config = { "servers.rebuild.return_value": rebuild_server, "servers.list.return_value": [active_server], "floating_ips.list.return_value": [fake_floating_ip] } OpenStackCloud.nova_client = Mock(**config) self.cloud.name = 'cloud-name' self.assertEqual( _utils.normalize_server(meta.obj_to_dict(active_server), cloud_name='cloud-name', region_name='RegionOne'), self.cloud.rebuild_server("1234", "b", wait=True))
def test_create_server_no_wait(self): """ Test that create_server with no wait and no exception in the novaclient create call returns the server instance. """ with patch("shade.OpenStackCloud.nova_client"): fake_server = fakes.FakeServer('1234', '', 'BUILD') fake_floating_ip = fakes.FakeFloatingIP('1234', 'ippool', '1.1.1.1', '2.2.2.2', '5678') config = { "servers.create.return_value": fake_server, "servers.get.return_value": fake_server, "floating_ips.list.return_value": [fake_floating_ip] } OpenStackCloud.nova_client = Mock(**config) self.assertEqual( _utils.normalize_server(meta.obj_to_dict(fake_server), cloud_name=self.cloud.name, region_name=self.cloud.region_name), self.cloud.create_server(name='server-name', image=dict(id='image=id'), flavor=dict(id='flavor-id')))