Exemple #1
0
def list_ip_by_role(role_name):
    fmt = request.args.get("format")

    role_maps = RoleMap.get_by_role_name(db.session.query, role_name)
    host_names = [role_map.host_name for role_map in role_maps]
    hosts = Host.get_in_host_names(db.session.query, host_names)
    result = [r.ip for r in hosts]
    return formatter(fmt, result)
Exemple #2
0
def output_hosts(role_name):
    role_maps = RoleMap.get_by_role_name(db.session.query, role_name)
    host_names = [role_map.host_name for role_map in role_maps]

    hosts = Host.get_in_host_names(db.session.query, host_names)
    if len(hosts) == 0:
        abort(404)

    result = [dict(host_name=host.host_name, ip=host.ip) for host in hosts]
    return formatter("hosts", result)
 def test_get_all(self):
     expected = [('web01', '192.168.1.101'),\
             ('web02', '192.168.1.102'),\
             ('mem01', '192.168.1.121'),\
             ('vip01', '192.168.1.100')]
     self.create_test_role_data()
     self.create_test_ip_data()
     self.create_test_host_data()
     self.create_test_role_map_data()
     hosts = Host.get_in_host_names(db.session.query, ['web01', 'web02', 'mem01', 'vip01'])
     actual = [(h.host_name, h.ip) for h in hosts]
     self.assertListEqual(sorted(expected), sorted(actual))
Exemple #4
0
def search_by_role(role_name):
    role_maps = RoleMap.get_by_role_name(db.session.query, role_name)
    host_names = [r.host_name for r in role_maps]

    hosts = Host.get_in_host_names(db.session.query, host_names)
    if len(hosts) == 0:
        abort(404)

    result = []
    for host in hosts:
        d = {}
        d["host_name"] = host.host_name
        d["ip"] = host.ip
        d["role"] = [r.role_name for r in host.role]
        result.append(d)
    return jsonify(result=result)