コード例 #1
0
ファイル: resources_rpc.py プロジェクト: cybertan/neutron
 def push(self, context, resource, event_type):
     resource_obj = obj_base.NeutronObject.clean_obj_from_primitive(
         resource)
     LOG.debug("Resources notification (%(event_type)s): %(resource)s",
               {'event_type': event_type, 'resource': repr(resource_obj)})
     resource_type = resources.get_resource_type(resource_obj)
     cons_registry.push(resource_type, resource_obj, event_type)
コード例 #2
0
 def push(self, context, resource, event_type):
     resource_obj = obj_base.NeutronObject.clean_obj_from_primitive(
         resource)
     LOG.debug("Resources notification (%(event_type)s): %(resource)s",
               {'event_type': event_type, 'resource': repr(resource_obj)})
     resource_type = resources.get_resource_type(resource_obj)
     cons_registry.push(resource_type, resource_obj, event_type)
コード例 #3
0
ファイル: resources_rpc.py プロジェクト: asgard-lab/neutron
 def push(self, context, resource, event_type):
     resource_type = resources.get_resource_type(resource)
     _validate_resource_type(resource_type)
     cctxt = self._prepare_object_fanout_context(resource)
     #TODO(QoS): Push notifications for every known version once we have
     #           multiple of those
     dehydrated_resource = resource.obj_to_primitive()
     cctxt.cast(context, 'push',
                resource=dehydrated_resource,
                event_type=event_type)
コード例 #4
0
ファイル: resources_rpc.py プロジェクト: cybertan/neutron
 def push(self, context, resource, event_type):
     resource_type = resources.get_resource_type(resource)
     _validate_resource_type(resource_type)
     versions = version_manager.get_resource_versions(resource_type)
     for version in versions:
         cctxt = self._prepare_object_fanout_context(resource, version)
         dehydrated_resource = resource.obj_to_primitive(
             target_version=version)
         cctxt.cast(context, 'push',
                    resource=dehydrated_resource,
                    event_type=event_type)
コード例 #5
0
 def push(self, context, resource, event_type):
     resource_type = resources.get_resource_type(resource)
     _validate_resource_type(resource_type)
     versions = version_manager.get_resource_versions(resource_type)
     for version in versions:
         cctxt = self._prepare_object_fanout_context(resource, version)
         dehydrated_resource = resource.obj_to_primitive(
             target_version=version)
         cctxt.cast(context, 'push',
                    resource=dehydrated_resource,
                    event_type=event_type)
コード例 #6
0
 def push(self, context, resource, event_type):
     resource_type = resources.get_resource_type(resource)
     _validate_resource_type(resource_type)
     cctxt = self._prepare_object_fanout_context(resource)
     #TODO(QoS): Push notifications for every known version once we have
     #           multiple of those
     dehydrated_resource = resource.obj_to_primitive()
     cctxt.cast(context,
                'push',
                resource=dehydrated_resource,
                event_type=event_type)
コード例 #7
0
ファイル: resources_rpc.py プロジェクト: cubeek/neutron
    def push(self, context, **kwargs):
        """Push receiver, will always receive resources of the same type."""
        resource_list = kwargs['resource_list']
        event_type = kwargs['event_type']

        resource_objs = [
            obj_base.NeutronObject.clean_obj_from_primitive(resource)
            for resource in resource_list]

        resource_type = resources.get_resource_type(resource_objs[0])
        cons_registry.push(context, resource_type, resource_objs, event_type)
コード例 #8
0
    def test__prepare_object_fanout_context(self):
        expected_topic = topics.RESOURCE_TOPIC_PATTERN % {
            'resource_type': resources.get_resource_type(
                self.resource_objs[0]),
            'version': TEST_VERSION}

        observed = self.rpc._prepare_object_fanout_context(
            self.resource_objs[0], self.resource_objs[0].VERSION, '1.0')

        self.rpc.client.prepare.assert_called_once_with(
            fanout=True, topic=expected_topic, version='1.0')
        self.assertEqual(self.cctxt_mock, observed)
コード例 #9
0
    def test__prepare_object_fanout_context(self):
        expected_topic = topics.RESOURCE_TOPIC_PATTERN % {
            'resource_type': resources.get_resource_type(
                self.resource_objs[0]),
            'version': TEST_VERSION}

        observed = self.rpc._prepare_object_fanout_context(
            self.resource_objs[0], self.resource_objs[0].VERSION, '1.0')

        self.rpc.client.prepare.assert_called_once_with(
            fanout=True, topic=expected_topic, version='1.0')
        self.assertEqual(self.cctxt_mock, observed)
コード例 #10
0
    def push(self, context, **kwargs):
        """Push receiver, will always receive resources of the same type."""
        resource_list = kwargs['resource_list']
        event_type = kwargs['event_type']

        resource_objs = [
            obj_base.NeutronObject.clean_obj_from_primitive(resource)
            for resource in resource_list
        ]

        resource_type = resources.get_resource_type(resource_objs[0])
        cons_registry.push(context, resource_type, resource_objs, event_type)
コード例 #11
0
    def test__prepare_object_fanout_context(self):
        expected_topic = topics.RESOURCE_TOPIC_PATTERN % {
            'resource_type': resources.get_resource_type(self.resource_obj),
            'version': self.resource_obj.VERSION}

        with mock.patch.object(resources_rpc.resources, 'get_resource_cls',
                return_value=FakeResource):
            observed = self.rpc._prepare_object_fanout_context(
                self.resource_obj)

        self.rpc.client.prepare.assert_called_once_with(
            fanout=True, topic=expected_topic)
        self.assertEqual(self.cctxt_mock, observed)
コード例 #12
0
    def test__prepare_object_fanout_context(self):
        expected_topic = topics.RESOURCE_TOPIC_PATTERN % {
            'resource_type': resources.get_resource_type(self.resource_obj),
            'version': self.resource_obj.VERSION}

        with mock.patch.object(resources_rpc.resources, 'get_resource_cls',
                return_value=FakeResource):
            observed = self.rpc._prepare_object_fanout_context(
                self.resource_obj, self.resource_obj.VERSION)

        self.rpc.client.prepare.assert_called_once_with(
            fanout=True, topic=expected_topic)
        self.assertEqual(self.cctxt_mock, observed)
コード例 #13
0
ファイル: resources_rpc.py プロジェクト: cloudbase/neutron
    def push(self, context, **kwargs):
        """Push receiver, will always receive resources of the same type."""
        # TODO(mangelajo): accept single 'resource' parameter for backwards
        #                  compatibility during Newton, remove in Ocata
        resource_list = ([kwargs['resource']] if 'resource' in kwargs else
                         kwargs['resource_list'])
        event_type = kwargs['event_type']

        resource_objs = [
            obj_base.NeutronObject.clean_obj_from_primitive(resource)
            for resource in resource_list]

        resource_type = resources.get_resource_type(resource_objs[0])
        cons_registry.push(resource_type, resource_objs, event_type)
コード例 #14
0
    def push(self, context, **kwargs):
        """Push receiver, will always receive resources of the same type."""
        # TODO(mangelajo): accept single 'resource' parameter for backwards
        #                  compatibility during Newton, remove in Ocata
        resource_list = ([kwargs['resource']] if 'resource' in kwargs else
                         kwargs['resource_list'])
        event_type = kwargs['event_type']

        resource_objs = [
            obj_base.NeutronObject.clean_obj_from_primitive(resource)
            for resource in resource_list]

        resource_type = resources.get_resource_type(resource_objs[0])
        cons_registry.push(context, resource_type, resource_objs, event_type)
コード例 #15
0
ファイル: test_resources.py プロジェクト: sld880311/openstack
 def test_get_resource_type(self):
     # we could use any other registered NeutronObject type here
     self.assertEqual(policy.QosPolicy.obj_name(),
                      resources.get_resource_type(policy.QosPolicy()))
コード例 #16
0
ファイル: test_resources.py プロジェクト: sld880311/openstack
 def test_get_resource_type_wrong_type(self):
     self.assertIsNone(resources.get_resource_type(object()))
コード例 #17
0
ファイル: test_resources.py プロジェクト: sld880311/openstack
 def test_get_resource_type_none(self):
     self.assertIsNone(resources.get_resource_type(None))
コード例 #18
0
 def _classify_resources_by_type(resource_list):
     resources_by_type = collections.defaultdict(list)
     for resource in resource_list:
         resource_type = resources.get_resource_type(resource)
         resources_by_type[resource_type].append(resource)
     return resources_by_type
コード例 #19
0
ファイル: test_resources.py プロジェクト: cubeek/neutron
 def test_get_resource_type_none(self):
     self.assertIsNone(resources.get_resource_type(None))
コード例 #20
0
ファイル: resources_rpc.py プロジェクト: cubeek/neutron
 def _classify_resources_by_type(resource_list):
     resources_by_type = collections.defaultdict(list)
     for resource in resource_list:
         resource_type = resources.get_resource_type(resource)
         resources_by_type[resource_type].append(resource)
     return resources_by_type
コード例 #21
0
ファイル: test_resources.py プロジェクト: cubeek/neutron
 def test_get_resource_type(self):
     # we could use any other registered NeutronObject type here
     self.assertEqual(policy.QosPolicy.obj_name(),
                      resources.get_resource_type(policy.QosPolicy()))
コード例 #22
0
ファイル: test_resources.py プロジェクト: cubeek/neutron
 def test_get_resource_type_wrong_type(self):
     self.assertIsNone(resources.get_resource_type(object()))