Exemple #1
0
 def release(self, backup=False):
     if not JBoxEBSVol.HAS_EBS:
         raise Exception("EBS disks not enabled")
     disk_id = self.disk_path.split('/')[-1]
     CloudHost.unmount_device(disk_id, JBoxEBSVol.FS_LOC)
     if backup:
         self._backup()
     vol_id = CloudHost.get_volume_id_from_device(disk_id)
     CloudHost.detach_volume(vol_id, delete=True)
Exemple #2
0
 def release(self, backup=False):
     if not JBoxEBSVol.HAS_EBS:
         raise Exception("EBS disks not enabled")
     disk_id = self.disk_path.split('/')[-1]
     CloudHost.unmount_device(disk_id, JBoxEBSVol.FS_LOC)
     if backup:
         self._backup()
     vol_id = CloudHost.get_volume_id_from_device(disk_id)
     CloudHost.detach_volume(vol_id, delete=True)
Exemple #3
0
    def release(self, backup=False):
        if not JBoxEBSVol.HAS_EBS:
            raise Exception("EBS disks not enabled")
        disk_id = self.disk_path.split('/')[-1]
        CloudHost.unmount_device(disk_id, JBoxEBSVol.FS_LOC)
        if backup:
            snap_id = self._backup()
        else:
            snap_id = None
        vol_id = CloudHost.get_volume_id_from_device(disk_id)
        CloudHost.detach_volume(vol_id, delete=False)

        sess_props = JBoxSessionProps(self.sessname)
        existing_disk = JBoxDiskState(cluster_id=CloudHost.INSTALL_ID, region_id=CloudHost.REGION,
                                      user_id=sess_props.get_user_id())
        if snap_id is not None:
            existing_disk.add_snapshot_id(snap_id)
        existing_disk.set_detach_time()
        existing_disk.set_state(JBoxDiskState.STATE_DETACHED)
        existing_disk.save()