示例#1
0
def bt2_units():
	base_dir=GF.get_configxml('DProvXML', 1)
	deprov_file=base_dir+'/'+deprovxml
	try:
		deprov_fileobj=open(deprov_file, "r")
	except Exception as error:
		GF.print_error("Reading deprovision file", error, 1)
	else:
		bt2Units=list()
		deprov_xmlobj=GF.open_configxml(deprov_fileobj)
		deprov_fileobj.close()
		base_node=deprov_xmlobj.getroot()
		base_locaddr=int(base_node.attrib.get('addrBase'))
		for node in deprov_xmlobj.findall('.//xcoders//HashMap'):
			resource_id=node.find('.//NA').attrib.get('value')
			xcode_node=node.find('.//XCodeDevCfgT')
			macaddr_node=xcode_node.findall('.//macAddr//MacAddressT//List//NA')
			loc_addr=int(xcode_node.attrib.get('locAddr'))
			xcode_mac=''
			for mac in macaddr_node:
				val=int(mac.attrib.get('value'))
				hex_val="%02X" % int(hex(val&0xff)[2:], 16)
				xcode_mac=xcode_mac+hex_val
			macaddr=GF.prettify(xcode_mac)
			ip=GF.int2ip(base_locaddr+loc_addr)
			return_result=GF.formdhcp_host(resource_id, macaddr, ip)
			bt2Units.append(return_result)
		GF.writeDHCP_BT2_Units(bt2Units)
示例#2
0
def get_vixs_ip(conn):
	global vixsip_map
	global vixs_dhcp
	for board in boardvixs_map:
		resource_id=boardridmac_map[board]
		rid_class_id=GF.BB_RID_EXTRACT_CLASSID(resource_id)
		rid_shelf_id=GF.BB_RID_EXTRACT_SHELFID(rid_class_id, resource_id)
		rid_slot_id=GF.BB_RID_EXTRACT_SLOTID(rid_class_id, rid_shelf_id, resource_id)
		rid_unit_id=0
		for vixs in boardvixs_map[board]:
			ip=GF.generate_ip(conn)
			vixsip_map[vixs]=ip
			vixs_rid=formResourceId(rid_shelf_id, rid_slot_id, 1, rid_unit_id)
			vixsrid_map[vixs]=vixs_rid
			dhcp_entry=GF.formdhcp_host(vixs_rid, vixs, ip)
			vixs_dhcp.append(dhcp_entry)
			rid_unit_id=rid_unit_id+1