def bind_port_to_segment(self, port_dict): """bind_port_to_network. This call makes the REST request to the external SDN controller for provisioning VLAN for the switch port where bare metal is connected. """ LOG.debug("bind_port_to_segment with port dict %(port_dict)s", {'port_dict': port_dict}) bind_dict = self._get_bind_dict(port_dict) is_lag = port_dict['port']['is_lag'] if is_lag: resp = self._do_lag_request(port_dict, True, None) else: resp = self._do_vlan_provisioning(port_dict, True) port_id = port_dict['port']['id'] if resp.status_code == 204: db.update_hp_ironic_swport_map_with_seg_id(self.context, bind_dict) return hp_const.BIND_SUCCESS elif resp.status_code == 200: LOG.debug("lag request for physicalInterfaces is succeeded") lag_id = uuidutils.generate_uuid() ext_lag_id = resp.json()['lagId'] lag_dict = {'id': lag_id, 'external_lag_id': ext_lag_id, 'neutron_port_id': port_id} db.add_hp_switch_lag_port(self.context, lag_dict) db.update_hp_ironic_swport_map_with_seg_id(self.context, bind_dict) db.update_hp_ironic_swport_map_with_lag_id(self.context, lag_dict) self._update_hp_sw_lag_id(self.context, lag_dict) return hp_const.BIND_SUCCESS else: return hp_const.BIND_FAILURE
def test_delete_hp_switch_lag_port(self): """Test delete_hp_switch_lag_port method.""" rec_dict = self._get_switch_lag_port_dict() db.add_hp_switch_lag_port(self.ctx, rec_dict) db.delete_hp_switch_lag_port(self.ctx, rec_dict) count = self.ctx.session.query(models.HPSwitchLAGPort).count() self.assertEqual(count, 0)
def test_update_hp_switch_lag_port(self): """Test update_hp_switch_lag_port method.""" rec_dict = self._get_switch_lag_port_dict() db.add_hp_switch_lag_port(self.ctx, rec_dict) db.update_hp_switch_lag_port( self.ctx, {'id': "lag1234", 'external_lag_id': "extlag456"}) result = db.get_hp_switch_lag_port_by_id( self.ctx, {'id': "lag1234"}) self.assertEqual("extlag456", result.external_lag_id)
def test_update_hp_switch_lag_port(self): """Test update_hp_switch_lag_port method.""" rec_dict = self._get_switch_lag_port_dict() db.add_hp_switch_lag_port(self.ctx, rec_dict) db.update_hp_switch_lag_port(self.ctx, { 'id': "lag1234", 'external_lag_id': "extlag456" }) result = db.get_hp_switch_lag_port_by_id(self.ctx, {'id': "lag1234"}) self.assertEqual("extlag456", result.external_lag_id)
def _add_switch_and_lag_port(self): """Add entries to hpswitchports and hpswitchlagports.""" sw_rec_dict = self._get_switch_port_dict() lag_dict = self._get_switch_lag_port_dict() db.add_hp_switch_lag_port(self.ctx, lag_dict) db.add_hp_switch_port(self.ctx, sw_rec_dict)