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))
예제 #2
0
    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)
        )
예제 #3
0
 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))
예제 #4
0
 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='******'))
예제 #5
0
파일: test_meta.py 프로젝트: mlabarre/shade
    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='******'))
예제 #7
0
    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'])
예제 #8
0
 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='******'))
예제 #9
0
 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='******'))
예제 #10
0
 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='******'))
예제 #11
0
파일: test_meta.py 프로젝트: mlabarre/shade
    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'])
예제 #12
0
    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'])
예제 #13
0
 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)
             )
예제 #14
0
    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)
예제 #15
0
    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)
예제 #16
0
 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'))
예제 #19
0
 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'))
예제 #20
0
 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))
예제 #21
0
 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')))