def schedule_backup_restore(self, backup_id, destination_uri,tags=None,
                                no_index_restore=None, no_users_restore=None, no_roles_restore=None,
                                source_database_name=None):
        backup = get_mbs().backup_collection.get_by_id(backup_id)
        destination = build_backup_source(destination_uri)
        logger.info("Scheduling a restore for backup '%s'" % backup.id)
        restore = Restore()

        restore.state = State.SCHEDULED
        restore.source_backup = backup
        restore.source_database_name = source_database_name
        restore.strategy = backup.strategy
        restore.strategy.no_index_restore = no_index_restore
        restore.strategy.no_users_restore = no_users_restore
        restore.strategy.no_roles_restore = no_roles_restore
        restore.destination = destination
        # resolve tags
        tags = tags or restore.source_backup.tags
        restore.tags = tags

        rc = get_mbs().restore_collection
        try:
            self._resolve_task_tags(restore)
        except Exception, ex:
            self._task_failed_to_schedule(restore, rc, ex)
Exemple #2
0
def map(rbd, snap):
    restore = Restore(rbd, snap)
    status = restore.mount()
    if status is None:
        return send_json({'success': False, 'path': None}, code=500)
    else:
        status = status.replace('/tmp/', '')
        return send_json({'success': True, 'path': status})
Exemple #3
0
 def __init__(self, name, formation_type):
     self.name = name
     self.common_image_dir = constant.BATTLE_COMMON_IMAGE_DIR
     self.war_dir = os.path.join(constant.WARS_DIR, self.name)
     self.war_image_dir = os.path.join(self.war_dir, 'image')
     self.inventory = Inventory()
     self.restore = Restore()
     self.formation = Formation(formation_type)
 def restore_processor(self):
     if not self._restore_processor:
         self._restore_processor = TaskQueueProcessor(
             "Restores",
             Restore().type_name,
             "restores",
             self,
             self._max_workers,
             sleep_time=self.sleep_time)
     return self._restore_processor
Exemple #5
0
def ls_snaps(rbd):
    restore = Restore(rbd)
    data = restore.ls()

    result = list()
    for i in data:
        result.append({
            'creation_date': str(i['creation']),
            'uuid': i['uuid'],
        })

    return send_json(result)
Exemple #6
0
def ls():
    restore = Restore()
    data = restore.ls()

    result = list()
    for i in data:
        result.append({
            'ident': i['ident'],
            'disk': i['disk'],
            'uuid': i['uuid'],
        })

    return send_json(result)
    def schedule_backup_restore(self,
                                backup_id,
                                destination_uri,
                                tags=None,
                                source_database_name=None):
        backup = get_mbs().backup_collection.get_by_id(backup_id)
        destination = build_backup_source(destination_uri)
        logger.info("Scheduling a restore for backup '%s'" % backup.id)
        restore = Restore()

        restore.source_backup = backup
        restore.source_database_name = source_database_name
        restore.strategy = backup.strategy
        restore.destination = destination
        restore.tags = tags or restore.source_backup.tags
        restore.state = STATE_SCHEDULED
        restore.created_date = date_now()

        logger.info("Saving restore task: %s" % restore)
        restore_doc = restore.to_document()
        get_mbs().restore_collection.save_document(restore_doc)
        restore.id = restore_doc["_id"]
        return restore
Exemple #8
0
        extras_paths = backup.ExtrasPaths(backup_extract_path)

        if not isdir(extras_paths.path):
            fatal(
                "missing %s directory - this doesn't look like a system backup"
                % extras_paths.path)

        os.environ['TKLBAM_BACKUP_EXTRACT_PATH'] = backup_extract_path

        if not silent:
            print fmt_title("Restoring system from backup extract at " +
                            backup_extract_path)

        restore = Restore(backup_extract_path,
                          limits=opt_limits,
                          rollback=not no_rollback,
                          simulate=opt_simulate)

        if restore.conf:
            os.environ['TKLBAM_RESTORE_PROFILE_ID'] = restore.conf.profile_id
        hooks.restore.inspect(restore.extras.path)

        if opt_debug:
            print """\
  The --debug option has (again) dropped you into an interactive shell so that
  you can explore the state of the system just before restore. The current
  working directory contains the backup extract.

  To exit from the shell and continue the restore run "exit 0".
  To exit from the shell and abort the restore run "exit 1".
"""
Exemple #9
0
def restore_images(trained_model, corrupter, net_name):
    paths = read_paths.list_paths(TEST_PATH.replace(TO_REPLACE, net_name))
    restore = Restore()
    for i, path in enumerate(paths):
        restore_image(trained_model, restore, corrupter, read_image(path), i, net_name)
Exemple #10
0
# testdataAll  = np.loadtxt("E:/WiFi/实验室6楼/wifiData/实验/1.2m_human.csv", dtype=float, delimiter=',')[:,3:]
font1 = {'family' : 'Times New Roman',
'weight' : 'normal',
'size'   : 20,}
modelPath = 'model/GP/'
inputNum = 2
interval = 19
scaler = StandardScaler().fit(dataAll[:,:inputNum])
ax = []
err = np.zeros([len(testdataAll),len(testdataAll[0])-2])
for Ap in range(0,interval):
    testAP = inputNum + Ap
    testAPBand = testAP + interval
    testdata = testdataAll[testdataAll[:,testAP]!=-100,:]
    dataRaw = dataAll[dataAll[:, testAP] != -100]
    y,dy,reData = Restore(dataAll=dataAll,gap=interval,inputN=inputNum,num=Ap)
    y[y[:]==-100]=default

    X = dataAll[:,:inputNum]

    kernel = 1.0* RBF(length_scale=1.0, length_scale_bounds=(1e-2, 1e3)) \
             +WhiteKernel(noise_level=1)
    gpr = GaussianProcessRegressor(kernel=kernel, normalize_y=True)
    stime = time.time()
    gpr.fit(scaler.transform(X), y)
    print("Time for GPR fitting: %.3f" % (time.time() - stime))

    X_predict =grid[:,:2]
    # Predict using gaussian process regressor

    stime = time.time()
 def __init__(self):
     self.restore_obj = Restore()
     self.files_to_restore = self.restore_obj.getFiles()
	def post(self):
            self.response.headers['Content-Type'] = 'text/html'
            if self.request.get('button') == 'Delete' :
                delete_file_name = self.request.get('delete_file_name')
                directory_id = self.request.get('directory_id')
                directory_key = ndb.Key(Directory,directory_id)
                directory = directory_key.get()
                index = int(self.request.get('index'))
                blob_key = directory.blobs[index]
                del directory.list_of_files[index]
                del directory.blobs[index]
                directory.put()
                random_id = str(random.randint(000000,999999))
                random_key = ndb.Key(Directory, random_id)
                random_value = random_key.get()

                if random_value != None:
                    while (random_value != None):
                        random_id = str(random.randint(000000, 999999))

                        random_key = ndb.Key(Directory, random_id)
                        random_value = random_key.get()


                if random_value == None:
                    new_file = Restore(id=random_id)
                    new_file.put()
                    new_file_key = ndb.Key(Restore,random_id)
                    file = new_file_key.get()
                    file.file_name = delete_file_name
                    file.blob_key = blob_key
                    user = users.get_current_user()
                    email = user.email()
                    file.user = email
                    file.put()

                self.redirect('/main')

            if self.request.get('button') == 'Delete Permanently':
                file_id = self.request.get('file_id')
                file_key = ndb.Key(Restore,file_id)
                file = file_key.get()
                print(file)
                blob_key = file.blob_key
                file_key.delete()
                blobstore.delete(blob_key)
                self.redirect('/main')

            if self.request.get('button') == 'Delete Shared File' :
                directory_id = self.request.get('directory_id')
                directory_key = ndb.Key(Directory,directory_id)
                directory = directory_key.get()

                delete_file_name = self.request.get('delete_file_name')
                index = int(self.request.get('index'))

                del directory.shared_files[index]
                del directory.shared_files_blobs[index]
                del directory.shared_file_owner[index]
                directory.put()
                self.redirect('/main')
Exemple #13
0
def mapped():
    restore = Restore()
    data = restore.list_mapped()
    return send_json(data)
Exemple #14
0
def unmap(rbd, snap):
    restore = Restore(rbd, snap)
    restore.umount()
    return send_json({'success': True})