Exemplo n.º 1
0
def new_sg(db_session,
           sg_name,
           config_dir=None,
           address=None,
           alt_address=None,
           replica_sg=False):
    """
    Create a new SG
    """
    sg_type = sql_types['ServerGroup']
    try:
        sg_list = db_session.query(sg_type)\
                        .filter(sg_type.name == sg_name).all()
        if len(sg_list):
            raise SgExists(sg_name)
    except NoResultFound:
        pass
    _check_config_dir(config_dir)
    sg = sg_type(sg_name,
                 config_dir,
                 master_address=address,
                 master_alt_address=alt_address)
    db_session.add(sg)
    if replica_sg:
        set_mastersm_replica_sg(db_session, sg)
    db_session.flush()
    return sg
Exemplo n.º 2
0
def set_sg_replica_sg(db_session, sg_name):
    """
    Set the replica_sg flag
    """
    sg = None
    if sg_name:
        sg_type = sql_types['ServerGroup']
        query = db_session.query(sg_type).filter(sg_type.name == sg_name)
        try:
            sg = query.one()
        except NoResultFound:
            raise NoSgFound(sg_name)
    set_mastersm_replica_sg(db_session, sg)
    db_session.flush()
Exemplo n.º 3
0
def set_sg_replica_sg(db_session, sg_name):
    """
    Set the replica_sg flag
    """
    sg = None
    if sg_name:
        sg_type = sql_types['ServerGroup']
        query = db_session.query(sg_type).filter(sg_type.name == sg_name)
        try:
            sg = query.one()
        except NoResultFound:
            raise NoSgFound(sg_name)
    set_mastersm_replica_sg(db_session, sg)
    db_session.flush()
Exemplo n.º 4
0
def new_sg(db_session, sg_name, config_dir=None, address=None, 
        alt_address=None, replica_sg=False):
    """
    Create a new SG
    """
    sg_type = sql_types['ServerGroup']
    try:
        sg_list = db_session.query(sg_type)\
                        .filter(sg_type.name == sg_name).all()
        if len(sg_list):
            raise SgExists(sg_name)
    except NoResultFound:
        pass
    _check_config_dir(config_dir)
    sg = sg_type(sg_name, config_dir, master_address=address, 
            master_alt_address=alt_address)
    db_session.add(sg)
    if replica_sg:
        set_mastersm_replica_sg(db_session, sg)
    db_session.flush()
    return sg