Esempio n. 1
0
def get_freed_nodes(iteration):
    try:
        condense_data = json.loads(
            data_storage.get(get_key(iteration, 'source')))
        return condense_data.get(TRANSFER, [])
    except (TypeError, ValueError):
        LOG.error("Something went wrong while retrieving freed nodes from DB, "
                  "check iteration value passed")
Esempio n. 2
0
def get_freed_nodes(iteration):
    try:
        condense_data = json.loads(
            data_storage.get(get_key(iteration, 'source')))
        return condense_data.get(TRANSFER, [])
    except (TypeError, ValueError):
        LOG.error("Something went wrong while retrieving freed nodes from DB, "
                  "check iteration value passed")
Esempio n. 3
0
    def run(self, **kwargs):
        compute_resource = self.cloud.resources['compute']
        cloud = process.SOURCE
        LOG.debug("getting info on cloud %s iteration %s from db", cloud,
                  self.iteration)
        info = data_storage.get(c_action.get_key(self.iteration, cloud))
        if not info:
            LOG.info("cannot find info in db on %s-%s", cloud, self.iteration)
            return {}

        actions = json.loads(info).get(c_action.CONDENSE)
        LOG.debug("live-migrating vm one by one")
        for vm_id, dest_host in actions:
            compute_resource.live_migrate_vm(vm_id, dest_host)
        return {}
Esempio n. 4
0
    def run(self, **kwargs):
        compute_resource = self.cloud.resources['compute']
        cloud = process.SOURCE
        LOG.debug("getting info on cloud %s iteration %s from db", cloud,
                  self.iteration)
        info = data_storage.get(
            c_action.get_key(self.iteration, cloud))
        if not info:
            LOG.info("cannot find info in db on %s-%s", cloud, self.iteration)
            return {}

        actions = json.loads(info).get(c_action.CONDENSE)
        LOG.debug("live-migrating vm one by one")
        for vm_id, dest_host in actions:
            compute_resource.live_migrate_vm(vm_id, dest_host)
        return {}
Esempio n. 5
0
def make(filter_folder, images_date):
    delete_relations()
    check_filter_folder(filter_folder)
    LOG.info("started creating filter files and all needed resources")
    cursor = 0
    while True:
        step = data_storage.get("%s_source" % cursor)
        if step is None:
            break
        cursor += 1
        ids = []
        for migrate in json.loads(step)['migrate']:
            vm_id = migrate[0]
            ids.append(vm_id)
            data_storage.put(MIGRATE_VM_PREFIX + vm_id, migrate[1])
        vm_filter = {'images': {'date': images_date}, 'instances': {'id': ids}}
        with open("%s/filter_%s.yaml" % (filter_folder, cursor), 'w') as \
                filter_file:
            filter_file.write(yaml.safe_dump(vm_filter))
    LOG.info("Creating filter files done. %s filters was created.", cursor)
Esempio n. 6
0
def make(filter_folder, images_date):
    delete_relations()
    check_filter_folder(filter_folder)
    LOG.info("started creating filter files and all needed resources")
    cursor = 0
    while True:
        step = data_storage.get("%s_source" % cursor)
        if step is None:
            break
        cursor += 1
        ids = []
        for migrate in json.loads(step)['migrate']:
            vm_id = migrate[0]
            ids.append(vm_id)
            data_storage.put(MIGRATE_VM_PREFIX + vm_id, migrate[1])
        vm_filter = {'images': {'date': images_date},
                     'instances': {'id': ids}}
        with open("%s/filter_%s.yaml" % (filter_folder, cursor), 'w') as \
                filter_file:
            filter_file.write(yaml.safe_dump(vm_filter))
    LOG.info("Creating filter files done. %s filters was created.", cursor)