Пример #1
0
    def test_info_from_instance_not_call_generate_image_url(
            self, mock_gen_image_url):
        ctxt = nova_context.get_admin_context()
        instance = fake_instance.fake_instance_obj(ctxt, image_ref=uuids.image)
        instance.system_metadata = {}
        instance.metadata = {}
        base.info_from_instance(ctxt, instance, network_info=None,
                                populate_image_ref_url=False)

        mock_gen_image_url.assert_not_called()
Пример #2
0
    def test_info_from_instance_not_call_generate_image_url(
            self, mock_gen_image_url):
        ctxt = nova_context.get_admin_context()
        instance = fake_instance.fake_instance_obj(ctxt, image_ref=uuids.image)
        instance.system_metadata = {}
        instance.metadata = {}
        base.info_from_instance(ctxt, instance, network_info=None,
                                populate_image_ref_url=False)

        mock_gen_image_url.assert_not_called()
Пример #3
0
    def test_payload_has_timestamp_fields(self):
        time = datetime.datetime(2017, 2, 2, 16, 45, 0)
        # do not define deleted_at to test that missing value is handled
        # properly
        self.instance.terminated_at = time
        self.instance.launched_at = time

        info = notifications.info_from_instance(self.context, self.instance,
                                                self.net_info)

        self.assertEqual('2017-02-02T16:45:00.000000', info['terminated_at'])
        self.assertEqual('2017-02-02T16:45:00.000000', info['launched_at'])
        self.assertEqual('', info['deleted_at'])
Пример #4
0
    def test_payload_has_timestamp_fields(self):
        time = datetime.datetime(2017, 2, 2, 16, 45, 0)
        # do not define deleted_at to test that missing value is handled
        # properly
        self.instance.terminated_at = time
        self.instance.launched_at = time

        info = notifications.info_from_instance(self.context, self.instance,
                                                self.net_info, None)

        self.assertEqual('2017-02-02T16:45:00.000000', info['terminated_at'])
        self.assertEqual('2017-02-02T16:45:00.000000', info['launched_at'])
        self.assertEqual('', info['deleted_at'])
Пример #5
0
 def test_info_from_instance_image_api_endpoint_not_found_no_token(
         self, mock_gen_image_url):
     """Tests the case that we fail to generate the image ref url because
     CONF.glance.api_servers isn't set and we have a context without an
     auth token, like in the case of a periodic task using an admin context.
     In this case, we expect the payload field 'image_ref_url' to just be
     the instance.image_ref (image ID for a non-volume-backed server).
     """
     ctxt = nova_context.get_admin_context()
     instance = fake_instance.fake_instance_obj(ctxt, image_ref=uuids.image)
     instance.system_metadata = {}
     instance.metadata = {}
     payload = base.info_from_instance(ctxt, instance, network_info=None)
     self.assertEqual(instance.image_ref, payload['image_ref_url'])
     mock_gen_image_url.assert_called_once_with(instance.image_ref, ctxt)
Пример #6
0
    def test_payload_has_flavor_attributes(self):
        # Zero these to make sure they are not used
        self.instance.vcpus = self.instance.memory_mb = 0
        self.instance.root_gb = self.instance.ephemeral_gb = 0

        # Set flavor values and make sure _these_ are present in the output
        self.instance.flavor.vcpus = 10
        self.instance.flavor.root_gb = 20
        self.instance.flavor.memory_mb = 30
        self.instance.flavor.ephemeral_gb = 40
        info = notifications.info_from_instance(self.context, self.instance,
                                                self.net_info, None)
        self.assertEqual(10, info['vcpus'])
        self.assertEqual(20, info['root_gb'])
        self.assertEqual(30, info['memory_mb'])
        self.assertEqual(40, info['ephemeral_gb'])
        self.assertEqual(60, info['disk_gb'])
Пример #7
0
    def test_payload_has_flavor_attributes(self):
        # Zero these to make sure they are not used
        self.instance.vcpus = self.instance.memory_mb = 0
        self.instance.root_gb = self.instance.ephemeral_gb = 0

        # Set flavor values and make sure _these_ are present in the output
        self.instance.flavor.vcpus = 10
        self.instance.flavor.root_gb = 20
        self.instance.flavor.memory_mb = 30
        self.instance.flavor.ephemeral_gb = 40
        info = notifications.info_from_instance(self.context, self.instance,
                                                self.net_info)
        self.assertEqual(10, info['vcpus'])
        self.assertEqual(20, info['root_gb'])
        self.assertEqual(30, info['memory_mb'])
        self.assertEqual(40, info['ephemeral_gb'])
        self.assertEqual(60, info['disk_gb'])
Пример #8
0
 def test_payload_has_progress(self):
     self.instance.progress = 50
     info = notifications.info_from_instance(self.context, self.instance,
                                               self.net_info)
     self.assertIn("progress", info)
     self.assertEqual(50, info["progress"])
Пример #9
0
 def test_payload_has_progress_empty(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                               self.net_info)
     self.assertIn("progress", info)
     self.assertIsNone(self.instance.progress)
     self.assertEqual("", info["progress"])
Пример #10
0
 def test_payload_has_cell_name(self):
     self.instance.cell_name = "cell1"
     info = notifications.info_from_instance(self.context, self.instance,
                                               self.net_info)
     self.assertIn("cell_name", info)
     self.assertEqual("cell1", info["cell_name"])
Пример #11
0
 def test_payload_has_cell_name_empty(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                               self.net_info)
     self.assertIn("cell_name", info)
     self.assertIsNone(self.instance.cell_name)
     self.assertEqual("", info["cell_name"])
Пример #12
0
 def test_payload_has_vif_mac_address(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                               self.net_info)
     self.assertIn("fixed_ips", info)
     self.assertEqual(self.net_info[0]['address'],
                      info["fixed_ips"][0]["vif_mac"])
Пример #13
0
 def test_payload_has_fixed_ip_labels(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                               self.net_info)
     self.assertIn("fixed_ips", info)
     self.assertEqual(info["fixed_ips"][0]["label"], "test1")
Пример #14
0
 def test_payload_has_progress(self):
     self.instance.progress = 50
     info = notifications.info_from_instance(self.context, self.instance,
                                             self.net_info, None)
     self.assertIn("progress", info)
     self.assertEqual(50, info["progress"])
Пример #15
0
 def test_payload_has_progress_empty(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                             self.net_info, None)
     self.assertIn("progress", info)
     self.assertIsNone(self.instance.progress)
     self.assertEqual("", info["progress"])
Пример #16
0
 def test_payload_has_cell_name(self):
     self.instance.cell_name = "cell1"
     info = notifications.info_from_instance(self.context, self.instance,
                                             self.net_info, None)
     self.assertIn("cell_name", info)
     self.assertEqual("cell1", info["cell_name"])
Пример #17
0
 def test_payload_has_vif_mac_address(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                             self.net_info, None)
     self.assertIn("fixed_ips", info)
     self.assertEqual(self.net_info[0]['address'],
                      info["fixed_ips"][0]["vif_mac"])
Пример #18
0
 def test_payload_has_fixed_ip_labels(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                             self.net_info, None)
     self.assertIn("fixed_ips", info)
     self.assertEqual(info["fixed_ips"][0]["label"], "test1")
Пример #19
0
 def test_payload_has_cell_name_empty(self):
     info = notifications.info_from_instance(self.context, self.instance,
                                             self.net_info)
     self.assertIn("cell_name", info)
     self.assertIsNone(self.instance.cell_name)
     self.assertEqual("", info["cell_name"])