Esempio n. 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()
Esempio n. 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()
Esempio n. 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'])
Esempio n. 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'])
Esempio n. 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)
Esempio n. 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'])
Esempio n. 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'])
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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")
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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"])
Esempio n. 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")
Esempio n. 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"])