From 80ba8c45cda5308010ded08b3d070343a92d58b5 Mon Sep 17 00:00:00 2001 From: Florin Dumitrascu Date: Tue, 8 Mar 2016 14:17:01 +0100 Subject: Add fixes and improvements for arm64 deployment [ Florin Dumitrascu ] * arm64 support for OpenDaylight Fuel Plugin [ Stanislaw Kardach ] * Limit ESP to first drive * Remove default+timeout+tr from cobbler profile * Fix puppet syntax errors * Disable usb tablet on aarch64 * Support direct kernel boot for CirrOS TestVM on aarch64 * Remove git version signature not to confuse patches-export * Fix VGA support for CirrOS TestVM * Makefile: Add clean-{docker,build}. [ Alexandru Avadanii ] * Performance: Use gzip instead of xz compression. * Switch mirror proto from https to http. * Update TODO with remaining tasks. * Disable amd64 Liberty fixture (no multi-arch support yet). * m1.micro: Increase RAM size to 128MB for aarch64 images. Signed-off-by: Alexandru Avadanii Signed-off-by: Florin Dumitrascu Signed-off-by: Stanislaw Kardach --- ...1-Use-qemu-debootstrap-for-image-creation.patch | 3 -- .../0002-Add-FLASH_KERNEL_SKIP-true.patch | 3 -- .../0003-Fix-qemu-user-static-replacement.patch | 3 -- ...common-cross-debootstrap-newaliases-issue.patch | 3 -- .../0005-FIXME-s-grub-pc-grub-efi-arm64.patch | 3 -- .../fuel-agent/0006-Add-esp-partition-flag.patch | 3 -- .../fuel-agent/0007-Add-fs-for-efi-partition.patch | 42 ++++++++++++++-------- ...tstrap-Use-gzip-instead-of-xz-compression.patch | 35 ++++++++++++++++++ 8 files changed, 63 insertions(+), 32 deletions(-) create mode 100644 patches/fuel-agent/0008-bootstrap-Use-gzip-instead-of-xz-compression.patch (limited to 'patches/fuel-agent') diff --git a/patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch b/patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch index 28ef2cff..e5e76c79 100644 --- a/patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch +++ b/patches/fuel-agent/0001-Use-qemu-debootstrap-for-image-creation.patch @@ -155,6 +155,3 @@ index 5c37600..a43f693 100644 Requires: xz Requires: coreutils Requires: psmisc --- -1.9.1 - diff --git a/patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch b/patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch index 260651c5..0c2f2ac9 100644 --- a/patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch +++ b/patches/fuel-agent/0002-Add-FLASH_KERNEL_SKIP-true.patch @@ -19,6 +19,3 @@ index af41b2b..6f31732 100644 os.environ['LC_ALL'] = os.environ['LANG'] = os.environ['LANGUAGE'] = 'C' --- -1.9.1 - diff --git a/patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch b/patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch index 1ea93ba3..a4f65d68 100644 --- a/patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch +++ b/patches/fuel-agent/0003-Fix-qemu-user-static-replacement.patch @@ -53,6 +53,3 @@ index 6f31732..abd762e 100644 def create_sparse_tmp_file(dir, suffix, size=8192): """Creates sparse file. --- -1.9.1 - diff --git a/patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch b/patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch index 1d044585..7f6d2c3d 100644 --- a/patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch +++ b/patches/fuel-agent/0004-Prevent-common-cross-debootstrap-newaliases-issue.patch @@ -100,6 +100,3 @@ index abd762e..e11ceba 100644 def create_sparse_tmp_file(dir, suffix, size=8192): """Creates sparse file. --- -1.9.1 - diff --git a/patches/fuel-agent/0005-FIXME-s-grub-pc-grub-efi-arm64.patch b/patches/fuel-agent/0005-FIXME-s-grub-pc-grub-efi-arm64.patch index 59fe0180..a9d3d5bf 100644 --- a/patches/fuel-agent/0005-FIXME-s-grub-pc-grub-efi-arm64.patch +++ b/patches/fuel-agent/0005-FIXME-s-grub-pc-grub-efi-arm64.patch @@ -26,6 +26,3 @@ index c2fef69..3807ca7 100644 "hpsa-dkms", "i40e-dkms", "linux-firmware", --- -1.9.1 - diff --git a/patches/fuel-agent/0006-Add-esp-partition-flag.patch b/patches/fuel-agent/0006-Add-esp-partition-flag.patch index e180468f..a1990565 100644 --- a/patches/fuel-agent/0006-Add-esp-partition-flag.patch +++ b/patches/fuel-agent/0006-Add-esp-partition-flag.patch @@ -46,6 +46,3 @@ index acdd0b3..86349d2 100644 raise errors.WrongPartitionSchemeError( 'Unsupported partition flag: %s' % flag) if state not in ('on', 'off'): --- -1.9.1 - diff --git a/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch b/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch index 573ec133..dbbde129 100644 --- a/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch +++ b/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch @@ -3,10 +3,10 @@ Date: Tue, 8 Mar 2016 21:08:55 +0100 Subject: [PATCH] Add fs for efi partition --- - debian/control | 1 + - fuel_agent/drivers/nailgun.py | 4 +++- - specs/fuel-agent.spec | 1 + - 3 files changed, 5 insertions(+), 1 deletion(-) + 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 @@ -21,17 +21,34 @@ index 189dc00..acfda35 100644 gdisk, genisoimage, diff --git a/fuel_agent/drivers/nailgun.py b/fuel_agent/drivers/nailgun.py -index bc532b4..24d0d64 100644 +index bc532b4..f092865 100644 --- a/fuel_agent/drivers/nailgun.py +++ b/fuel_agent/drivers/nailgun.py -@@ -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' % 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') ++ 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']: @@ -47,6 +64,3 @@ index a43f693..c2b9b51 100644 Requires: dpkg Requires: qemu-user-static Requires: xz --- -1.9.1 - diff --git a/patches/fuel-agent/0008-bootstrap-Use-gzip-instead-of-xz-compression.patch b/patches/fuel-agent/0008-bootstrap-Use-gzip-instead-of-xz-compression.patch new file mode 100644 index 00000000..19176c90 --- /dev/null +++ b/patches/fuel-agent/0008-bootstrap-Use-gzip-instead-of-xz-compression.patch @@ -0,0 +1,35 @@ +From: Alexandru Avadanii +Date: Wed, 9 Mar 2016 23:02:17 +0100 +Subject: [PATCH] bootstrap: Use gzip instead of xz compression. + +bootstrap mksquashfs using qemu-user-static is extremely slow, +taking up to one hour. gzip, on the other hand, is reasonably fast. +According to [1], xz is slower, with not much size gain. + +[1] https://jonathancarter.org/2015/04/06/squashfs-performance-testing/ +--- + contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/consts.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/consts.py b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/consts.py +index d507156..688197d 100644 +--- a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/consts.py ++++ b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/consts.py +@@ -24,7 +24,7 @@ COMPRESSED_CONTAINER_FORMAT = "tar.gz" + UNCOMPRESSED_CONTAINER_FORMAT = "directory" + ROOTFS = {'name': 'rootfs', + 'mask': 'rootfs', +- 'compress_format': 'xz', ++ 'compress_format': 'gzip', + 'uri': 'http://127.0.0.1:8080/bootstraps/{uuid}/root.squashfs', + 'format': 'ext4', + 'container': 'raw'} +@@ -34,7 +34,7 @@ BOOTSTRAP_MODULES = [ + 'uri': 'http://127.0.0.1:8080/bootstraps/{uuid}/vmlinuz'}, + {'name': 'initrd', + 'mask': 'initrd', +- 'compress_format': 'xz', ++ 'compress_format': 'gzip', + 'uri': 'http://127.0.0.1:8080/bootstraps/{uuid}/initrd.img'}, + ROOTFS + ] -- cgit 1.2.3-korg