diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-10-01 13:18:11 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-10-09 16:33:43 +0200 |
commit | 42f8585ebb8fffad19a89314659ab9129176c3e9 (patch) | |
tree | e2cf6a4797bcbd036e080541cc3925f8b209549b /patches/fuel-library | |
parent | 6f3a054fc95622f0c002f72c0fac6074bb36c36f (diff) |
build: Rework patch mechanism for Fuel submodules
While refactoring the patching mechanism, take care of:
- Sync submodule handling with Fuel@OPFNV;
- build: Investigate/prepare for moving patches to Fuel@OPNFV;
- build: Investigate divergent fuel-mirror;
- ISO build: cacheid for Fuel comps should not depend on
Armband git commit;
CHANGE:
Rename/shuffle patches while grouping them in "features",
preparing for upstreaming them to Fuel@OPNFV and beyond.
CHANGE:
Allow linking patches for better representing the dependency
between one patch and different features.
e.g. 0001-Add-arch-to-nailgun-release-and-target-image.patch:
- part of `multiarch-fuel`, because it extends Fuel;
- part of `direct-kernel-boot`, as arch is required for that;
- part of `cross-bootstrap`, target image is arch-dependent;
NOTE: Patch links are not staged to Fuel@OPNFV, they only serve
as markers that a specific patch is part of a feature.
CHANGE:
Kill all Fuel component submodules, now handled in Fuel@OPNFV:
- fuel-agent
- fuel-astute
- fuel-library
- fuel-mirror
- fuel-nailgun-agent
- fuel-web
CHANGE:
Move armband-fuel-config.mk to armband git root.
FIXME: m1.micro-Increase-profile-RAM-size-to-128MB.patch is NOT
part of `cross-bootstrap` feature, but patch context says so ...
FIXME: 0001-Add-arm64-deb-repositories-setup.patch is broken at
`make patches-export` by removing spaces at EOL.
v2 -> v3:
* Phony patch support (links to show a patch belongs to a feature);
* Updated README.md
v3 -> v7:
* Re-export Fuel submodules & plugins patches (update patch context);
* Update Cavium mail addresses (s/caviumnetworks.com/cavium.com/);
* Ignore submodule changes;
* Add armband git repo info to gitinfo_fuel.txt at build time;
Implements: ARMBAND-136
Closes-bug: ARMBAND-95
Closes-bug: ARMBAND-93
Closes-bug: ARMBAND-92
Change-Id: I1a236d9f43b2e6dca22055911f696b43c22b5973
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/fuel-library')
-rw-r--r-- | patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch (renamed from patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch) | 14 | ||||
-rw-r--r-- | patches/fuel-library/0002-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch (renamed from patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch) | 7 | ||||
-rw-r--r-- | patches/fuel-library/0003-compute-Fix-virtlogd-not-started-after-install.patch (renamed from patches/fuel-library/0016-compute-Fix-virtlogd-not-started-after-install.patch) | 6 | ||||
-rw-r--r-- | patches/fuel-library/arm64-bug-fixes/0001-nova-config-Disable-usb-tablet-for-aarch64.patch (renamed from patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch) | 13 | ||||
-rw-r--r-- | patches/fuel-library/arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch (renamed from patches/fuel-library/0007-Install-vgabios-and-link-for-aarch64.patch) | 15 | ||||
-rw-r--r-- | patches/fuel-library/arm64-bug-fixes/0003-nova-Update-vga-console-defaults-for-armv7-aarch64.patch (renamed from patches/fuel-library/0008-nova-Update-vga-console-defaults-for-armv7-aarch64.patch) | 38 | ||||
-rw-r--r-- | patches/fuel-library/arm64-bug-fixes/0004-nova-AArch64-enable-hugepage-support.patch (renamed from patches/fuel-library/0009-nova-AArch64-enable-hugepage-support.patch) | 14 | ||||
-rw-r--r-- | patches/fuel-library/direct-kernel-boot/0001-upload_cirros-Add-direct-kernel-boot-support.patch (renamed from patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch) | 25 | ||||
-rw-r--r-- | patches/fuel-library/direct-kernel-boot/0002-nova-Fix-inject-for-direct-boot-with-part-table.patch (renamed from patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch) | 14 | ||||
-rw-r--r-- | patches/fuel-library/multiarch-efi/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch (renamed from patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch) | 26 | ||||
-rw-r--r-- | patches/fuel-library/multiarch-efi/0002-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch (renamed from patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch) | 0 | ||||
-rw-r--r-- | patches/fuel-library/multiarch-fuel/0001-Make-qemu-kvm-architecture-aware.patch (renamed from patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch) | 10 | ||||
-rw-r--r-- | patches/fuel-library/multiarch-fuel/0002-Make-TestVM-creation-architecture-aware.patch (renamed from patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch) | 13 | ||||
-rw-r--r-- | patches/fuel-library/multiarch-mirrors/0001-Add-arm64-for-auxiliary-repos.patch (renamed from patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch) | 8 | ||||
-rw-r--r-- | patches/fuel-library/mysql-sst-provider/0001-Allow-configuring-MySQL-WSREP-SST-provider.patch (renamed from patches/fuel-library/0013-Allow-configuring-MySQL-WSREP-SST-provider.patch) | 22 | ||||
-rw-r--r-- | patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch (renamed from patches/fuel-library/0015-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespace.patch) | 14 | ||||
-rw-r--r-- | patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch (renamed from patches/fuel-library/0017-Always-wait-for-MySQL-sync-on-service-refresh.patch) | 20 | ||||
-rw-r--r-- | patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch (renamed from patches/fuel-library/0018-Fix-MySQL-logging-dir-permissions-for-syslog.patch) | 10 |
18 files changed, 145 insertions, 124 deletions
diff --git a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch b/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch index 0ddad114..facde8f2 100644 --- a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch +++ b/patches/fuel-library/0001-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch @@ -16,12 +16,12 @@ older than 4.0. 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp -index f7da80e..22aab33 100644 +index 2480f18..0957010 100644 --- a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp +++ b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp -@@ -50,4 +50,11 @@ class {'ceph': +@@ -35,6 +35,13 @@ class osnailyfacter::ceph::ceph_osd { } - + if $ceph_tuning_settings_hash != {} { + if versioncmp($::kernelmajversion, '4.0') < 0 { + # FIXME(armband): XFS mount opt delaylog is deprecated in kernels >=4.0. @@ -31,11 +31,13 @@ index f7da80e..22aab33 100644 + ], ',') + } ceph_conf { -diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/modular/globals/globals.pp -index 268a5b1..69aed7b 100644 + 'global/debug_default' : value => $debug; + 'global/max_open_files' : value => $ceph_tuning_settings_hash['max_open_files']; +diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +index 854d297..7345d66 100644 --- a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp +++ b/deployment/puppet/osnailyfacter/manifests/globals/globals.pp -@@ -123,7 +123,7 @@ if ($storage_hash['volumes_ceph'] or $storage_hash['images_ceph'] or $storage_ha +@@ -148,7 +148,7 @@ class osnailyfacter::globals::globals { $ceph_tuning_settings = { 'max_open_files' => pick($storage_tuning_settings['max_open_files'], '131072'), 'osd_mkfs_type' => pick($storage_tuning_settings['osd_mkfs_type'], 'xfs'), diff --git a/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch b/patches/fuel-library/0002-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch index 36353a89..17700a9a 100644 --- a/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch +++ b/patches/fuel-library/0002-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch @@ -25,11 +25,12 @@ This patch extends the version checking introduced in [1]: 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp b/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp -index 8311731..1d7af2b 100644 +index af4f0e5..e8dbfcf 100644 --- a/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp -@@ -195,7 +195,13 @@ class openstack::ceilometer ( - +@@ -93,8 +93,14 @@ class openstack_tasks::ceilometer::compute { + } + if $::operatingsystem == 'Ubuntu' and $::ceilometer::params::libvirt_group { + # Armband libvirt-bin deb package (1.3.2 version) creates 'libvirtd' group on Ubuntu + if (versioncmp($::libvirt_package_version, '1.3.2') >= 0) { diff --git a/patches/fuel-library/0016-compute-Fix-virtlogd-not-started-after-install.patch b/patches/fuel-library/0003-compute-Fix-virtlogd-not-started-after-install.patch index 752ef6f8..a9a49331 100644 --- a/patches/fuel-library/0016-compute-Fix-virtlogd-not-started-after-install.patch +++ b/patches/fuel-library/0003-compute-Fix-virtlogd-not-started-after-install.patch @@ -18,11 +18,11 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index 33e851f..3647f9b 100644 +index 164bd70..211fefa 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -373,7 +373,8 @@ class openstack_tasks::roles::compute { - +@@ -337,7 +337,8 @@ class openstack_tasks::roles::compute { + # TODO(aschultz): work around until https://review.openstack.org/#/c/306677/ # lands. - if $::os_package_type == 'ubuntu' { diff --git a/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch b/patches/fuel-library/arm64-bug-fixes/0001-nova-config-Disable-usb-tablet-for-aarch64.patch index 1109656c..f4e19229 100644 --- a/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch +++ b/patches/fuel-library/arm64-bug-fixes/0001-nova-config-Disable-usb-tablet-for-aarch64.patch @@ -1,16 +1,18 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Tue, 15 Mar 2016 11:33:52 +0100 Subject: [PATCH] nova config: Disable usb tablet for aarch64 --- - deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++++++++ - 1 file changed, 12 insertions(+) + deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 4 ++++ + 1 file changed, 4 insertions(+) diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index ca1b2c4..c0349dc 100644 +index 211fefa..4240126 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -316,3 +316,7 @@ class openstack::compute ( +@@ -379,6 +379,10 @@ class openstack_tasks::roles::compute { + } + nova_config { + 'libvirt/use_usb_tablet': value => $::architecture ? { + /(arm64|aarch64)/ => false, @@ -18,3 +20,4 @@ index ca1b2c4..c0349dc 100644 + }; 'libvirt/live_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_PERSIST_DEST'; 'libvirt/block_migration_flag': value => 'VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE,VIR_MIGRATE_NON_SHARED_INC'; + 'DEFAULT/connection_type': value => 'libvirt'; diff --git a/patches/fuel-library/0007-Install-vgabios-and-link-for-aarch64.patch b/patches/fuel-library/arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch index 04e2abf6..da152ead 100644 --- a/patches/fuel-library/0007-Install-vgabios-and-link-for-aarch64.patch +++ b/patches/fuel-library/arm64-bug-fixes/0002-Install-vgabios-and-link-for-aarch64.patch @@ -7,16 +7,18 @@ install it by default on AArch64 and create missing link in </usr/share/qemu> to </usr/share/vgabios/vgabios.bin>. Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> --- - deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++++++++ - 1 file changed, 12 insertions(+) + deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 8 ++++++++ + 1 file changed, 8 insertions(+) diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index ca1b2c4..c0349dc 100644 +index 4240126..b18fa7b 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -364,3 +368,11 @@ class openstack::compute ( +@@ -409,6 +409,14 @@ class openstack_tasks::roles::compute { + vncserver_listen => '0.0.0.0', + remove_unused_original_minimum_age_seconds => pick($nova_hash_real['remove_unused_original_minimum_age_seconds'], '86400'), libvirt_service_name => $::nova::params::libvirt_service_name, + } -> + package { 'vgabios': @@ -27,4 +29,5 @@ index ca1b2c4..c0349dc 100644 + target => '/usr/share/vgabios/vgabios.bin', + replace => false, } - + + class { '::nova::migration::libvirt': diff --git a/patches/fuel-library/0008-nova-Update-vga-console-defaults-for-armv7-aarch64.patch b/patches/fuel-library/arm64-bug-fixes/0003-nova-Update-vga-console-defaults-for-armv7-aarch64.patch index c289bd8d..9e9c3d53 100644 --- a/patches/fuel-library/0008-nova-Update-vga-console-defaults-for-armv7-aarch64.patch +++ b/patches/fuel-library/arm64-bug-fixes/0003-nova-Update-vga-console-defaults-for-armv7-aarch64.patch @@ -1,4 +1,4 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Tue, 22 Mar 2016 12:05:09 +0100 Subject: [PATCH] nova: Update vga, console defaults for armv7, aarch64 @@ -7,18 +7,18 @@ armv7 and aarch64 VMs require video=vga, and since most applications use PL011 serial driver for guests, adding console=ttyAMA0 is also a nice UX addition. --- - .../openstack/files/nova-libvirt-vga-console.patch | 39 ++++++++++++++++++++++ - deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 19 +++++++++++ - 2 files changed, 58 insertions(+) + .../openstack/files/nova-libvirt-vga-console.patch | 40 ++++++++++++++++++++++ + .../openstack_tasks/manifests/roles/compute.pp | 19 ++++++++++ + 2 files changed, 59 insertions(+) create mode 100644 deployment/puppet/openstack/files/nova-libvirt-vga-console.patch diff --git a/deployment/puppet/openstack/files/nova-libvirt-vga-console.patch b/deployment/puppet/openstack/files/nova-libvirt-vga-console.patch new file mode 100644 -index 0000000..c5f8e5a +index 0000000..3594276 --- /dev/null +++ b/deployment/puppet/openstack/files/nova-libvirt-vga-console.patch @@ -0,0 +1,40 @@ -+From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> ++From: Stanislaw Kardach <stanislaw.kardach@cavium.com> +Date: Tue, 22 Mar 2016 12:05:09 +0100 +Subject: [PATCH] Update vga, console defaults for armv7 and aarch64 + @@ -27,7 +27,7 @@ index 0000000..c5f8e5a +use PL011 serial driver for guests, adding console=ttyAMA0 is also +a nice UX addition. + -+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> ++Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + @@ -59,26 +59,31 @@ index 0000000..c5f8e5a + # so use 'vga' instead when running on Power hardware. + video.type = 'vga' diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index c0349dc..46b1801 100644 +index b18fa7b..2f0f2a8 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -157,4 +157,10 @@ class openstack::compute ( +@@ -158,6 +158,12 @@ class openstack_tasks::roles::compute { include ::nova::params -+ + + if ! defined(Package['patch']) { + package { 'patch': + ensure => 'present', + } + } - ++ case $::osfamily { -@@ -250,3 +256,4 @@ class openstack::compute ( - + 'RedHat': { + # From legacy libvirt.pp +@@ -290,6 +296,7 @@ class openstack_tasks::roles::compute { + } + $notify_on_state_change = 'vm_and_task_state' + $nova_path = '/usr/lib/python2.7/dist-packages/nova' - -@@ -273,5 +280,17 @@ class openstack::compute ( + + class { '::nova': + rpc_backend => $rpc_backend_real, +@@ -311,6 +318,18 @@ class openstack_tasks::roles::compute { memcached_servers => $memcached_addresses, cinder_catalog_info => pick($nova_hash_real['cinder_catalog_info'], 'volumev2:cinderv2:internalURL'), rabbit_heartbeat_timeout_threshold => $::os_service_default, @@ -95,4 +100,5 @@ index c0349dc..46b1801 100644 + cwd => $nova_path, + require => [Package['patch']], } - + + class { '::nova::availability_zone': diff --git a/patches/fuel-library/0009-nova-AArch64-enable-hugepage-support.patch b/patches/fuel-library/arm64-bug-fixes/0004-nova-AArch64-enable-hugepage-support.patch index 16e06ba8..ab0fb664 100644 --- a/patches/fuel-library/0009-nova-AArch64-enable-hugepage-support.patch +++ b/patches/fuel-library/arm64-bug-fixes/0004-nova-AArch64-enable-hugepage-support.patch @@ -17,7 +17,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> diff --git a/deployment/puppet/openstack/files/nova-AArch64-enable-hugepage-support.patch b/deployment/puppet/openstack/files/nova-AArch64-enable-hugepage-support.patch new file mode 100644 -index 0000000..847cab6 +index 0000000..72d6bfc --- /dev/null +++ b/deployment/puppet/openstack/files/nova-AArch64-enable-hugepage-support.patch @@ -0,0 +1,47 @@ @@ -39,13 +39,13 @@ index 0000000..847cab6 +@@ -156,6 +156,9 @@ def canonicalize(name): + if newname == "amd64": + newname = X86_64 -+ ++ ++ if newname == "aarch64": ++ newname = AARCH64 ++ + if not is_valid(newname): + raise exception.InvalidArchitectureName(arch=name) -+ ++ +diff --git a/virt/libvirt/driver.py a/virt/libvirt/driver.py +index bac17cf..0e0bcae 100644 +--- a/virt/libvirt/driver.py @@ -53,7 +53,7 @@ index 0000000..847cab6 +@@ -5206,7 +5206,7 @@ class LibvirtDriver(driver.ComputeDriver): + self._bad_libvirt_numa_version_warn = True + return False -+ ++ +- support_matrix = {(arch.I686, arch.X86_64): MIN_LIBVIRT_NUMA_VERSION, ++ support_matrix = {(arch.I686, arch.X86_64, arch.AARCH64): MIN_LIBVIRT_NUMA_VERSION, + (arch.PPC64, @@ -69,10 +69,10 @@ index 0000000..847cab6 + return ((caps.host.cpu.arch in supported_archs) and + self._host.has_min_version(MIN_LIBVIRT_HUGEPAGE_VERSION, diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index 3647f9b..c53409c 100644 +index 2f0f2a8..dc61033 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -347,6 +347,18 @@ class openstack_tasks::roles::compute { +@@ -330,6 +330,18 @@ class openstack_tasks::roles::compute { unless => "patch -p1 -R -N --dry-run < ${nova_path}/libvirt-vga-console.patch", cwd => $nova_path, require => [Package['patch']], @@ -89,5 +89,5 @@ index 3647f9b..c53409c 100644 + cwd => $nova_path, + require => [Package['patch']], } - + class { '::nova::availability_zone': diff --git a/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch b/patches/fuel-library/direct-kernel-boot/0001-upload_cirros-Add-direct-kernel-boot-support.patch index ab4100c6..f3eb0748 100644 --- a/patches/fuel-library/0006-upload_cirros-Add-direct-kernel-boot-support.patch +++ b/patches/fuel-library/direct-kernel-boot/0001-upload_cirros-Add-direct-kernel-boot-support.patch @@ -1,4 +1,4 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Tue, 15 Mar 2016 15:01:34 +0100 Subject: [PATCH] upload_cirros: Add direct kernel boot support. @@ -8,14 +8,15 @@ images (disk formats `AKI` and `ARI`). Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> --- - .../osnailyfacter/modular/astute/upload_cirros.rb | 52 +++++++++++++++++++++- - 1 file changed, 50 insertions(+), 2 deletions(-) + .../osnailyfacter/modular/astute/upload_cirros.rb | 55 ++++++++++++++++++++-- + 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb b/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb -index f0441b0..a619f3f 100755 +index f0441b0..371d051 100755 --- a/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb +++ b/deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb -@@ -52,11 +52,11 @@ def image_list +@@ -51,12 +51,12 @@ end + def image_list stdout = `glance --verbose image-list` return_code = $?.exitstatus - images = [] @@ -32,7 +33,7 @@ index f0441b0..a619f3f 100755 @@ -78,6 +78,16 @@ EOF [ stdout, return_code ] end - + +# Calls glance update-image with a given property and value +# Supported properties: 'kernel-id', 'ramdisk-id' +def update_image(image_id, property, value) @@ -46,7 +47,7 @@ index f0441b0..a619f3f 100755 # check if Glance is online # waited until the glance is started because when vCenter used as a glance # backend launch may takes up to 1 minute. -@@ -133,7 +142,7 @@ end +@@ -133,7 +143,7 @@ end # return true if image has been uploaded and active def check_image(image) list_of_images = image_list @@ -55,7 +56,7 @@ index f0441b0..a619f3f 100755 return true end return false -@@ -142,7 +151,7 @@ end +@@ -144,7 +154,7 @@ end # the first one def cleanup_image(image) list_of_images = image_list @@ -64,10 +65,10 @@ index f0441b0..a619f3f 100755 delete_image(image['img_name']) end end -@@ -157,6 +166,41 @@ def delete_image(image_name) +@@ -157,6 +167,41 @@ def delete_image(image_name) [ stdout, return_code ] end - + +# For each disk image try to find a kernel and initramfs images and +# attach then to it via kernel_id and ramdisk_id glance properties. +def connect_dependant_images(images) @@ -104,9 +105,9 @@ index f0441b0..a619f3f 100755 +end + ######################## - + wait_for_glance -@@ -180,6 +226,8 @@ if errors > 0 +@@ -180,6 +225,8 @@ if errors > 0 cleanup_image(image) end exit 1 diff --git a/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch b/patches/fuel-library/direct-kernel-boot/0002-nova-Fix-inject-for-direct-boot-with-part-table.patch index 372386a3..7cc743af 100644 --- a/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch +++ b/patches/fuel-library/direct-kernel-boot/0002-nova-Fix-inject-for-direct-boot-with-part-table.patch @@ -10,16 +10,16 @@ to a partition (instead of the whole disk). [1] https://bugs.launchpad.net/nova/+bug/1290455 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> --- .../openstack/files/nova-libvirt-inject.patch | 44 ++++++++++++++++++++++ - deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++ + .../openstack_tasks/manifests/roles/compute.pp | 12 ++++++ 2 files changed, 56 insertions(+) create mode 100644 deployment/puppet/openstack/files/nova-libvirt-inject.patch diff --git a/deployment/puppet/openstack/files/nova-libvirt-inject.patch b/deployment/puppet/openstack/files/nova-libvirt-inject.patch new file mode 100644 -index 0000000..9cbfe5f +index 0000000..b86927e --- /dev/null +++ b/deployment/puppet/openstack/files/nova-libvirt-inject.patch @@ -0,0 +1,44 @@ @@ -35,7 +35,7 @@ index 0000000..9cbfe5f +[1] https://bugs.launchpad.net/nova/+bug/1290455 + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> ++Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> +--- + +diff --git a/virt/libvirt/driver.py b/virt/libvirt/driver.py @@ -68,10 +68,12 @@ index 0000000..9cbfe5f + if target_partition == 0: + target_partition = None diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index 46b1801..d42d6a1 100644 +index dc61033..3fcfb51 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -281,4 +281,16 @@ class openstack::compute ( +@@ -319,6 +319,18 @@ class openstack_tasks::roles::compute { + cinder_catalog_info => pick($nova_hash_real['cinder_catalog_info'], 'volumev2:cinderv2:internalURL'), + rabbit_heartbeat_timeout_threshold => $::os_service_default, } -> + # FIXME(armband): Fix inject for part image direct boot (bug LP #1469308) + file { "${nova_path}/libvirt-inject.patch": diff --git a/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch b/patches/fuel-library/multiarch-efi/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch index 963356b2..262bd994 100644 --- a/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch +++ b/patches/fuel-library/multiarch-efi/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch @@ -1,4 +1,4 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Sun, 21 Feb 2016 16:29:52 +0100 Subject: [PATCH] Add arm64 templates to cobbler and nailgun @@ -11,7 +11,7 @@ Limitation: grub2 needs to be installed directly on the root (/) of a device or partition, as the MAC-files will search for /grub/grub.cfg on the available partitions -Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> Signed-off-by: Matei Valeanu <Matei.Valeanu@enea.com> --- deployment/puppet/cobbler/manifests/server.pp | 36 ++++++++++++++++++++++ @@ -38,7 +38,7 @@ index 891dff7..52936d5 100644 @@ -297,6 +297,42 @@ class cobbler::server ( notify => [Service[$cobbler_service], Exec['cobbler_sync']], } - + + file { '/etc/cobbler/pxe/efidefault.template': + content => template('cobbler/efidefault.template.erb'), + owner => 'root', @@ -85,7 +85,7 @@ index d70f8de..98278e9 100644 @@ -41,5 +41,7 @@ dhcp-no-override # by assigning IPs one by one instead of using hash algorithm. dhcp-sequential-ip - + +dhcp-match=set:arm64,93,11 +dhcp-boot=net:arm64,grub/grub-aarch64.efi,boothost,<%= @next_server %> dhcp-option=6,<%= @name_server %> @@ -156,13 +156,13 @@ index 6762153..25f8067 100644 @@ -66,9 +66,11 @@ d-i apt-setup/mirror/error select Retry # Use network mirror d-i apt-setup/use_mirror boolean true - + +<% if @arch == 'amd64' %> # Select architecture to amd64. That's very important to dpkg, since # by default we have both amd64 and i386. d-i apt-setup/multiarch string amd64 +<% end %> - + # You can choose to install restricted and universe software, or to install # software from the backports repository. diff --git a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp @@ -170,7 +170,7 @@ index 493ffc6..909fc92 100644 --- a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp +++ b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp @@ -53,17 +53,21 @@ class fuel::auxiliaryrepos( - + exec { 'create_ubuntu_repo_dirs': path => '/bin:/sbin:/usr/bin:/usr/sbin', - command => "bash -c \"mkdir -p ${ubuntu_dir}/pool/{main,restricted} ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-amd64/\"", @@ -182,7 +182,7 @@ index 493ffc6..909fc92 100644 + test -d ${ubuntu_dir}/dists/auxiliary/main/binary-arm64 && \ + test -d ${ubuntu_dir}/dists/auxiliary/restricted/binary-arm64", } - + exec { 'create_ubuntu_repo_Packages': path => '/bin:/sbin:/usr/bin:/usr/sbin', - command => "bash -c \"touch ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-amd64/Packages\"", @@ -193,7 +193,7 @@ index 493ffc6..909fc92 100644 + test -f ${ubuntu_dir}/dists/auxiliary/main/binary-arm64/Packages && \ + test -f ${ubuntu_dir}/dists/auxiliary/restricted/binary-arm64/Packages", } - + file { $release_files: diff --git a/deployment/puppet/fuel/manifests/cobbler.pp b/deployment/puppet/fuel/manifests/cobbler.pp index b403733..c89027d 100644 @@ -202,7 +202,7 @@ index b403733..c89027d 100644 @@ -114,12 +114,9 @@ class fuel::cobbler( require => Class['::cobbler::server'], } - + - file { '/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed': - content => template('cobbler/preseed/ubuntu-1404.preseed.erb'), - owner => 'root', @@ -213,12 +213,12 @@ index b403733..c89027d 100644 + path =>'/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed', + arch => "amd64", } -> - + cobbler_distro { 'ubuntu_1404_x86_64': @@ -132,6 +129,21 @@ class fuel::cobbler( require => Class['::cobbler::server'], } - + + fuel::cobbler::preseed { 'ubuntu_1404_arm64.preseed': + path => '/var/lib/cobbler/kickstarts/ubuntu-arm64.preseed', + arch => "arm64", @@ -240,7 +240,7 @@ index b403733..c89027d 100644 @@ -152,6 +164,16 @@ class fuel::cobbler( require => Cobbler_distro['ubuntu_1404_x86_64'], } - + + cobbler_profile { 'ubuntu_1404_arm64': + kickstart => '/var/lib/cobbler/kickstarts/ubuntu-arm64.preseed', + kopts => 'console=ttyAMA0,115200 console=ttyS0,115200 net.ifnames=0 biosdevname=0 netcfg/choose_interface=eth0 netcfg/dhcp_timeout=120 netcfg/link_detection_timeout=20', diff --git a/patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch b/patches/fuel-library/multiarch-efi/0002-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch index 14d06ef5..14d06ef5 100644 --- a/patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch +++ b/patches/fuel-library/multiarch-efi/0002-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch diff --git a/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch b/patches/fuel-library/multiarch-fuel/0001-Make-qemu-kvm-architecture-aware.patch index 25ec082e..ef1b8554 100644 --- a/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch +++ b/patches/fuel-library/multiarch-fuel/0001-Make-qemu-kvm-architecture-aware.patch @@ -1,4 +1,4 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Wed, 24 Feb 2016 20:07:06 +0100 Subject: [PATCH] Make qemu-kvm architecture aware @@ -7,10 +7,12 @@ Subject: [PATCH] Make qemu-kvm architecture aware 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -index b2339bc..ca1b2c4 100644 +index 3fcfb51..c53409c 100644 --- a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp +++ b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp -@@ -169,7 +169,12 @@ class openstack_tasks::compute ( +@@ -167,9 +167,14 @@ class openstack_tasks::roles::compute { + case $::osfamily { + 'RedHat': { # From legacy libvirt.pp + # Guard against some exotic distros with their `uname -m` + $arch = $::architecture ? { @@ -23,5 +25,5 @@ index b2339bc..ca1b2c4 100644 + command => "/bin/ln -sf /usr/libexec/qemu-kvm /usr/bin/qemu-system-${arch}", + creates => "/usr/bin/qemu-system-${arch}", } - + package { 'avahi': diff --git a/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch b/patches/fuel-library/multiarch-fuel/0002-Make-TestVM-creation-architecture-aware.patch index 417727ec..325b51d4 100644 --- a/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch +++ b/patches/fuel-library/multiarch-fuel/0002-Make-TestVM-creation-architecture-aware.patch @@ -1,7 +1,6 @@ -From ec3299c72eae195106092a646409564b5b3eb560 Mon Sep 17 00:00:00 2001 -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Wed, 24 Feb 2016 20:08:24 +0100 -Subject: [PATCH 10/20] Make TestVM creation architecture aware +Subject: [PATCH] Make TestVM creation architecture aware This depends on cirros-testvm package to contain both amd64 and arm64 images. @@ -24,7 +23,7 @@ index 84e202e..cff06e0 100644 + /(arm64|aarch64)/ => 'aarch64', + default => 'x86_64', + } - + package { 'cirros-testvm': ensure => "present" @@ -17,14 +21,14 @@ class openstack::img::cirros ( @@ -34,7 +33,7 @@ index 84e202e..cff06e0 100644 - command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /opt/vm/cirros-x86_64-disk.img", + command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /opt/vm/cirros-${arch}-disk.img", unless => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index && (/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index | grep ${img_name})", - + } } 'Debian': { @@ -42,7 +41,7 @@ index 84e202e..cff06e0 100644 - command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /usr/share/cirros-testvm/cirros-x86_64-disk.img", + command => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} add name=${img_name} is_public=${public} container_format=${container_format} disk_format=${disk_format} distro=${os_name} < /usr/share/cirros-testvm/cirros-${arch}-disk.img", unless => "/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index && (/usr/bin/glance -N ${os_auth_url} -T ${os_tenant_name} -I ${os_username} -K ${os_password} index | grep ${img_name})", - + } diff --git a/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp b/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp index 70fef32..dfefcbe 100644 @@ -51,7 +50,7 @@ index 70fef32..dfefcbe 100644 @@ -4,6 +4,17 @@ define osnailyfacter::generate_vms::vm_config( $details = $name $id = $details['id'] - + + case $::architecture { + 'arm64', 'aarch64': { + $machine_arch = 'aarch64' diff --git a/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch b/patches/fuel-library/multiarch-mirrors/0001-Add-arm64-for-auxiliary-repos.patch index 2edabc66..6d8b0248 100644 --- a/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch +++ b/patches/fuel-library/multiarch-mirrors/0001-Add-arm64-for-auxiliary-repos.patch @@ -1,4 +1,4 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Wed, 24 Feb 2016 20:05:25 +0100 Subject: [PATCH] Add arm64 for auxiliary repos @@ -20,10 +20,10 @@ index 2d5ce58..03f84b8 100644 Components: main restricted Description: Auxiliary diff --git a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp -index 720943d..91adb3e 100644 +index 909fc92..4ec5d05 100644 --- a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp +++ b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp -@@ -40,7 +40,9 @@ class nailgun::auxiliaryrepos( +@@ -45,7 +45,9 @@ class fuel::auxiliaryrepos( $release_files = [ "${ubuntu_dir}/dists/auxiliary/Release", "${ubuntu_dir}/dists/auxiliary/main/binary-amd64/Release", @@ -31,6 +31,6 @@ index 720943d..91adb3e 100644 + "${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64/Release", + "${ubuntu_dir}/dists/auxiliary/main/binary-arm64/Release", + "${ubuntu_dir}/dists/auxiliary/restricted/binary-arm64/Release"] - + Exec['create_ubuntu_repo_dirs'] -> Exec['create_ubuntu_repo_Packages'] -> diff --git a/patches/fuel-library/0013-Allow-configuring-MySQL-WSREP-SST-provider.patch b/patches/fuel-library/mysql-sst-provider/0001-Allow-configuring-MySQL-WSREP-SST-provider.patch index 6d9bc8c7..632aa8f3 100644 --- a/patches/fuel-library/0013-Allow-configuring-MySQL-WSREP-SST-provider.patch +++ b/patches/fuel-library/mysql-sst-provider/0001-Allow-configuring-MySQL-WSREP-SST-provider.patch @@ -1,4 +1,4 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> Date: Wed, 20 Apr 2016 14:54:42 -0700 Subject: [PATCH] Allow configuring MySQL WSREP SST provider @@ -15,30 +15,32 @@ This patch is tied to a patch in fuel-web that introduces configuration options for WSREP SST provider and in case nothing is specified, it will choose `xtrabackup-v2`. -Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> --- deployment/puppet/osnailyfacter/manifests/database/database.pp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/deployment/puppet/osnailyfacter/manifests/database/database.pp b/deployment/puppet/osnailyfacter/manifests/database/database.pp -index 1755c34..0cfbc8c 100644 +index e741ff8..be19eb5 100644 --- a/deployment/puppet/osnailyfacter/manifests/database/database.pp +++ b/deployment/puppet/osnailyfacter/manifests/database/database.pp -@@ -8,4 +8,5 @@ class osnailyfacter::database::database { +@@ -8,6 +8,7 @@ class osnailyfacter::database::database { $use_syslog = hiera('use_syslog', true) $primary_controller = hiera('primary_controller') $mysql_hash = hiera_hash('mysql', {}) + $wsrep_hash = hiera_hash('mysql_wsrep', {}) $debug = pick($mysql_hash['debug'], hiera('debug', false)) -@@ -22,6 +23,7 @@ class osnailyfacter::database::database { - + + $mgmt_iface = get_network_role_property('mgmt/database', 'interface') +@@ -17,6 +18,7 @@ class osnailyfacter::database::database { + $mysql_root_password = $mysql_hash['root_password'] $enabled = pick($mysql_hash['enabled'], true) + $wsrep_sst_method = pick($wsrep_hash['wsrep_method'], 'xtrabackup-v2') - + $galera_node_address = get_network_role_property('mgmt/database', 'ipaddr') $galera_nodes = values(get_node_to_ipaddr_map_by_network_role(hiera_hash('database_nodes'), 'mgmt/database')) -@@ -216,7 +218,7 @@ class osnailyfacter::database::database { +@@ -211,7 +213,7 @@ class osnailyfacter::database::database { 'wsrep_cluster_name' => $galera_cluster_name, 'wsrep_provider_options' => $wsrep_provider_options, 'wsrep_slave_threads' => $wsrep_slave_threads, @@ -47,7 +49,7 @@ index 1755c34..0cfbc8c 100644 #TODO (sgolovatiuk): fix this, should be a specific user not root 'wsrep_sst_auth' => "\"root:${mysql_root_password}\"", 'wsrep_node_address' => $galera_node_address, -@@ -269,7 +271,7 @@ class osnailyfacter::database::database { +@@ -264,7 +266,7 @@ class osnailyfacter::database::database { wsrep_group_comm_port => $wsrep_group_comm_port, bind_address => $galera_node_address, local_ip => $galera_node_address, @@ -55,4 +57,4 @@ index 1755c34..0cfbc8c 100644 + wsrep_sst_method => $wsrep_sst_method, override_options => $override_options, } - + diff --git a/patches/fuel-library/0015-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespace.patch b/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch index 86318bb0..281ef231 100644 --- a/patches/fuel-library/0015-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespace.patch +++ b/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch @@ -15,21 +15,21 @@ index cdd814c..49cbd17 100644 --- a/files/fuel-ha-utils/ocf/ns_dns +++ b/files/fuel-ha-utils/ocf/ns_dns @@ -140,7 +140,7 @@ exit $OCF_SUCCESS - + check_ns() { local ns=`ip netns list | grep "$OCF_RESKEY_ns"` - [ $ns != $OCF_RESKEY_ns ] && return $OCF_ERR_GENERIC + [ "$ns" != $OCF_RESKEY_ns ] && return $OCF_ERR_GENERIC return $OCF_SUCCESS } - + @@ -150,6 +150,7 @@ get_ns() { - + ocf_run ip netns add $OCF_RESKEY_ns rc=$? + ocf_run $RUN_IN_NS /sbin/sysctl -w net.ipv4.ip_nonlocal_bind=1 ocf_run $RUN_IN_NS ip link set up dev lo - + return $rc diff --git a/files/fuel-ha-utils/ocf/ns_vrouter b/files/fuel-ha-utils/ocf/ns_vrouter index a65e9cf..5cc6c98 100644 @@ -43,12 +43,12 @@ index a65e9cf..5cc6c98 100644 + [[ "$ns" != $OCF_RESKEY_ns ]] && return $OCF_ERR_GENERIC return $OCF_SUCCESS } - + @@ -197,6 +197,7 @@ get_ns() { - + ocf_run ip netns add $OCF_RESKEY_ns rc=$? + ocf_run $RUN_IN_NS /sbin/sysctl -w net.ipv4.ip_nonlocal_bind=1 ocf_run $RUN_IN_NS ip link set up dev lo ocf_log debug "${LH} added netns ${OCF_RESKEY_ns} and set up lo" - + diff --git a/patches/fuel-library/0017-Always-wait-for-MySQL-sync-on-service-refresh.patch b/patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch index e0704110..d7fac948 100644 --- a/patches/fuel-library/0017-Always-wait-for-MySQL-sync-on-service-refresh.patch +++ b/patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch @@ -1,6 +1,6 @@ From: dmburmistrov <dmburmistrov@mirantis.com> Date: Thu, 18 Aug 2016 21:30:26 +0300 -Subject: Always wait for MySQL sync on service refresh +Subject: [PATCH] Always wait for MySQL sync on service refresh Always trigger Exec['wait-for-sync'] on MySQL service refresh. @@ -14,21 +14,21 @@ Change-Id: I82ec0d46eff217daedc1bd07c67069498c515c44 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/deployment/puppet/cluster/manifests/mysql.pp b/deployment/puppet/cluster/manifests/mysql.pp -index 0b766c5..055b931 100644 +index c36b65d..f483cf6 100644 --- a/deployment/puppet/cluster/manifests/mysql.pp +++ b/deployment/puppet/cluster/manifests/mysql.pp -@@ -111,7 +111,7 @@ class cluster::mysql ( +@@ -104,7 +104,7 @@ class cluster::mysql ( require => Package['mysql-server'], } ~> - + - exec { 'wait-initial-sync': + exec { 'wait-for-sync': path => '/bin:/sbin:/usr/bin:/usr/sbin', command => "mysql ${user_password_string} -Nbe \"show status like 'wsrep_local_state_comment'\" | grep -q -e Synced && sleep 10", try_sleep => 10, -@@ -126,7 +126,7 @@ class cluster::mysql ( +@@ -119,7 +119,7 @@ class cluster::mysql ( } - + Exec['create-init-file'] -> - Service<| title == $service_name |> -> - Exec['wait-initial-sync'] -> @@ -37,17 +37,17 @@ index 0b766c5..055b931 100644 Exec['rm-init-file'] } diff --git a/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb b/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb -index be00056..e4d62c4 100644 +index cf2c719..72c8c2f 100644 --- a/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb +++ b/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb -@@ -39,12 +39,16 @@ describe 'cluster::mysql' do +@@ -34,12 +34,16 @@ describe 'cluster::mysql' do /'username'@'localhost' IDENTIFIED BY 'password'/ ) should contain_exec('create-init-file').that_comes_before('Service[mysqld]') - should contain_exec('create-init-file').that_notifies('Exec[wait-initial-sync]') + should contain_exec('create-init-file').that_notifies('Exec[wait-for-sync]') end - + it 'creates exec to remove init-file' do should contain_exec('rm-init-file') end @@ -56,5 +56,5 @@ index be00056..e4d62c4 100644 + should contain_exec('wait-for-sync').that_subscribes_to('Service[mysqld]') + end end - + end diff --git a/patches/fuel-library/0018-Fix-MySQL-logging-dir-permissions-for-syslog.patch b/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch index da6acac8..7dfede1b 100644 --- a/patches/fuel-library/0018-Fix-MySQL-logging-dir-permissions-for-syslog.patch +++ b/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch @@ -1,6 +1,6 @@ From: Maksim Malchuk <mmalchuk@mirantis.com> Date: Wed, 24 Aug 2016 00:15:02 +0300 -Subject: Fix MySQL logging dir permissions for syslog +Subject: [PATCH] Fix MySQL logging dir permissions for syslog This change fixes permissions for MySQL logging directory to enable syslogd create and write logs files into it. @@ -22,7 +22,7 @@ index f483cf6..7bc8874 100644 @@ -118,8 +118,16 @@ class cluster::mysql ( onlyif => 'test -f /tmp/wsrep-init-file', } - + + file { 'fix-log-dir': + ensure => directory, + path => '/var/log/mysql', @@ -51,11 +51,11 @@ index 72c8c2f..ad3fc1b 100644 + should contain_exec('create-init-file').that_comes_before('File[fix-log-dir]') should contain_exec('create-init-file').that_notifies('Exec[wait-for-sync]') end - + @@ -41,6 +41,15 @@ describe 'cluster::mysql' do should contain_exec('rm-init-file') end - + + it 'should have correct permissions for logging directory' do + should contain_file('fix-log-dir').with( + :ensure => 'directory', @@ -75,7 +75,7 @@ index d4ad8d0..2c4c5c5 100644 @@ -261,6 +261,15 @@ describe manifest do ) end - + + it 'should have correct permissions for logging directory' do + should contain_file('fix-log-dir').with( + :ensure => 'directory', |