Exemple #1
0
 def delete_by_vlan_name(self, vlan_name=None, folder='Common'):
     """ Delete selfip by vlan name """
     if vlan_name:
         folder = str(folder).replace('/', '')
         request_url = self.bigip.icr_url + '/net/self'
         request_url += '?$select=vlan,selfLink,floating'
         if folder:
             request_filter = 'partition eq ' + folder
             request_url += '&$filter=' + request_filter
         else:
             folder = 'Common'
         response = self.bigip.icr_session.get(
             request_url, timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             return_obj = json.loads(response.text)
             if 'items' in return_obj:
                 float_to_delete = []
                 nonfloat_to_delete = []
                 for selfip in return_obj['items']:
                     name = os.path.basename(selfip['vlan'])
                     if vlan_name == name or \
                        vlan_name == strip_folder_and_prefix(name):
                         if selfip['floating'] == 'enabled':
                             float_to_delete.append(
                                 self.bigip.icr_link(selfip['selfLink']))
                         else:
                             nonfloat_to_delete.append(
                                 self.bigip.icr_link(selfip['selfLink']))
                 for selfip in float_to_delete:
                     del_res = self.bigip.icr_session.delete(
                         selfip, timeout=const.CONNECTION_TIMEOUT)
                     if del_res.status_code > 399 and\
                        del_res.status_code != 404:
                         Log.error('self', del_res.text)
                         raise exceptions.SelfIPDeleteException(
                             del_res.text)
                 for selfip in nonfloat_to_delete:
                     del_res = self.bigip.icr_session.delete(
                         selfip, timeout=const.CONNECTION_TIMEOUT)
                     if del_res.status_code > 399 and\
                        del_res.status_code != 404:
                         Log.error('self', del_res.text)
                         raise exceptions.SelfIPDeleteException(
                             del_res.text)
             return True
         else:
             Log.error('selfip', response.text)
             raise exceptions.SelfIPQueryException(response.text)
     return False
Exemple #2
0
 def delete_all(self, folder='Common'):
     folder = str(folder).replace('/', '')
     request_url = self.bigip.icr_url + '/net/self/'
     request_url += '?$select=name,selfLink'
     request_filter = 'partition eq ' + folder
     request_url += '&$filter=' + request_filter
     response = self.bigip.icr_session.get(request_url,
                                           timeout=const.CONNECTION_TIMEOUT)
     if response.status_code < 400:
         response_obj = json.loads(response.text)
         if 'items' in response_obj:
             for item in response_obj['items']:
                 if item['name'].startswith(self.OBJ_PREFIX):
                     response = self.bigip.icr_session.delete(
                         self.bigip.icr_link(item['selfLink']),
                         timeout=const.CONNECTION_TIMEOUT)
                     if response.status_code > 400 and \
                        response.status_code != 404:
                         Log.error('self', response.text)
                         raise exceptions.SelfIPDeleteException(
                             response.text)
         return True
     else:
         Log.error('self', response.text)
         raise exceptions.SelfIPQueryException(response.text)
     return False
Exemple #3
0
 def delete(self, name=None, folder='Common', preserve_vlan_name=False):
     if name:
         folder = str(folder).replace('/', '')
         request_url = self.bigip.icr_url + '/net/self/'
         request_url += '~' + folder + '~' + name
         response = self.bigip.icr_session.delete(
             request_url, timeout=const.CONNECTION_TIMEOUT)
         if response.status_code < 400:
             return True
         elif response.status_code != 404:
             Log.error('self', response.text)
             raise exceptions.SelfIPDeleteException(response.text)
         else:
             return True
     return False