def test_parse_call_to_empty_bridge(self, mock_list_br, mock_empty):
        mock_list_br.return_value = ['br1']

        utils.parse_sea_mappings(None, 'host_uuid', '')

        # Make sure the _parse_empty_bridge_mapping method was called
        self.assertEqual(1, mock_empty.call_count)
    def test_parse_call_to_empty_bridge(self, mock_list_br, mock_empty):
        mock_list_br.return_value = ['br1']

        utils.parse_sea_mappings(None, 'host_uuid', '')

        # Make sure the _parse_empty_bridge_mapping method was called
        self.assertEqual(1, mock_empty.call_count)
    def test_parse_call_to_empty_bridge(self, mock_list_br, mock_empty):
        nb_wraps = pvm_net.NetBridge.wrap(self.net_br_resp)
        mock_list_br.return_value = nb_wraps

        self._mock_feed(self.vios_feed_resp)
        utils.parse_sea_mappings(self.adpt, 'host_uuid', '')

        # Make sure the _parse_empty_bridge_mapping method was called
        self.assertEqual(1, mock_empty.call_count)
Exemple #4
0
    def test_parse_call_to_empty_bridge(self, mock_list_br, mock_empty):
        nb_wraps = pvm_net.NetBridge.wrap(self.net_br_resp)
        mock_list_br.return_value = nb_wraps

        self._mock_feed(self.vios_feed_resp)
        utils.parse_sea_mappings(self.adpt, 'host_uuid', '')

        # Make sure the _parse_empty_bridge_mapping method was called
        self.assertEqual(1, mock_empty.call_count)
    def test_parse_sea_mappings(self, mock_wrap, mock_list_br):
        # Create mocks
        class FakeVIOS(object):
            @property
            def name(self):
                return '21-25D0A'

            @property
            def related_href(self):
                return 'https://9.1.2.3/vios1'
        mock_sea = mock.Mock()
        mock_sea.dev_name = 'ent8'
        mock_sea.vio_uri = 'https://9.1.2.3/vios1'
        nb_wrap = mock.Mock()
        nb_wrap.seas = [mock_sea]
        nb_wrap.uuid = '764f3423-04c5-3b96-95a3-4764065400bd'
        nb_wraps = [nb_wrap]
        mock_list_br.return_value = nb_wraps
        mock_adpt = mock.MagicMock()
        mock_wrap.return_value = [FakeVIOS()]

        # Run actual test
        resp = utils.parse_sea_mappings(mock_adpt, 'host_uuid',
                                        'default:ent8:21-25D0A')

        # Verify results
        self.assertEqual(1, len(resp.keys()))
        self.assertIn('default', resp)
        self.assertEqual('764f3423-04c5-3b96-95a3-4764065400bd',
                         resp['default'])
    def test_parse_sea_mappings(self, mock_vioget, mock_list_br):
        # Create mocks
        mock_vios = mock.Mock()
        mock_vios.configure_mock(name='21-25D0A',
                                 uuid="4E0B057C-F052-4609-8EDE-071C7FC485BD")

        mock_sea = mock.Mock(
            dev_name='ent8',
            vio_uri='http://localhost:12080/rest/api/uom/ManagedSystem/'
            'b7f6d2f3-c4f3-33e4-91ea-1aaeada65d7b/VirtualIOServer/'
            '4E0B057C-F052-4609-8EDE-071C7FC485BD')
        nb_wrap = mock.Mock()
        nb_wrap.seas = [mock_sea]
        nb_wrap.uuid = '764f3423-04c5-3b96-95a3-4764065400bd'
        nb_wraps = [nb_wrap]
        mock_list_br.return_value = nb_wraps
        mock_vioget.return_value = [mock_vios]

        # Run actual test
        resp = utils.parse_sea_mappings('adap', 'host_uuid',
                                        'default:ent8:21-25D0A')

        # Verify results
        self.assertEqual(1, len(resp.keys()))
        self.assertIn('default', resp)
        self.assertEqual('764f3423-04c5-3b96-95a3-4764065400bd',
                         resp['default'])
    def test_parse_sea_mappings_no_mapping(self, mock_list_br):
        nb_wraps = pvm_net.NetBridge.wrap(self.net_br_resp)
        mock_list_br.return_value = nb_wraps

        self._mock_feed(self.vios_feed_resp)
        resp = utils.parse_sea_mappings(self.adpt, 'host_uuid',
                                        'default:ent8:21-25D0A')

        self.assertEqual({'default': '764f3423-04c5-3b96-95a3-4764065400bd'},
                         resp)
Exemple #8
0
    def test_parse_sea_mappings_no_mapping(self, mock_list_br):
        nb_wraps = pvm_net.NetBridge.wrap(self.net_br_resp)
        mock_list_br.return_value = nb_wraps

        self._mock_feed(self.vios_feed_resp)
        resp = utils.parse_sea_mappings(self.adpt, 'host_uuid',
                                        'default:ent8:21-25D0A')

        self.assertEqual({'default': '764f3423-04c5-3b96-95a3-4764065400bd'},
                         resp)
    def __init__(self):
        """Constructs the agent."""
        name = 'networking-powervm-sharedethernet-agent'
        agent_type = p_const.AGENT_TYPE_PVM_SEA
        super(SharedEthernetNeutronAgent, self).__init__(name, agent_type)

        self.br_map = utils.parse_sea_mappings(self.adapter, self.host_uuid,
                                               ACONF.bridge_mappings)

        # A looping utility that updates asynchronously the PVIDs on the
        # Client Network Adapters (CNAs)
        self.pvid_updater = PVIDLooper(self)
        eventlet.spawn_n(self.pvid_updater.looping_call)

        # Add an event handler to the session.
        evt_listener = self.adapter.session.get_event_listener()
        self._cna_event_handler = CNAEventHandler(self)
        evt_listener.subscribe(self._cna_event_handler)
 def parse_bridge_mappings(self):
     return utils.parse_sea_mappings(self.adapter, self.host_uuid,
                                     ACONF.bridge_mappings)
Exemple #11
0
 def parse_bridge_mappings(self):
     return utils.parse_sea_mappings(self.adapter, self.host_uuid,
                                     ACONF.bridge_mappings)