From: Stanislaw Kardach Date: Tue, 8 Mar 2016 21:08:55 +0100 Subject: [PATCH] Add fs for efi partition --- debian/control | 1 + fuel_agent/drivers/nailgun.py | 13 ++++++++++--- specs/fuel-agent.spec | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index 189dc00..acfda35 100644 --- a/debian/control +++ b/debian/control @@ -39,6 +39,7 @@ Depends: bzip2, qemu-user-static, binfmt-support, dmidecode, + dosfstools, ethtool, gdisk, genisoimage, diff --git a/fuel_agent/drivers/nailgun.py b/fuel_agent/drivers/nailgun.py index bc532b4..f092865 100644 --- a/fuel_agent/drivers/nailgun.py +++ b/fuel_agent/drivers/nailgun.py @@ -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' % disk['name']) - parted.add_partition(size=200, flags=['esp']) + prt = parted.add_partition(size=200, flags=['esp']) + partition_scheme.add_fs(device=prt.name, mount='/boot/efi', + fs_type='vfat') + self._esp_partition_done = True LOG.debug('Looping over all volumes on disk %s' % disk['name']) for volume in disk['volumes']: diff --git a/specs/fuel-agent.spec b/specs/fuel-agent.spec index a43f693..c2b9b51 100644 --- a/specs/fuel-agent.spec +++ b/specs/fuel-agent.spec @@ -50,6 +50,7 @@ Requires: xfsprogs Requires: pciutils Requires: ethtool Requires: debootstrap +Requires: dosfstools Requires: dpkg Requires: qemu-user-static Requires: xz