Exemplo n.º 1
0
    def delete(self):
        if self.state == self.DELETE_IN_PROGRESS or self.state == self.DELETE_COMPLETE:
            return

        self.state_set(self.DELETE_IN_PROGRESS)
        Resource.delete(self)
        self.state_set(self.DELETE_COMPLETE)
Exemplo n.º 2
0
    def delete(self):
        if self.state == self.DELETE_IN_PROGRESS or \
           self.state == self.DELETE_COMPLETE:
            return
        self.state_set(self.DELETE_IN_PROGRESS)
        Resource.delete(self)

        server_id = self.t['Properties']['InstanceId']
        volume_id = self.t['Properties']['VolumeId']
        logger.info('VolumeAttachment un-attaching %s %s' % \
                    (server_id, volume_id))

        volapi = self.nova().volumes
        volapi.delete_server_volume(server_id,
                                    volume_id)

        vol = self.nova('volume').volumes.get(volume_id)
        logger.info('un-attaching %s, status %s' % (volume_id, vol.status))
        while vol.status == 'in-use':
            logger.info('trying to un-attach %s, but still %s' %
                        (volume_id, vol.status))
            eventlet.sleep(1)
            try:
                volapi.delete_server_volume(server_id,
                                            volume_id)
            except Exception:
                pass
            vol.get()

        self.state_set(self.DELETE_COMPLETE)
Exemplo n.º 3
0
 def delete(self):
     if self.state == self.DELETE_IN_PROGRESS or self.state == self.DELETE_COMPLETE:
         return
     self.state_set(self.DELETE_IN_PROGRESS)
     Resource.delete(self)
     server = self.nova().servers.get(self.instance_id)
     server.delete()
     self.instance_id = None
     self.state_set(self.DELETE_COMPLETE)
Exemplo n.º 4
0
    def delete(self):
        """De-allocate a floating IP."""
        if self.state == self.DELETE_IN_PROGRESS or \
           self.state == self.DELETE_COMPLETE:
            return

        self.state_set(self.DELETE_IN_PROGRESS)
        Resource.delete(self)

        if self.instance_id != None:
            self.nova().floating_ips.delete(self.instance_id)

        self.state_set(self.DELETE_COMPLETE)
Exemplo n.º 5
0
    def delete(self):
        """Remove a floating IP address from a server."""
        if self.state == self.DELETE_IN_PROGRESS or \
           self.state == self.DELETE_COMPLETE:
            return

        self.state_set(self.DELETE_IN_PROGRESS)
        Resource.delete(self)

        server = self.nova().servers.get(self.t['Properties']['InstanceId'])
        server.remove_floating_ip(self.t['Properties']['EIP'])

        self.state_set(self.DELETE_COMPLETE)
Exemplo n.º 6
0
    def delete(self):
        if self.state == self.DELETE_IN_PROGRESS or \
           self.state == self.DELETE_COMPLETE:
            return

        if self.instance_id != None:
            vol = self.nova('volume').volumes.get(self.instance_id)
            if vol.status == 'in-use':
                logger.warn('cant delete volume when in-use')
                return

        self.state_set(self.DELETE_IN_PROGRESS)
        Resource.delete(self)

        if self.instance_id != None:
            self.nova('volume').volumes.delete(self.instance_id)
        self.state_set(self.DELETE_COMPLETE)
Exemplo n.º 7
0
    def delete(self):
        if self.state == self.DELETE_IN_PROGRESS or \
           self.state == self.DELETE_COMPLETE:
            return

        self.state_set(self.DELETE_IN_PROGRESS)
        Resource.delete(self)

        if self.instance_id != None:
            sec = self.nova().security_groups.get(self.instance_id)

            for rule in sec.rules:
                self.nova().security_group_rules.delete(rule['id'])

            self.nova().security_groups.delete(sec)
            self.instance_id = None

        self.state_set(self.DELETE_COMPLETE)