Hello OpenStack Community Folks, NOTE: Below by the term templateless I simply mean to Provision the Server on the OpenStack Cloud without using the existing images that are already present on the OpenStack cloud. I again thank you for the above valuable inputs that Community Folks have shared and on the similar lines now I am looking for final guidance and best practices on how to achieve templateless server provisioning (the one without using the image present in the OpenStack already) in OpenStack, where the goal is to provision a VM by booting from a custom ISO rather than cloning an existing image from Glance. Our current understanding and approach (inspired by similar workflows in other virtualization platforms like VMware) involves the following steps: 1. VM Creation and Custom ISO Preparation: 1.1 Create a new VM instance in OpenStack. 1.2 Dynamically modify/create a custom ISO (either a Windows PE-based ISO or a Linux-based ISO, such as one built on SySRescueCD). 1.3 This ISO is customized to embed crucial network configuration details (e.g., static IP, DHCP settings, multiple NIC configurations, routes). These details are processed by scripts within the ISO upon boot. 1.4 The ISO also contains scripts designed to communicate guest information back to the hypervisor, similar to VMware Tools executables. For WinPE, this involves manual command invocation to set VM info values. 2. ISO Deployment and VM Boot: 2.1 The modified custom ISO needs to be uploaded to an accessible location within OpenStack (e.g., Glance for ephemeral use, Swift, or an external web server). 2.2. This custom ISO then needs to be attached to the newly created VM instance, and the VM configured to boot from this attached ISO. 3. Specific Questions and Areas for Community Input: My primary challenges and questions revolve around how OpenStack can facilitate this process, particularly regarding: 3.1 Guest-to-Hypervisor Communication: What are the recommended OpenStack-native tools or mechanisms to enable the guest OS (booting from our custom ISO) to notify the hypervisor of its details? I am unsure if qemu-guest-agent is suitable for this specific boot-from-ISO scenario, or if other methods (e.g., metadata service interactions) are more appropriate. 3.2 Initial Guest Configuration: How can user data or initial configuration information (like the network settings we're embedding in the ISO) be effectively provided to a VM during this templateless provisioning flow in OpenStack? This includes handling complex networking scenarios with both internal and external DHCP servers. Is cloud-init (or its Windows equivalent) the recommended approach, and if so, how can it be leveraged when booting from a custom ISO? 3.3 Programmatic Network Utilization: My current OpenStack environment has limited default networking. I am keen to understand how to programmatically utilize and attach custom-created networks (beyond the default setup) via OpenStack API calls during the instance provisioning process. I am looking for insights on programmatically implementing this "boot from custom ISO" provisioning method in OpenStack, rather than relying on pre-existing Glance images. Any valuable inputs, sample code implementation or examples, or pointers to relevant documentation would be highly appreciated. Thank you all for your time and assistance! Best regards, Prem