← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1518848] [NEW] set reclaim_instance_interval < 0, never delete instance completely.

 

Public bug reported:


CONF.reclaim_instance_interval  is interval in seconds for reclaiming deleted instances.  It should takes effect only when value is greater than 0.    current if we set it with -1 for example .  It will pass the check of ' if CONF.reclaim_instance_interval:' and do a soft_delete.   See https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/servers.py#L752
    def _delete(self, context, req, instance_uuid):
        authorize(context, action='delete')
        instance = self._get_server(context, req, instance_uuid)
        if CONF.reclaim_instance_interval:
            try:
                self.compute_api.soft_delete(context, instance)
            except exception.InstanceInvalidState:
                # Note(yufang521247): instance which has never been active
                # is not allowed to be soft_deleted. Thus we have to call
                # delete() to clean up the instance.
                self.compute_api.delete(context, instance)
        else:
            self.compute_api.delete(context, instance)

We do reclaim instance in  https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L6192
    def _reclaim_queued_deletes(self, context):
        """Reclaim instances that are queued for deletion."""
        interval = CONF.reclaim_instance_interval
        if interval <= 0:
            LOG.debug("CONF.reclaim_instance_interval <= 0, skipping...")
            return


That means we never have chance to clean up a soft instance adn release the quota.

** Affects: nova
     Importance: Undecided
     Assignee: ChangBo Guo(gcb) (glongwave)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => ChangBo Guo(gcb) (glongwave)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1518848

Title:
  set reclaim_instance_interval < 0, never delete instance completely.

Status in OpenStack Compute (nova):
  New

Bug description:
  
  CONF.reclaim_instance_interval  is interval in seconds for reclaiming deleted instances.  It should takes effect only when value is greater than 0.    current if we set it with -1 for example .  It will pass the check of ' if CONF.reclaim_instance_interval:' and do a soft_delete.   See https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/servers.py#L752
      def _delete(self, context, req, instance_uuid):
          authorize(context, action='delete')
          instance = self._get_server(context, req, instance_uuid)
          if CONF.reclaim_instance_interval:
              try:
                  self.compute_api.soft_delete(context, instance)
              except exception.InstanceInvalidState:
                  # Note(yufang521247): instance which has never been active
                  # is not allowed to be soft_deleted. Thus we have to call
                  # delete() to clean up the instance.
                  self.compute_api.delete(context, instance)
          else:
              self.compute_api.delete(context, instance)

  We do reclaim instance in  https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L6192
      def _reclaim_queued_deletes(self, context):
          """Reclaim instances that are queued for deletion."""
          interval = CONF.reclaim_instance_interval
          if interval <= 0:
              LOG.debug("CONF.reclaim_instance_interval <= 0, skipping...")
              return

  
  That means we never have chance to clean up a soft instance adn release the quota.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1518848/+subscriptions


Follow ups