def create_hosts(argvs): msg = 'the new hosts file' host_file = parse_argvs(argvs, msg) #print(host_file) source = yaml_parser(host_file) if source: for key,val in source.items(): obj = models.Host(hostname=key,ip_addr=val.get('ip_addr'),port=val.get('port') or 22) session.add(obj) session.commit()
def create_hosts(host_file): source = yaml_parser(host_file) if source: for key, val in source.items(): print(key, val) obj = models.Host(hostname=key, ip_addr=val['ip_addr'], port=val.get('port') or 22) session.add(obj) session.commit()
def create_hosts(argvs): if '-f' in argvs: hosts_file = argvs[argvs.index("-f") + 1] else: print_err( "invalid usage, should be:\ncreate_hosts -f <the new hosts file>", quit=True) source = yaml_parser(hosts_file) if source: for key, val in source.items(): print(key, val) obj = models.Host(hostname=key, ip_addr=val.get('ip_addr'), port=val.get('port') or 22) session.add(obj) session.commit()
def create_hosts(argvs): ''' create hosts :param argvs: :return: ''' if '-f' in argvs: hosts_file = argvs[argvs.index("-f") +1 ] else: print_err("invalid usage, should be:\ncreate_hosts -f <the new hosts file>",quit=True) source = yaml_parser(hosts_file) if source: for key,val in source.items(): print(key,val) obj = models.Host(hostname=key,ip_addr=val.get('ip_addr'), port=val.get('port') or 22) session.add(obj) session.commit()def create_bindhosts(argvs): ''' create bind hosts :param argvs: :return: ''' if '-f' in argvs: bindhosts_file = argvs[argvs.index("-f") +1 ] else: print_err("invalid usage, should be:\ncreate_hosts -f <the new bindhosts file>",quit=True) source = yaml_parser(bindhosts_file) if source: for key,val in source.items(): #print(key,val) host_obj = session.query(models.Host).filter(models.Host.hostname==val.get('hostname')).first() assert host_obj for item in val['remote_users']: print(item ) assert item.get('auth_type') if item.get('auth_type') == 'ssh-passwd': remoteuser_obj = session.query(models.RemoteUser).filter( models.RemoteUser.username==item.get('username'), models.RemoteUser.password==item.get('password') ).first() else: remoteuser_obj = session.query(models.RemoteUser).filter( models.RemoteUser.username==item.get('username'), models.RemoteUser.auth_type==item.get('auth_type'), ).first() if not remoteuser_obj: print_err("RemoteUser obj %s does not exist." % item,quit=True ) bindhost_obj = models.BindHost(host_id=host_obj.id,remoteuser_id=remoteuser_obj.id) session.add(bindhost_obj) #for groups this host binds to if source[key].get('groups'): group_objs = session.query(models.Group).filter(models.Group.name.in_(source[key].get('groups') )).all() assert group_objs print('groups:', group_objs) bindhost_obj.groups = group_objs #for user_profiles this host binds to if source[key].get('user_profiles'): userprofile_objs = session.query(models.UserProfile).filter(models.UserProfile.username.in_( source[key].get('user_profiles') )).all() assert userprofile_objs print("userprofiles:",userprofile_objs) bindhost_obj.user_profiles = userprofile_objs #print(bindhost_obj) session.commit()