def get_data(self): request = self.request try: gw_port = self._get_gateway_port_data() gw_vlans = neutron.nuage_gateway_vlan_list( self.request, gw_port.id) vlans = [] for vlan in gw_vlans: if vlan.get('vport'): dict = vlan.to_dict() vport = neutron.nuage_gateway_vport_get(request, vlan['vport']) dict['vport'] = vport if vport and vport.get('subnet'): subnet = neutron.subnet_get(request, vport.get('subnet')) dict['subnet'] = subnet if vport.get('port'): try: port = neutron.port_get(request, vport['port']) dict['port'] = port except Exception: dict['port'] = None vlan = neutron.NuageGatewayVlan(dict) vlans.append(vlan) except Exception: vlans = [] msg = _('Nuage Gateway Vlan list can not be retrieved.') exceptions.handle(request, msg) return vlans
def get_initial(self): gw_vlan = self._get_object() gw_port = neutron.nuage_gateway_port_get( self.request, gw_vlan.get('gatewayport')) gw_vport = None if gw_vlan.get('vport'): gw_vport = neutron.nuage_gateway_vport_get( self.request, gw_vlan['vport']) return {"gw_vlan_id": self.kwargs['gw_vlan_id'], "gw_port": gw_port, "vlan_range": gw_port['vlan'], "vlan": gw_vlan.get('value'), "assigned": gw_vlan.get('assigned'), "type": gw_vport.get('type').lower() if gw_vport else None, "subnet_id": gw_vport.get('subnet') if gw_vport else None, "port_id": gw_vport.get('port') if gw_vport else None}