예제 #1
0
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     test_keys = ['memory_mb', 'vcpus', 'root_gb', 'ephemeral_gb']
     flavor_values = {k: 123 for k in test_keys}
     instance_values = {k: 456 for k in test_keys}
     flavor = objects.Flavor(**flavor_values)
     info_cache = objects.InstanceInfoCache(
         network_info=network_model.NetworkInfo())
     instance = objects.Instance(
         flavor=flavor,
         info_cache=info_cache,
         **instance_values)
     payload = {
         'bandwidth': {},
         'audit_period_ending': timeutils.utcnow(),
         'audit_period_beginning': timeutils.utcnow(),
     }
     notification_base._send_versioned_instance_update(
         mock.MagicMock(),
         instance,
         payload,
         'host',
         'compute')
     payload = mock_emit.call_args_list[0][1]['payload']['nova_object.data']
     flavor_payload = payload['flavor']['nova_object.data']
     data = {k: flavor_payload[k] for k in test_keys}
     self.assertEqual(flavor_values, data)
예제 #2
0
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     test_keys = ['memory_mb', 'vcpus', 'root_gb', 'ephemeral_gb', 'swap']
     flavor_values = {k: 123 for k in test_keys}
     instance_values = {k: 456 for k in test_keys}
     flavor = objects.Flavor(flavorid='test-flavor',
                             name='test-flavor',
                             disabled=False,
                             projects=[],
                             is_public=True,
                             extra_specs={},
                             **flavor_values)
     info_cache = objects.InstanceInfoCache(
         network_info=network_model.NetworkInfo())
     instance = objects.Instance(flavor=flavor,
                                 info_cache=info_cache,
                                 metadata={},
                                 uuid=uuids.instance1,
                                 locked=False,
                                 **instance_values)
     payload = {
         'bandwidth': {},
         'audit_period_ending': timeutils.utcnow(),
         'audit_period_beginning': timeutils.utcnow(),
     }
     notification_base._send_versioned_instance_update(
         mock.MagicMock(), instance, payload, 'host', 'compute')
     payload = mock_emit.call_args_list[0][1]['payload']['nova_object.data']
     flavor_payload = payload['flavor']['nova_object.data']
     data = {k: flavor_payload[k] for k in test_keys}
     self.assertEqual(flavor_values, data)
예제 #3
0
    def test_send_versioned_instance_notification_is_not_called_unversioned(
            self, mock_notification, mock_payload):
        self.flags(notification_format='unversioned', group='notifications')

        notification_base._send_versioned_instance_update(
            mock.MagicMock(), self.instance, self.payload, 'host', 'compute')

        self.assertFalse(mock_payload.called)
        self.assertFalse(mock_notification.called)
예제 #4
0
    def test_send_versioned_instance_notification_is_not_called_disabled(
            self, mock_notification, mock_payload, mock_notifier):
        mock_notifier.is_enabled.return_value = False

        notification_base._send_versioned_instance_update(
            mock.MagicMock(), self.instance, self.payload, 'host', 'compute')

        self.assertFalse(mock_payload.called)
        self.assertFalse(mock_notification.called)
예제 #5
0
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     notification_base._send_versioned_instance_update(
         mock.MagicMock(), self.instance, self.payload, 'host', 'compute')
     payload = mock_emit.call_args_list[0][1]['payload']['nova_object.data']
     flavor_payload = payload['flavor']['nova_object.data']
     data = {k: flavor_payload[k] for k in self.test_keys}
     self.assertEqual(self.flavor_values, data)
예제 #6
0
 def test_send_versioned_instance_update_notification_disabled(
         self, mock_enabled, mock_info):
     """Tests the case that versioned notifications are disabled which makes
     _send_versioned_instance_update_notification a noop.
     """
     base._send_versioned_instance_update(mock.sentinel.ctxt,
                                          mock.sentinel.instance,
                                          mock.sentinel.payload,
                                          mock.sentinel.host,
                                          mock.sentinel.service)
예제 #7
0
파일: test_base.py 프로젝트: klmitch/nova
 def test_send_versioned_instance_update_notification_disabled(self,
                                                               mock_enabled,
                                                               mock_info):
     """Tests the case that versioned notifications are disabled which makes
     _send_versioned_instance_update_notification a noop.
     """
     base._send_versioned_instance_update(mock.sentinel.ctxt,
                                          mock.sentinel.instance,
                                          mock.sentinel.payload,
                                          mock.sentinel.host,
                                          mock.sentinel.service)
예제 #8
0
파일: test_instance.py 프로젝트: mahak/nova
    def test_send_versioned_instance_notification_is_not_called_unversioned(
            self, mock_notification, mock_payload):
        self.flags(notification_format='unversioned', group='notifications')

        notification_base._send_versioned_instance_update(
            mock.MagicMock(),
            self.instance,
            self.payload,
            'host',
            'compute')

        self.assertFalse(mock_payload.called)
        self.assertFalse(mock_notification.called)
예제 #9
0
파일: test_instance.py 프로젝트: mahak/nova
    def test_send_versioned_instance_notification_is_not_called_disabled(
            self, mock_notification, mock_payload, mock_notifier):
        mock_notifier.is_enabled.return_value = False

        notification_base._send_versioned_instance_update(
            mock.MagicMock(),
            self.instance,
            self.payload,
            'host',
            'compute')

        self.assertFalse(mock_payload.called)
        self.assertFalse(mock_notification.called)
예제 #10
0
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     notification_base._send_versioned_instance_update(
         mock.MagicMock(),
         self.instance,
         self.payload,
         'host',
         'compute')
     payload = mock_emit.call_args_list[0][1]['payload']['nova_object.data']
     flavor_payload = payload['flavor']['nova_object.data']
     data = {k: flavor_payload[k] for k in self.test_keys}
     self.assertEqual(self.flavor_values, data)
예제 #11
0
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     test_keys = ["memory_mb", "vcpus", "root_gb", "ephemeral_gb"]
     flavor_values = {k: 123 for k in test_keys}
     instance_values = {k: 456 for k in test_keys}
     flavor = objects.Flavor(**flavor_values)
     info_cache = objects.InstanceInfoCache(network_info=network_model.NetworkInfo())
     instance = objects.Instance(flavor=flavor, info_cache=info_cache, **instance_values)
     payload = {
         "bandwidth": {},
         "audit_period_ending": timeutils.utcnow(),
         "audit_period_beginning": timeutils.utcnow(),
     }
     notification_base._send_versioned_instance_update(mock.MagicMock(), instance, payload, "host", "compute")
     payload = mock_emit.call_args_list[0][1]["payload"]["nova_object.data"]
     flavor_payload = payload["flavor"]["nova_object.data"]
     data = {k: flavor_payload[k] for k in test_keys}
     self.assertEqual(flavor_values, data)
예제 #12
0
파일: test_instance.py 프로젝트: mahak/nova
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # instance.update notification needs some tags value to avoid lazy-load
     self.instance.tags = objects.TagList()
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     mock_context = mock.MagicMock()
     mock_context.project_id = 'fake_project_id'
     mock_context.user_id = 'fake_user_id'
     mock_context.request_id = 'fake_req_id'
     notification_base._send_versioned_instance_update(
         mock_context,
         self.instance,
         self.payload,
         'host',
         'compute')
     payload = mock_emit.call_args_list[0][1]['payload']['nova_object.data']
     flavor_payload = payload['flavor']['nova_object.data']
     data = {k: flavor_payload[k] for k in self.test_keys}
     self.assertEqual(self.flavor_values, data)
예제 #13
0
 def test_send_version_instance_update_uses_flavor(self, mock_emit):
     # instance.update notification needs some tags value to avoid lazy-load
     self.instance.tags = objects.TagList()
     # Make sure that the notification payload chooses the values in
     # instance.flavor.$value instead of instance.$value
     mock_context = mock.MagicMock()
     mock_context.project_id = 'fake_project_id'
     mock_context.user_id = 'fake_user_id'
     mock_context.request_id = 'fake_req_id'
     notification_base._send_versioned_instance_update(
         mock_context,
         self.instance,
         self.payload,
         'host',
         'compute')
     payload = mock_emit.call_args_list[0][1]['payload']['nova_object.data']
     flavor_payload = payload['flavor']['nova_object.data']
     data = {k: flavor_payload[k] for k in self.test_keys}
     self.assertEqual(self.flavor_values, data)