Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Integration of Ironic and existing VM configuration


I've been looking for information on a potential project for some time and have been unsuccessful in finding relevant information elsewhere. I thought to turn to the community to see if anyone has done something similar; if this is not the place for this type of question, please let me know where I might be able to ask.

I am working on a project that is looking to utilize OpenStack to dynamically allocate and provision computational resources in a high-performance computing environment. I have a functional configuration for virtual machines and would like to incorporate Ironic (the performance of bare metal makes it ideal for computational research, but it's largely inflexible in our current setup, so we're exploring alternatives). From what I have read, however, this is not an easy task: the documentation for Ironic does not mention an existing configuration ( and most case studies don't seem to use both virtual machines and bare metal in one environment. From what I understand, such a system would require multiple instances of Nova.

Can someone with experience deploying Ironic provide some guidance so I know whether this is feasible? I have a few questions:

  • How will running multiple Nova services work? What needs to be done to configure OpenStack such that all other services integrate with both, if this is at all possible? This project would also need to be able to scale (up to hundreds of servers); will this complicate things?
  • Is it possible to integrate networking for virtual machines and bare metal? I would like to be able to connect the two with some degree of isolation from the rest of the world. It looks like the default configuration for Ironic is a flat network ( uses a flat network for provisioning), so my existing network configuration (with OpenVSwitch) seems incompatible. I have access to the switch and can adjust the physical networks (with automation) if this is necessary.
  • Can the same hardware be used for virtual machines and bare metal? We are already using another platform that can do this (developed by a research group at our university and lacking commercial or open source support), but we haven't seen any information about it in the OpenStack community. This doesn't seem easy because the existing compute nodes are running a host operating system that manages the other services. I cannot predict the type of work that will be done, so limiting the number of servers by specifying whether each is a bare metal or virtual machine host seems counterproductive.

I can, of course, run multiple OpenStack instances (one for virtual machines and one for bare metal), but doing so would require a middle-man, render resources incompatible, and require manual configuration and considerations for architecture. The most feasible option seems to be running multiple instances of Nova that are somehow interconnected (use the same databases?), though this seems prone to race conditions and failure. In an ideal case, the same hardware could be used for both virtual machines and bare metal servers, which could be connected to each other and isolated from others.

Does anyone have any experience with this or know who might? I'd appreciate any and all information.

Thank you!