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
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()
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()
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