def handle(self, request, data): gw_port = self.initial['gw_port'] gw_port_id = gw_port.get('id') try: gw_vlan_id = self.initial['gw_vlan_id'] vlan = data['vlan'] assigned = data.get('assigned') type = data.get('type') subnet_id = data.get('subnet_id') port_id = data.get('port_id') if request.user.is_superuser: # neutron.nuage_gateway_vlan_unassign( # request, # gw_vlan_id, # tenant_id=self.initial['tenant_id']) if assigned and self.initial['assigned'] != assigned: neutron.nuage_gateway_vlan_assign( request, gw_vlan_id, tenant_id=assigned) if not self.initial['type']: if type == 'host' and subnet_id and port_id: neutron.nuage_gateway_vport_create( request, gw_vlan_id=gw_vlan_id, port_id=port_id, tenant_id=assigned) elif type == 'bridge' and subnet_id: neutron.nuage_gateway_vport_create( request, gw_vlan_id=gw_vlan_id, subnet_id=subnet_id, tenant_id=assigned) message = _('Gateway Vlan with vlan %s was successfully ' 'updated.') % vlan messages.success(request, message) return True except Exception: msg = _('Failed to update Gateway Vlan.') LOG.info(msg) args = [gw_port_id] redirect = reverse(self.failure_url, args=args) exceptions.handle(request, msg, redirect=redirect) return False
def create_gw_vlan(request, gw_port_id, vlan, assigned, type, subnet_id, port_id): gw_vlan = neutron.nuage_gateway_vlan_create( request, gw_port_id=gw_port_id, vlan=vlan) if assigned: neutron.nuage_gateway_vlan_assign( request, gw_vlan['id'], tenant_id=assigned) if type == 'host': neutron.nuage_gateway_vport_create( request, gw_vlan_id=gw_vlan['id'], port_id=port_id, tenant_id=assigned) elif type == 'bridge': neutron.nuage_gateway_vport_create( request, gw_vlan_id=gw_vlan['id'], subnet_id=subnet_id, tenant_id=assigned) return gw_vlan