Beispiel #1
0
 def test_get_all_server_metadata(self):
     self._verify2("ecl.compute.v2.server.Server.get_metadata",
                   self.proxy.get_server_metadata,
                   method_args=["value"],
                   method_result=server.Server(id="value", metadata={}),
                   expected_args=[self.session],
                   expected_result={})
Beispiel #2
0
    def test_rebuild_minimal(self):
        sot = server.Server(**EXAMPLE)
        # Let the translate pass through, that portion is tested elsewhere
        sot._translate_response = lambda arg: arg

        result = sot.rebuild(self.sess,
                             name='nootoo',
                             admin_password='******',
                             image='http://image/2')

        self.assertIsInstance(result, server.Server)

        url = 'servers/IDENTIFIER/action'
        body = {
            "rebuild": {
                "name": "nootoo",
                "imageRef": "http://image/2",
                "adminPass": "******",
                "preserve_ephemeral": False
            }
        }
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #3
0
    def test_remove_security_group(self):
        sot = server.Server(**EXAMPLE)

        self.assertIsNone(sot.remove_security_group(self.sess, "group"))

        url = 'servers/IDENTIFIER/action'
        body = {"removeSecurityGroup": {"name": "group"}}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #4
0
    def test_revert_resize(self):
        sot = server.Server(**EXAMPLE)

        self.assertIsNone(sot.revert_resize(self.sess))

        url = 'servers/IDENTIFIER/action'
        body = {"revertResize": None}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #5
0
    def test_resize(self):
        sot = server.Server(**EXAMPLE)

        self.assertIsNone(sot.resize(self.sess, '2'))

        url = 'servers/IDENTIFIER/action'
        body = {"resize": {"flavorRef": "2", "OS-DCF:diskConfig": "AUTO"}}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #6
0
    def test_reboot(self):
        sot = server.Server(**EXAMPLE)

        self.assertIsNone(sot.reboot(self.sess, 'HARD'))

        url = 'servers/IDENTIFIER/action'
        body = {"reboot": {"type": "HARD"}}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #7
0
    def test_change_passowrd(self):
        sot = server.Server(**EXAMPLE)

        self.assertIsNone(sot.change_password(self.sess, 'a'))

        url = 'servers/IDENTIFIER/action'
        body = {"changePassword": {"adminPass": "******"}}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #8
0
    def test_create_image_minimal(self):
        sot = server.Server(**EXAMPLE)
        name = 'noo'

        self.assertIsNone(self.resp.body, sot.create_image(self.sess, name))

        url = 'servers/IDENTIFIER/action'
        body = {"createImage": {'name': name}}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=dict(sot.service),
                                          json=body,
                                          headers=headers)
Beispiel #9
0
    def test_delete_metadata(self):
        sess = mock.Mock()
        sess.delete.return_value = None

        sot = server.Server(id=IDENTIFIER)

        key = "hey"

        sot.delete_metadata(sess, [key])

        sess.delete.assert_called_once_with("servers/IDENTIFIER/metadata/" +
                                            key,
                                            headers={"Accept": ""},
                                            endpoint_filter=sot.service)
Beispiel #10
0
    def test_create_image(self):
        sot = server.Server(**EXAMPLE)
        name = 'noo'
        metadata = {'nu': 'image', 'created': 'today'}

        self.assertIsNotNone(sot.create_image(self.sess, name, metadata))

        url = 'servers/IDENTIFIER/action'
        body = {"createImage": {'name': name, 'metadata': metadata}}
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #11
0
    def test_set_metadata(self):
        response = mock.Mock()
        response.json.return_value = self.metadata_result
        sess = mock.Mock()
        sess.post.return_value = response

        sot = server.Server(id=IDENTIFIER)

        set_meta = {"lol": "rofl"}

        result = sot.set_metadata(sess, **set_meta)

        self.assertEqual(result, self.metadata_result["metadata"])
        sess.post.assert_called_once_with("servers/IDENTIFIER/metadata",
                                          endpoint_filter=sot.service,
                                          headers={},
                                          json={"metadata": set_meta})
Beispiel #12
0
    def test_rebuild(self):
        sot = server.Server(**EXAMPLE)
        # Let the translate pass through, that portion is tested elsewhere
        sot._translate_response = lambda arg: arg

        result = sot.rebuild(self.sess,
                             name='noo',
                             admin_password='******',
                             image='http://image/1',
                             access_ipv4="12.34.56.78",
                             access_ipv6="fe80::100",
                             metadata={"meta var": "meta val"},
                             personality=[{
                                 "path": "/etc/motd",
                                 "contents": "foo"
                             }])

        self.assertIsInstance(result, server.Server)

        url = 'servers/IDENTIFIER/action'
        body = {
            "rebuild": {
                "name": "noo",
                "imageRef": "http://image/1",
                "adminPass": "******",
                "accessIPv4": "12.34.56.78",
                "accessIPv6": "fe80::100",
                "metadata": {
                    "meta var": "meta val"
                },
                "personality": [{
                    "path": "/etc/motd",
                    "contents": "foo"
                }],
                "preserve_ephemeral": False
            }
        }
        headers = {'Accept': ''}
        self.sess.post.assert_called_with(url,
                                          endpoint_filter=sot.service,
                                          json=body,
                                          headers=headers)
Beispiel #13
0
    def test_basic(self):
        sot = server.Server()
        self.assertEqual('server', sot.resource_key)
        self.assertEqual('servers', sot.resources_key)
        self.assertEqual('/servers', sot.base_path)
        self.assertEqual('compute', sot.service.service_type)
        self.assertTrue(sot.allow_create)
        self.assertTrue(sot.allow_get)
        self.assertTrue(sot.allow_update)
        self.assertTrue(sot.allow_delete)
        self.assertTrue(sot.allow_list)

        self.assertDictEqual(
            {
                "image": "image",
                "flavor": "flavor",
                "name": "name",
                "status": "status",
                "host": "host",
                "changes_since": "changes-since"
            }, sot._query_mapping._mapping)
Beispiel #14
0
 def test_make_it(self):
     sot = server.Server(**EXAMPLE)
     self.assertEqual(EXAMPLE['accessIPv4'], sot.access_ipv4)
     self.assertEqual(EXAMPLE['accessIPv6'], sot.access_ipv6)
     self.assertEqual(EXAMPLE['addresses'], sot.addresses)
     self.assertEqual(EXAMPLE['created'], sot.created_at)
     self.assertEqual(EXAMPLE['flavorRef'], sot.flavor_id)
     self.assertEqual(EXAMPLE['flavor'], sot.flavor)
     self.assertEqual(EXAMPLE['hostId'], sot.host_id)
     self.assertEqual(EXAMPLE['id'], sot.id)
     self.assertEqual(EXAMPLE['imageRef'], sot.image_id)
     self.assertEqual(EXAMPLE['image'], sot.image)
     self.assertEqual(EXAMPLE['links'], sot.links)
     self.assertEqual(EXAMPLE['metadata'], sot.metadata)
     self.assertEqual(EXAMPLE['name'], sot.name)
     self.assertEqual(EXAMPLE['progress'], sot.progress)
     self.assertEqual(EXAMPLE['tenant_id'], sot.project_id)
     self.assertEqual(EXAMPLE['status'], sot.status)
     self.assertEqual(EXAMPLE['updated'], sot.updated_at)
     self.assertEqual(EXAMPLE['user_id'], sot.user_id)
     self.assertEqual(EXAMPLE['key_name'], sot.key_name)
     self.assertEqual(EXAMPLE['OS-DCF:diskConfig'], sot.disk_config)
     self.assertEqual(EXAMPLE['OS-EXT-AZ:availability_zone'],
                      sot.availability_zone)
     self.assertEqual(EXAMPLE['OS-EXT-STS:power_state'], sot.power_state)
     self.assertEqual(EXAMPLE['OS-EXT-STS:task_state'], sot.task_state)
     self.assertEqual(EXAMPLE['OS-EXT-STS:vm_state'], sot.vm_state)
     self.assertEqual(EXAMPLE['os-extended-volumes:volumes_attached'],
                      sot.attached_volumes)
     self.assertEqual(EXAMPLE['OS-SRV-USG:launched_at'], sot.launched_at)
     self.assertEqual(EXAMPLE['OS-SRV-USG:terminated_at'],
                      sot.terminated_at)
     self.assertEqual(EXAMPLE['security_groups'], sot.security_groups)
     self.assertEqual(EXAMPLE['adminPass'], sot.admin_pass)
     self.assertEqual(EXAMPLE['adminPass'], sot.adminPass)
     self.assertEqual(EXAMPLE['personality'], sot.personality)
     self.assertEqual(EXAMPLE['block_device_mapping_v2'],
                      sot.block_device_mapping_v2)
     self.assertEqual(EXAMPLE['os:scheduler_hints'], sot.scheduler_hints)
     self.assertEqual(EXAMPLE['user_data'], sot.user_data)
Beispiel #15
0
 def test_server_wait_for(self):
     value = server.Server(id='1234')
     self.verify_wait_for_status(
         self.proxy.wait_for_server,
         method_args=[value],
         expected_args=[value, 'ACTIVE', ['ERROR'], 2, 120])
Beispiel #16
0
 def test_get_all_metadata_Server(self):
     self._test_get_all_metadata(server.Server(id=IDENTIFIER))