def clean_installing_progress(cluster_hosts):
    """Clean installing progress of clusters.

    :param cluster_hosts: clusters and hosts in each cluster to clean.
    :type cluster_hosts: dict of int or str to list of int or str

    .. note::
        The function should be called out of database session.
    """
    with util.lock('serialized_action'):
        logging.debug(
            'clean installing progress of cluster_hosts: %s',
            cluster_hosts)
        with database.session():
            cluster_hosts, os_versions, target_systems = (
                util.update_cluster_hosts(cluster_hosts))
            manager = ConfigManager()
            manager.clean_cluster_and_hosts_installing_progress(
                cluster_hosts, os_versions, target_systems)
            manager.sync()
Exemplo n.º 2
0
def clean_installing_progress(cluster_hosts):
    """Clean installing progress of clusters.

    :param cluster_hosts: clusters and hosts in each cluster to clean.
    :type cluster_hosts: dict of int or str to list of int or str

    .. note::
        The function should be called out of database session.
    """
    with util.lock('serialized_action') as lock:
        if not lock:
            raise Exception(
                'failed to acquire lock to clean installation progress')

        logging.info('clean installing progress of cluster_hosts: %s',
                     cluster_hosts)
        with database.session():
            cluster_hosts, os_versions, target_systems = (
                util.update_cluster_hosts(cluster_hosts))
            manager = ConfigManager()
            manager.clean_cluster_and_hosts_installing_progress(
                cluster_hosts, os_versions, target_systems)
            manager.sync()