code: def delete_volume(self, volObj, removeMode='ONLY_ME', **kwargs):
          
          if kwargs:
              for key, value in kwargs.iteritems():
                  if key =='autoUnmap' and value ==True:
                      # Find all mapped SDS to this volObj
                      # Call unmap for all of them
                      if self.get_volume_all_sdcs_mapped(volObj):
                          try:
                              self.conn.cluster.unmap_volume_from_sdc(volObj, enableMapAllSdcs=False)
                          except:
                              raise RuntimeError("delete_volume() - enableMapAllSdcs error")
                      else: # All SDS not enabled so loop through all mapped SDCs of volume and remove one by one                        
                          for sdc in self.get_sdc_for_volume(volObj):
                              try:
                                  self.unmap_volume_from_sdc(volObj, self.get_sdc_by_id(sdc['sdcId']))
                              except:
                                  raise RuntimeError("delete_volume() - unmap_volume_from_sdc() error")
          # TODO:
          # Check if object parameters are the correct ones, otherwise throw error
          self.conn.connection._check_login()
          deleteVolumeDict = {'removeMode': removeMode}
          try:
              response = self.conn.connection._do_post("{}/{}{}/{}".format(self.conn.connection._api_url, "instances/Volume::", volObj.id, 'action/removeVolume'), json=deleteVolumeDict)
          except:
              raise RuntimeError("delete_volume() - Communication error with ScaleIO Gateway")
          return response
docs: removeMode = 'ONLY_ME' | 'INCLUDING_DESCENDANTS' | 'DESCENDANTS_ONLY' | 'WHOLE_VTREE'
          Using kwargs it will be possible to tell delete_volume() to unmap all SDCs before delting. Not working yet