-@@ -324,7 +324,9 @@ class Nailgun(BaseDataDriver):
- # uefi partition (for future use)
- LOG.debug('Adding UEFI partition on disk %s: size=200' %
+@@ -81,6 +81,9 @@ class Nailgun(BaseDataDriver):
+ # was already allocated on first matching volume
+ # or not
+ self._boot_partition_done = False
++ # this var states whether ESP partition was already
++ # allocated on the first matching volume or not
++ self._esp_partition_done = False
+ # this var is used as a flag that /boot fs
+ # has already been added. we need this to
+ # get rid of md over all disks for /boot partition.
+@@ -321,10 +324,14 @@ class Nailgun(BaseDataDriver):
+ LOG.debug('Adding bios_grub partition on disk %s: size=24' %
+ disk['name'])
+ parted.add_partition(size=24, flags=['bios_grub'])
+- # uefi partition (for future use)
+- LOG.debug('Adding UEFI partition on disk %s: size=200' %
++ # uefi partition - added only once.
++ if self._is_boot_disk(disk) and not self._esp_partition_done:
++ LOG.debug('Adding UEFI partition on disk %s: size=200' %