예제 #1
0
파일: vxlan.py 프로젝트: rombie/contrail-f5
 def create_multipoint_tunnel(self,
                              name=None,
                              profile_name=None,
                              self_ip_address=None,
                              vxlanid=0,
                              description=None,
                              folder='Common'):
     if not self.tunnel_exists(name=name, folder=folder):
         folder = str(folder).replace('/', '')
         # check partition is okay to create in
         self.bigip.system.set_rest_folder(folder)
         payload = dict()
         payload['name'] = name
         payload['partition'] = folder
         payload['profile'] = profile_name
         payload['key'] = vxlanid
         payload['localAddress'] = self_ip_address
         payload['remoteAddress'] = '0.0.0.0'
         if description:
             payload['description'] = description
         request_url = self.bigip.icr_url + '/net/tunnels/tunnel/'
         response = self.bigip.icr_session.post(
             request_url,
             data=json.dumps(payload),
             timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             if not folder == 'Common':
                 self.bigip.route.add_vlan_to_domain(name=name,
                                                     folder=folder)
             return True
         else:
             Log.error('VXLAN', response.text)
             raise exceptions.VXLANCreationException(response.text)
     else:
         return False
예제 #2
0
파일: vxlan.py 프로젝트: rombie/contrail-f5
 def create_multipoint_profile(self, name=None, folder='Common'):
     if not self.profile_exists(name=name, folder=folder):
         folder = str(folder).replace('/', '')
         self.bigip.system.set_rest_folder(folder)
         payload = dict()
         payload['name'] = name
         payload['partition'] = folder
         payload['defaultsFrom'] = 'vxlan'
         payload['floodingType'] = 'multipoint'
         payload['port'] = constants.VXLAN_UDP_PORT
         request_url = self.bigip.icr_url + '/net/tunnels/vxlan/'
         response = self.bigip.icr_session.post(
             request_url,
             data=json.dumps(payload),
             timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             return True
         elif response.staus_code == 409:
             return True
         else:
             Log.error('VXLAN', response.text)
             raise exceptions.VXLANCreationException(response.text)
     else:
         return False