From e42a9b3011f96ad26f4a19db77ac44cad31a4290 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Sun, 18 Dec 2016 16:53:26 +0100 Subject: Uplift Armband to Fuel Newton [ Dan Andresan ] - puppet: database: Fix Percona XtraBackup sync [ Alexandru Avadanii ] - disable all plugins; - re-enable remote tracking; - remove "Revert: Point to specific snapshot ..."; - patch context adjustments; - obsolete "kernel-bump", linux-image-lts-xenial is now the default; - network-checker iface state check now fixed upstream [1]; - fuel-nailgun-agent hugepage size should also check /proc/meminfo; - fuel-nailgun-agent CPU detection for AArch64; - nova AArch64 hugepage support is now upstream; - obsolete Cirros Test VM direct kernel boot (by switch to AAVMF): * f-l/0001-upload_cirros-Add-direct-kernel-boot-support.patch * f-w/0001-direct-kernel-boot-for-cirros.patch - rework m1.micro RAM size patch after puppet manifest split upstream; - re-enable arch-agnostic plugins which were rebased in Fuel@OPNFV: * f_yardstick-pluginbuild * f_congress-pluginbuild - do NOT retire MySQL SST provider patch series (nack: ARMBAND-186), rebase (and keep for now) MySQL SST provider patches, as trying to use xtrabackup-v2 revelead a regression since Colorado.3.0, and these patches simplify troubleshooting a lot; - AArch64: nova: libvirt: Use host-model cpu (ARMBAND-193); - AArch64: nova: libvirt: Use pointer_model instead of use_usb_tablet; - m1.micro RAM size insufficient for TestVM with AAVMF (s/128/256/) - switch Cirros TestVM to AAVMF from direct kernel boot; - backport nova libvirt driver fix for deleting instances booted with AAVMF firmware from [2]; TODO (later): - Include ISO build time fixes for cirros_testvm in Armband package; TODO (ODL, later): - test & revise leveldb patching; - bring back Qugga patching for arm64; - configure systemd service to automatically respawn; [1] https://review.openstack.org/#/c/417373/ [2] https://review.openstack.org/#/c/357190/ JIRA: ARMBAND-29 JIRA: ARMBAND-32 JIRA: ARMBAND-63 JIRA: ARMBAND-88 JIRA: ARMBAND-116 JIRA: ARMBAND-118 JIRA: ARMBAND-186 JIRA: ARMBAND-193 JIRA: ARMBAND-194 JIRA: ARMBAND-195 JIRA: ARMBAND-196 JIRA: ARMBAND-197 Change-Id: Ia99022e364e61245d109cabab9d0ed7157b4d2f5 Signed-off-by: Alexandru Avadanii Signed-off-by: Dan Andresan --- ...4.ip_nonlocal_bind-1-for-vrouter-namespac.patch | 54 ------------- ...ys-wait-for-MySQL-sync-on-service-refresh.patch | 60 --------------- ...-MySQL-logging-dir-permissions-for-syslog.patch | 90 ---------------------- 3 files changed, 204 deletions(-) delete mode 100644 patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch delete mode 100644 patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch delete mode 100644 patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch (limited to 'patches/fuel-library/upstream-backports') diff --git a/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch b/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch deleted file mode 100644 index 281ef231..00000000 --- a/patches/fuel-library/upstream-backports/0001-Set-net.ipv4.ip_nonlocal_bind-1-for-vrouter-namespac.patch +++ /dev/null @@ -1,54 +0,0 @@ -From: Bartosz Kupidura -Date: Mon, 27 Jun 2016 13:12:29 +0200 -Subject: [PATCH] Set net.ipv4.ip_nonlocal_bind=1 for vrouter namespace - -Change-Id: I123af7e3b53f9a53fcd9d2818640c0bd4699e024 -Closes-Bug: #1595957 -(cherry picked from commit 244456a3b77074a6cd85fa9d33ebb03ac25decf8) ---- - files/fuel-ha-utils/ocf/ns_dns | 3 ++- - files/fuel-ha-utils/ocf/ns_vrouter | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/files/fuel-ha-utils/ocf/ns_dns b/files/fuel-ha-utils/ocf/ns_dns -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 ---- a/files/fuel-ha-utils/ocf/ns_vrouter -+++ b/files/fuel-ha-utils/ocf/ns_vrouter -@@ -186,7 +186,7 @@ check_ns() { - local LH="${LL} check_ns():" - local ns=`ip netns list | grep "$OCF_RESKEY_ns"` - ocf_log debug "${LH} recieved netns list: ${ns}" -- [[ $ns != $OCF_RESKEY_ns ]] && return $OCF_ERR_GENERIC -+ [[ "$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/upstream-backports/0002-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 deleted file mode 100644 index d7fac948..00000000 --- a/patches/fuel-library/upstream-backports/0002-Always-wait-for-MySQL-sync-on-service-refresh.patch +++ /dev/null @@ -1,60 +0,0 @@ -From: dmburmistrov -Date: Thu, 18 Aug 2016 21:30:26 +0300 -Subject: [PATCH] Always wait for MySQL sync on service refresh - -Always trigger Exec['wait-for-sync'] on -MySQL service refresh. - -Closes-bug: #1614647 - -Change-Id: I82ec0d46eff217daedc1bd07c67069498c515c44 ---- - deployment/puppet/cluster/manifests/mysql.pp | 6 +++--- - deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb | 6 +++++- - 2 files changed, 8 insertions(+), 4 deletions(-) - -diff --git a/deployment/puppet/cluster/manifests/mysql.pp b/deployment/puppet/cluster/manifests/mysql.pp -index c36b65d..f483cf6 100644 ---- a/deployment/puppet/cluster/manifests/mysql.pp -+++ b/deployment/puppet/cluster/manifests/mysql.pp -@@ -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, -@@ -119,7 +119,7 @@ class cluster::mysql ( - } - - Exec['create-init-file'] -> -- Service<| title == $service_name |> -> -- Exec['wait-initial-sync'] -> -+ Service<| title == $service_name |> ~> -+ Exec['wait-for-sync'] -> - 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 cf2c719..72c8c2f 100644 ---- a/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb -+++ b/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb -@@ -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 -+ -+ it 'creates exec to wait initial database sync' do -+ should contain_exec('wait-for-sync').that_subscribes_to('Service[mysqld]') -+ end - end - - end diff --git a/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch b/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch deleted file mode 100644 index 7dfede1b..00000000 --- a/patches/fuel-library/upstream-backports/0003-Fix-MySQL-logging-dir-permissions-for-syslog.patch +++ /dev/null @@ -1,90 +0,0 @@ -From: Maksim Malchuk -Date: Wed, 24 Aug 2016 00:15:02 +0300 -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. - -Closes-Bug: #1615680 -Change-Id: Id29aead6619ea8ed68811d0fd80895ee79f51687 -Signed-off-by: Maksim Malchuk -(cherry picked from commit 9c978278811eeebfb11ab4d2b42ebabe00c132c2) ---- - deployment/puppet/cluster/manifests/mysql.pp | 14 +++++++++++--- - .../puppet/cluster/spec/classes/cluster_mysql_spec.rb | 11 ++++++++++- - tests/noop/spec/hosts/database/database_spec.rb | 9 +++++++++ - 3 files changed, 30 insertions(+), 4 deletions(-) - -diff --git a/deployment/puppet/cluster/manifests/mysql.pp b/deployment/puppet/cluster/manifests/mysql.pp -index f483cf6..7bc8874 100644 ---- a/deployment/puppet/cluster/manifests/mysql.pp -+++ b/deployment/puppet/cluster/manifests/mysql.pp -@@ -118,8 +118,16 @@ class cluster::mysql ( - onlyif => 'test -f /tmp/wsrep-init-file', - } - -+ file { 'fix-log-dir': -+ ensure => directory, -+ path => '/var/log/mysql', -+ mode => '0770', -+ require => Package['mysql-server'], -+ } -+ - Exec['create-init-file'] -> -- Service<| title == $service_name |> ~> -- Exec['wait-for-sync'] -> -- Exec['rm-init-file'] -+ File['fix-log-dir'] -> -+ Service<| title == $service_name |> ~> -+ Exec['wait-for-sync'] -> -+ 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 72c8c2f..ad3fc1b 100644 ---- a/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb -+++ b/deployment/puppet/cluster/spec/classes/cluster_mysql_spec.rb -@@ -33,7 +33,7 @@ describe 'cluster::mysql' do - should contain_exec('create-init-file').with_command( - /'username'@'localhost' IDENTIFIED BY 'password'/ - ) -- should contain_exec('create-init-file').that_comes_before('Service[mysqld]') -+ 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', -+ :path => '/var/log/mysql', -+ :mode => '0770', -+ ).that_requires('Package[mysql-server]') -+ should contain_file('fix-log-dir').that_comes_before('Service[mysqld]') -+ end -+ - it 'creates exec to wait initial database sync' do - should contain_exec('wait-for-sync').that_subscribes_to('Service[mysqld]') - end -diff --git a/tests/noop/spec/hosts/database/database_spec.rb b/tests/noop/spec/hosts/database/database_spec.rb -index d4ad8d0..2c4c5c5 100644 ---- a/tests/noop/spec/hosts/database/database_spec.rb -+++ b/tests/noop/spec/hosts/database/database_spec.rb -@@ -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', -+ :path => '/var/log/mysql', -+ :mode => '0770', -+ ).that_requires('Package[mysql-server]') -+ should contain_file('fix-log-dir').that_comes_before('Service[mysqld]') -+ end -+ - it 'should configure galera grants service and proper flow' do - if primary_controller - should contain_class('cluster::galera_grants').with( -- cgit 1.2.3-korg