Untitled
unknown
plain_text
2 years ago
2.6 kB
3
Indexable
# Get VM Details for all VMs from agent.properties file def get_vm_details(): #VMList = get_VMList() All_VM_Details = [] for i in VMList: vm_id = i try: VM_Details = {vm_id:{'vm_ip':[],'vm_username':[],'vm_user_password':[],'vm_user_password_expiry_date':[]} } with open(agent_file, 'rt', encoding='latin-1') as file: for line in file: if str(i) + ".privatip" in line: vm_ip = str(line.split('=')) vm_ip = re.findall( r'[0-9]+(?:\.[0-9]+){3}', vm_ip) #vm_ip = re.findall(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$", vm_ip) vm_ip = list(map(str, vm_ip)) vm_ip = vm_ip[0] VM_Details[vm_id]['vm_ip'].append(vm_ip) if str(i)+".ssh.host_username" in line: vm_username = line.split('=') vm_username= list(map(str,vm_username)) vm_username = vm_username[1].strip() VM_Details[vm_id]['vm_username'].append(vm_username) if str(i)+".ssh.host_password" in line: vm_user_password = line.split('password=') vm_user_password= list(map(str,vm_user_password)) vm_user_password = vm_user_password[1].strip() VM_Details[vm_id]['vm_user_password'].append(vm_user_password) if str(i)+".ssh.pwd_expiry_date" in line: vm_user_password_expiry_date = line.split('expiry_date=') vm_user_password_expiry_date = list(map(str,vm_user_password_expiry_date)) vm_user_password_expiry_date = vm_user_password_expiry_date[1].strip() VM_Details[vm_id]['vm_user_password_expiry_date'].append(vm_user_password_expiry_date) if VM_Details[vm_id]['vm_ip'] and VM_Details[vm_id]['vm_user_password_expiry_date']: # Check if vm_ip is not empty All_VM_Details.append(VM_Details) except FileNotFoundError: print(f"{agent_file} not found") logging.error("Agent file not found, %s", agent_file) except Exception as e: print(f"Failed to get details for VM {vm}: {e}") logging.error("Failed to get details for VM %s", e) continue all_vm_details = dict(zip(VMList, All_VM_Details)) return all_vm_details
Editor is loading...