summaryrefslogtreecommitdiffstats
path: root/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/fuel-agent/0007-Add-fs-for-efi-partition.patch')
-rw-r--r--patches/fuel-agent/0007-Add-fs-for-efi-partition.patch66
1 files changed, 66 insertions, 0 deletions
diff --git a/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch b/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch
new file mode 100644
index 00000000..0fb94215
--- /dev/null
+++ b/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch
@@ -0,0 +1,66 @@
+From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com>
+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