docs: def handle_delete_account(self, req):
          """Handles the DELETE v2/<account> call for removing an account from the
          auth system. Can only be called by a .reseller_admin.
  
          :param req: The swob.Request to process.
          :returns: swob.Response, 2xx on success.
          """
          if not self.is_reseller_admin(req):
              return self.denied_response(req)
          account = req.path_info_pop()
          if req.path_info or not account or account[0] == '.':
              return HTTPBadRequest(request=req)
          # Make sure the account has no users and get the account_id
          marker = ''
          while True:
              path = '/v1/%s?format=json&marker=%s' % (quote('%s/%s' %
                  (self.auth_account, account)), quote(marker))
              resp = self.make_pre_authed_request(
                  req.environ, 'GET', path).get_response(self.app)
              if resp.status_int == 404:
                  return HTTPNotFound(request=req)
              if resp.status_int // 100 != 2:
                  raise Exception('Could not list in main auth account: %s %s' %
                                  (path, resp.status))
              account_id = resp.headers['x-container-meta-account-id']
              sublisting = json.loads(resp.body)
              if not sublisting:
                  break
              for obj in sublisting:
                  if obj['name'][0] != '.':
                      return HTTPConflict(request=req)
              marker = sublisting[-1]['name'].encode('utf-8')
          # Obtain the listing of services the account is on.
          path = quote('/v1/%s/%s/.services' % (self.auth_account, account))
          resp = self.make_pre_authed_request(
              req.environ, 'GET', path).get_response(self.app)
          if resp.status_int // 100 != 2 and resp.status_int != 404:
              raise Exception('Could not obtain .services object: %s %s' %
                              (path, resp.status))
          if resp.status_int // 100 == 2:
              services = json.loads(resp.body)
              # Delete the account on each cluster it is on.
              deleted_any = False
              for name, url in services['storage'].iteritems():
                  if name != 'default':
                      parsed = urlparse(url)
                      conn = self.get_conn(parsed)
                      conn.request('DELETE', parsed.path,
                          headers={'X-Auth-Token': self.get_itoken(req.environ)})
                      resp = conn.getresponse()
                      resp.read()
                      if resp.status == 409:
                          if deleted_any:
                              raise Exception('Managed to delete one or more '
                                  'service end points, but failed with: '
                                  '%s %s %s' % (url, resp.status, resp.reason))
                          else:
                              return HTTPConflict(request=req)
                      if resp.status // 100 != 2 and resp.status != 404:
                          raise Exception('Could not delete account on the '
                              'Swift cluster: %s %s %s' %
                              (url, resp.status, resp.reason))
                      deleted_any = True
              # Delete the .services object itself.
              path = quote('/v1/%s/%s/.services' %
                           (self.auth_account, account))
              resp = self.make_pre_authed_request(
                  req.environ, 'DELETE', path).get_response(self.app)
              if resp.status_int // 100 != 2 and resp.status_int != 404:
                  raise Exception('Could not delete .services object: %s %s' %
                                  (path, resp.status))
          # Delete the account id mapping for the account.
          path = quote('/v1/%s/.account_id/%s' %
                       (self.auth_account, account_id))
          resp = self.make_pre_authed_request(
              req.environ, 'DELETE', path).get_response(self.app)
          if resp.status_int // 100 != 2 and resp.status_int != 404:
              raise Exception('Could not delete account id mapping: %s %s' %
                              (path, resp.status))
          # Delete the account marker itself.
          path = quote('/v1/%s/%s' % (self.auth_account, account))
          resp = self.make_pre_authed_request(
              req.environ, 'DELETE', path).get_response(self.app)
          if resp.status_int // 100 != 2 and resp.status_int != 404:
              raise Exception('Could not delete account marked: %s %s' %
                              (path, resp.status))
          return HTTPNoContent(request=req)