Cloned from launchpad blueprint https://blueprints.launchpad.net/ironic/+spec/advanced-partition-manager. Description: As part a deployment in Ironic disk of the target machine needs to be partitioned, right now Ironic is using sfdisk to do it but there's many downsides using this approach: * Do not support GPT (MBR only) * Layouts are pretty much hardcoded in the code * Hard to get information about partitions (e.g trying to know which partition is marked as bootable would required a lot of cmd line parsing) This blueprint propose is to create a more advanced partition manager to Ironic in order to have a more flexible, easy-to-manage and to support to more than one partition technology (MBR and GPT at least). Implementation should _NOT_ attempt to write yet another partitioning application from scratch, we should rely on something that already exist and encapsulate the logic into well defined classes so that it can be used by Ironic and the Ironic deploy agent. This blueprint suggest using uDisks[1][2] as the main technology behind it, or to use libraries with python binds to do the work, for e.g PyParted[3] [1] http://www.freedesktop.org/wiki/Software/udisks/ [2] https://github.com/umago/python-udisks/ [3] https://fedorahosted.org/pyparted/ Specification URL (additional information): None