def build_host_data(mac, local, ip, build=True): hosts_num = foreman_helper.hosts() or {} if not ip: ipaddr = foreman_helper.unused_ip(mac) else: ipaddr = ip if len(hosts_num) == 0: hostname = "master" else: hostname = "us" + str(len(hosts_num) + 1) host_info = { 'name': hostname, 'ip': ipaddr, 'mac': mac, 'build': build } hg = foreman_helper.host_groups() role = "master" if local == "no": hostgroup_id = judgement.judge_hostgroup() else: hostgroup_id = hg['local'] for ro in hg: if hg[ro] == hostgroup_id: role = ro drivers = _load_drivers() host_info['hostgroup_id'] = hostgroup_id for driver in drivers: if role in driver.role: driver.action(len(hosts_num) + 1, host_info['name'], ip=ipaddr, role=hostgroup_id) LOG.info("Server To Post: %s" % host_info) return jsonutils.loads(foreman_helper.create_host(host_info))
def test_create_host(self): foreman_helper.create_host("data")