예제 #1
0
 def add_vlan_to_domain_by_id(self,
                              name=None,
                              folder='Common',
                              route_domain_id=0):
     """ Add VLANs to Domain """
     folder = str(folder).replace('/', '')
     existing_vlans = self.get_vlans_in_domain_by_id(
         folder=folder, route_domain_id=route_domain_id)
     route_domain = self.get_domain_by_id(folder=folder,
                                          route_domain_id=route_domain_id)
     if not route_domain:
         raise exceptions.RouteUpdateException(
             "Cannot get route domain %s" % route_domain_id)
     if name not in existing_vlans:
         existing_vlans.append(name)
         vlans = dict()
         vlans['vlans'] = existing_vlans
         request_url = self.bigip.icr_url + '/net/route-domain/'
         request_url += '~' + folder + '~' + route_domain['name']
         response = self.bigip.icr_session.patch(
             request_url,
             data=json.dumps(vlans),
             timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             return True
         else:
             Log.error('route-domain', response.text)
             raise exceptions.RouteUpdateException(response.text)
     return False
예제 #2
0
 def set_strict_state(self, name=None, folder='Common', state='disabled'):
     """ Route domain strict attribute """
     if name:
         folder = str(folder).replace('/', '')
         request_url = self.bigip.icr_url + '/net/route-domain/'
         request_url += '~' + folder + '~' + name
         payload = dict()
         payload['strict'] = state
         response = self.bigip.icr_session.patch(
             request_url,
             data=json.dumps(payload),
             timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             return True
         else:
             Log.error('route', response.text)
             raise exceptions.RouteUpdateException(response.text)
     return False
예제 #3
0
파일: route.py 프로젝트: rombie/contrail-f5
 def remove_vlan_from_domain(self, name=None, folder='Common'):
     folder = str(folder).replace('/', '')
     existing_vlans = self._get_vlans_in_domain(folder)
     if name in existing_vlans:
         existing_vlans.remove(name)
         vlans = dict()
         vlans['vlans'] = existing_vlans
         request_url = self.bigip.icr_url + '/net/route-domain/'
         request_url += '~' + folder + '~' + folder
         response = self.bigip.icr_session.put(
             request_url,
             data=json.dumps(vlans),
             timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             return True
         else:
             Log.error('route-domain', response.text)
             raise exceptions.RouteUpdateException(response.text)
     return False