diff options
32 files changed, 607 insertions, 577 deletions
@@ -10,13 +10,13 @@ mailing list tag [armband] Committers: Bob Monkman (bob.monkman@arm.com) Rob Dimond (robert.dimond@arm.com) -Jerin Jacob (Jerin.Jacob@caviumnetworks.com) -Vinita Gupta (Vinita.Gupta@caviumnetworks.com) +Jerin Jacob (Jerin.Jacob@cavium.com) +Vinita Gupta (Vinita.Gupta@cavium.com) Santosh Shukla (sshukla@mvista.com) Joe Kidder (joe.kidder@enea.com) Bin Hu (bh526r@att.com) Aiguo Cui (ag.cui@huawei.com) -Stanislaw Kardach (Stanislaw.Kardach@caviumnetworks.com) +Stanislaw Kardach (Stanislaw.Kardach@cavium.com) Josep Puigdemont (josep.puigdemont@enea.com) Ciprian Barbu (Ciprian.Barbu@enea.com) Florin Dumitrascu (florin.dumitrascu@enea.com) 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 96b0e630..6f28d8a3 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 @@ -20,9 +20,7 @@ diff --git a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/b index ca2d3e1..b0d410d 100644 --- a/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/build.py +++ b/contrib/fuel_bootstrap/fuel_bootstrap_cli/fuel_bootstrap/commands/build.py -@@ -166,6 +166,14 @@ class BuildCommand(command.Command): - " files", - action='append' +@@ -166,4 +166,12 @@ class BuildCommand(command.Command): ) + parser.add_argument( + '--target_arch', @@ -66,8 +64,7 @@ diff --git a/fuel_agent/manager.py b/fuel_agent/manager.py index 15cc5d8..f613aef 100644 --- a/fuel_agent/manager.py +++ b/fuel_agent/manager.py -@@ -18,6 +18,7 @@ import shutil - import signal +@@ -18,5 +18,6 @@ import shutil from oslo_config import cfg +from oslo_config import types 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 7f6d2c3d..37017e1a 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 @@ -35,8 +35,7 @@ index 6322a10..843c40b 100644 if hasattr(bs_scheme, 'certs') and bs_scheme.certs: bu.copy_update_certs(bs_scheme.certs, chroot) bu.run_apt_get(chroot, packages=packages, -@@ -873,6 +878,7 @@ class Manager(object): - force_ipv4_file=CONF.force_ipv4_file) +@@ -873,5 +878,6 @@ class Manager(object): # restore disabled hosts/resolv files bu.restore_resolv_conf(chroot) + bu.restore_newaliases(chroot) diff --git a/patches/fuel-agent/0005-Add-esp-partition-flag.patch b/patches/fuel-agent/0005-Add-esp-partition-flag.patch index e90b283b..2ecec416 100644 --- a/patches/fuel-agent/0005-Add-esp-partition-flag.patch +++ b/patches/fuel-agent/0005-Add-esp-partition-flag.patch @@ -16,11 +16,11 @@ index c2fef69..0ae81f9 100644 --- a/fuel_agent/drivers/nailgun.py +++ b/fuel_agent/drivers/nailgun.py @@ -324,7 +324,7 @@ class Nailgun(BaseDataDriver): - # uefi partition (for future use) - LOG.debug('Adding UEFI partition on disk %s: size=200' % - disk['name']) -- parted.add_partition(size=200) -+ parted.add_partition(size=200, flags=['esp']) + # uefi partition (for future use) + LOG.debug('Adding UEFI partition on disk %s: size=200' % + disk['name']) +- parted.add_partition(size=200) ++ parted.add_partition(size=200, flags=['esp']) LOG.debug('Looping over all volumes on disk %s' % disk['name']) for volume in disk['volumes']: 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 dbbde129..0fb94215 100644 --- a/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch +++ b/patches/fuel-agent/0007-Add-fs-for-efi-partition.patch @@ -35,20 +35,20 @@ index bc532b4..f092865 100644 # 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('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/patches/fuel-agent/0010-target-Ubuntu-Blacklist-rtc-efi-if-not-supported.patch b/patches/fuel-agent/0011-target-Ubuntu-Blacklist-rtc-efi-if-not-supported.patch index b0c32f4f..b0c32f4f 100644 --- a/patches/fuel-agent/0010-target-Ubuntu-Blacklist-rtc-efi-if-not-supported.patch +++ b/patches/fuel-agent/0011-target-Ubuntu-Blacklist-rtc-efi-if-not-supported.patch diff --git a/patches/fuel-astute/0001-Increase-maximum-shell-command-timeout.patch b/patches/fuel-astute/0001-Increase-maximum-shell-command-timeout-to-2h.patch index d7048954..abcb9283 100644 --- a/patches/fuel-astute/0001-Increase-maximum-shell-command-timeout.patch +++ b/patches/fuel-astute/0001-Increase-maximum-shell-command-timeout-to-2h.patch @@ -22,9 +22,7 @@ diff --git a/mcagents/execute_shell_command.ddl b/mcagents/execute_shell_command index 0480be7..ad58046 100644 --- a/mcagents/execute_shell_command.ddl +++ b/mcagents/execute_shell_command.ddl -@@ -4,7 +4,7 @@ metadata :name => "Execute shell command", - :license => "Apache License 2.0", - :version => "8.0.0", +@@ -4,5 +4,5 @@ metadata :name => "Execute shell command", :url => "http://mirantis.com", - :timeout => 3600 + :timeout => 7200 diff --git a/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch b/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch index d8a6a03d..5d52e155 100644 --- a/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch +++ b/patches/fuel-library/0001-Add-arm64-templates-to-cobbler-and-nailgun.patch @@ -12,14 +12,14 @@ Add arm64 templates to cobbler and nailgun .../cobbler/templates/grubprofile.template.erb | 12 +++++++ .../cobbler/templates/grubsystem.template.erb | 16 +++++++++ .../templates/preseed/ubuntu-1404.preseed.erb | 2 ++ - .../puppet/nailgun/manifests/auxiliaryrepos.pp | 12 ++++--- - deployment/puppet/nailgun/manifests/cobbler.pp | 38 +++++++++++++++++----- - .../puppet/nailgun/manifests/cobbler/preseed.pp | 13 ++++++++ + .../puppet/fuel/manifests/auxiliaryrepos.pp | 12 ++++--- + deployment/puppet/fuel/manifests/cobbler.pp | 38 +++++++++++++++++----- + .../puppet/fuel/manifests/cobbler/preseed.pp | 13 ++++++++ 9 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 deployment/puppet/cobbler/templates/efidefault.template.erb create mode 100644 deployment/puppet/cobbler/templates/grubprofile.template.erb create mode 100644 deployment/puppet/cobbler/templates/grubsystem.template.erb - create mode 100644 deployment/puppet/nailgun/manifests/cobbler/preseed.pp + create mode 100644 deployment/puppet/fuel/manifests/cobbler/preseed.pp diff --git a/deployment/puppet/cobbler/manifests/server.pp b/deployment/puppet/cobbler/manifests/server.pp index bdb1ae7..0523404 100644 @@ -138,17 +138,17 @@ index fd6dda3..65c6c69 100644 # You can choose to install restricted and universe software, or to install # software from the backports repository. -diff --git a/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp b/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp +diff --git a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp index 41a2570..720943d 100644 ---- a/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp -+++ b/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp +--- a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp ++++ b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp @@ -48,17 +48,21 @@ class nailgun::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/\"", + command => "bash -c \"mkdir -p ${ubuntu_dir}/pool/{main,restricted} ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-{amd64,arm64}/\"", - unless => "test -d ${ubuntu_dir}/pool && \ + unless => "test -d ${ubuntu_dir}/pool && \ test -d ${ubuntu_dir}/dists/auxiliary/main/binary-amd64 && \ - test -d ${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64", + test -d ${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64 && \ @@ -168,88 +168,79 @@ index 41a2570..720943d 100644 } file { $release_files: -diff --git a/deployment/puppet/nailgun/manifests/cobbler.pp b/deployment/puppet/nailgun/manifests/cobbler.pp +diff --git a/deployment/puppet/fuel/manifests/cobbler.pp b/deployment/puppet/fuel/manifests/cobbler.pp index a11498c..95a9497 100644 ---- a/deployment/puppet/nailgun/manifests/cobbler.pp -+++ b/deployment/puppet/nailgun/manifests/cobbler.pp -@@ -43,7 +43,7 @@ class nailgun::cobbler( - $bootstrap_profile = $bootstrap_flavor ? { - /(?i)centos/ => 'bootstrap', - /(?i)ubuntu/ => 'ubuntu_bootstrap', -- default => 'bootstrap', -+ default => 'ubuntu_bootstrap', - } - - if $::osfamily == 'RedHat' { +--- a/deployment/puppet/fuel/manifests/cobbler.pp ++++ b/deployment/puppet/fuel/manifests/cobbler.pp @@ -133,12 +133,9 @@ class nailgun::cobbler( - require => Class['::cobbler::server'], - } + require => Class['::cobbler::server'], + } -- file { '/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed': -- content => template('cobbler/preseed/ubuntu-1404.preseed.erb'), -- owner => 'root', -- group => 'root', -- mode => '0644', -- require => Class['::cobbler::server'], -+ nailgun::cobbler::preseed { 'ubuntu_1404_x86_64.preseed': -+ path =>'/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed', -+ arch => "amd64", - } -> +- file { '/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed': +- content => template('cobbler/preseed/ubuntu-1404.preseed.erb'), +- owner => 'root', +- group => 'root', +- mode => '0644', +- require => Class['::cobbler::server'], ++ nailgun::cobbler::preseed { 'ubuntu_1404_x86_64.preseed': ++ path =>'/var/lib/cobbler/kickstarts/ubuntu-amd64.preseed', ++ arch => "amd64", + } -> - cobbler_distro { 'ubuntu_1404_x86_64': + cobbler_distro { 'ubuntu_1404_x86_64': @@ -151,6 +148,21 @@ class nailgun::cobbler( - require => Class['::cobbler::server'], - } - -+ nailgun::cobbler::preseed { 'ubuntu_1404_arm64.preseed': -+ path => '/var/lib/cobbler/kickstarts/ubuntu-arm64.preseed', -+ arch => "arm64", -+ } -> + require => Class['::cobbler::server'], + } + ++ nailgun::cobbler::preseed { 'ubuntu_1404_arm64.preseed': ++ path => '/var/lib/cobbler/kickstarts/ubuntu-arm64.preseed', ++ arch => "arm64", ++ } -> + -+ cobbler_distro { 'ubuntu_1404_arm64': -+ kernel => "${repo_root}/ubuntu/x86_64/images/linux", -+ initrd => "${repo_root}/ubuntu/x86_64/images/initrd.gz", -+ arch => 'x86_64', # Makes Cobbler choose PXE -+ breed => 'ubuntu', -+ osversion => 'trusty', -+ ksmeta => '', -+ require => Class['::cobbler::server'], -+ } ++ cobbler_distro { 'ubuntu_1404_arm64': ++ kernel => "${repo_root}/ubuntu/x86_64/images/linux", ++ initrd => "${repo_root}/ubuntu/x86_64/images/initrd.gz", ++ arch => 'x86_64', # Makes Cobbler choose PXE ++ breed => 'ubuntu', ++ osversion => 'trusty', ++ ksmeta => '', ++ require => Class['::cobbler::server'], ++ } + - cobbler_profile { 'centos-x86_64': - kickstart => '/var/lib/cobbler/kickstarts/centos-x86_64.ks', - kopts => 'biosdevname=0 sshd=1 dhcptimeout=120', + cobbler_profile { 'centos-x86_64': + kickstart => '/var/lib/cobbler/kickstarts/centos-x86_64.ks', + kopts => 'biosdevname=0 sshd=1 dhcptimeout=120', @@ -171,6 +183,16 @@ class nailgun::cobbler( - require => Cobbler_distro['ubuntu_1404_x86_64'], - } + 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', -+ distro => 'ubuntu_1404_arm64', -+ ksmeta => '', -+ menu => false, -+ server => $real_server, -+ require => Cobbler_distro['ubuntu_1404_arm64'], -+ } ++ 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', ++ distro => 'ubuntu_1404_arm64', ++ ksmeta => '', ++ menu => false, ++ server => $real_server, ++ require => Cobbler_distro['ubuntu_1404_arm64'], ++ } + - cobbler_distro { 'bootstrap': - kernel => "${repo_root}/bootstrap/linux", - initrd => "${repo_root}/bootstrap/initramfs.img", + cobbler_distro { 'ubuntu_bootstrap': + kernel => "${bootstrap_path}/vmlinuz", + initrd => "${bootstrap_path}/initrd.img", @@ -205,7 +227,7 @@ class nailgun::cobbler( - distro => 'ubuntu_bootstrap', - menu => true, - kickstart => '', -- kopts => extend_kopts($bootstrap_meta['extend_kopts'], "console=ttyS0,9600 console=tty0 panic=60 ethdevice-timeout=${bootstrap_ethdevice_timeout} boot=live toram components fetch=http://${server}:8080/bootstraps/active_bootstrap/root.squashfs biosdevname=0 url=${nailgun_api_url} mco_user=${mco_user} mco_pass=${mco_pass}"), -+ kopts => extend_kopts($bootstrap_meta['extend_kopts'], "console=ttyAMA0,115200 console=ttyS0,115200 panic=60 ethdevice-timeout=${bootstrap_ethdevice_timeout} boot=live toram components fetch=http://${server}:8080/bootstraps/active_bootstrap/root.squashfs biosdevname=0 url=${nailgun_api_url} mco_user=${mco_user} mco_pass=${mco_pass}"), - ksmeta => '', - server => $real_server, - require => Cobbler_distro['ubuntu_bootstrap'], -diff --git a/deployment/puppet/nailgun/manifests/cobbler/preseed.pp b/deployment/puppet/nailgun/manifests/cobbler/preseed.pp + distro => 'ubuntu_bootstrap', + menu => true, + kickstart => '', +- kopts => extend_kopts($bootstrap_meta['extend_kopts'], "console=ttyS0,9600 console=tty0 panic=60 ethdevice-timeout=${bootstrap_ethdevice_timeout} boot=live toram components fetch=http://${server}:8080/bootstraps/active_bootstrap/root.squashfs biosdevname=0 url=${nailgun_api_url} mco_user=${mco_user} mco_pass=${mco_pass} ip=frommedia"), ++ kopts => extend_kopts($bootstrap_meta['extend_kopts'], "console=ttyAMA0,115200 console=ttyS0,115200 panic=60 ethdevice-timeout=${bootstrap_ethdevice_timeout} boot=live toram components fetch=http://${server}:8080/bootstraps/active_bootstrap/root.squashfs biosdevname=0 url=${nailgun_api_url} mco_user=${mco_user} mco_pass=${mco_pass} ip=frommedia"), + ksmeta => '', + server => $real_server, + require => Cobbler_distro['ubuntu_bootstrap'], +diff --git a/deployment/puppet/fuel/manifests/cobbler/preseed.pp b/deployment/puppet/fuel/manifests/cobbler/preseed.pp new file mode 100644 index 0000000..93c71ba --- /dev/null -+++ b/deployment/puppet/nailgun/manifests/cobbler/preseed.pp ++++ b/deployment/puppet/fuel/manifests/cobbler/preseed.pp @@ -0,0 +1,13 @@ +define nailgun::cobbler::preseed( + $path, diff --git a/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch b/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch index 591d3968..2edabc66 100644 --- a/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch +++ b/patches/fuel-library/0002-Add-arm64-for-auxiliary-repos.patch @@ -3,14 +3,14 @@ Date: Wed, 24 Feb 2016 20:05:25 +0100 Subject: [PATCH] Add arm64 for auxiliary repos --- - deployment/puppet/nailgun/files/Release-auxiliary | 2 +- - deployment/puppet/nailgun/manifests/auxiliaryrepos.pp | 4 +++- + deployment/puppet/fuel/files/Release-auxiliary | 2 +- + deployment/puppet/fuel/manifests/auxiliaryrepos.pp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) -diff --git a/deployment/puppet/nailgun/files/Release-auxiliary b/deployment/puppet/nailgun/files/Release-auxiliary +diff --git a/deployment/puppet/fuel/files/Release-auxiliary b/deployment/puppet/fuel/files/Release-auxiliary index 2d5ce58..03f84b8 100644 ---- a/deployment/puppet/nailgun/files/Release-auxiliary -+++ b/deployment/puppet/nailgun/files/Release-auxiliary +--- a/deployment/puppet/fuel/files/Release-auxiliary ++++ b/deployment/puppet/fuel/files/Release-auxiliary @@ -3,6 +3,6 @@ Label: auxiliary Suite: auxiliary Codename: auxiliary @@ -19,10 +19,10 @@ index 2d5ce58..03f84b8 100644 +Architectures: amd64 arm64 Components: main restricted Description: Auxiliary -diff --git a/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp b/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp +diff --git a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp index 720943d..91adb3e 100644 ---- a/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp -+++ b/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp +--- a/deployment/puppet/fuel/manifests/auxiliaryrepos.pp ++++ b/deployment/puppet/fuel/manifests/auxiliaryrepos.pp @@ -40,7 +40,9 @@ class nailgun::auxiliaryrepos( $release_files = [ "${ubuntu_dir}/dists/auxiliary/Release", diff --git a/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch b/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch index 01cbdf83..25ec082e 100644 --- a/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch +++ b/patches/fuel-library/0003-Make-qemu-kvm-architecture-aware.patch @@ -3,23 +3,20 @@ Date: Wed, 24 Feb 2016 20:07:06 +0100 Subject: [PATCH] Make qemu-kvm architecture aware --- - deployment/puppet/openstack/manifests/compute.pp | 9 +++++++-- + deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) -diff --git a/deployment/puppet/openstack/manifests/compute.pp b/deployment/puppet/openstack/manifests/compute.pp +diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index b2339bc..ca1b2c4 100644 ---- a/deployment/puppet/openstack/manifests/compute.pp -+++ b/deployment/puppet/openstack/manifests/compute.pp -@@ -169,10 +169,15 @@ class openstack::compute ( - before => Augeas['libvirt-conf'], - } - +--- 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 ( + # From legacy libvirt.pp + # Guard against some exotic distros with their `uname -m` + $arch = $::architecture ? { + /(arm64|aarch64)/ => 'aarch64', + default => 'x86_64', + } - # From legacy libvirt.pp exec { 'symlink-qemu-kvm': - command => '/bin/ln -sf /usr/libexec/qemu-kvm /usr/bin/qemu-system-x86_64', - creates => '/usr/bin/qemu-system-x86_64', diff --git a/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch b/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch index 869920e0..37b10879 100644 --- a/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch +++ b/patches/fuel-library/0004-Make-TestVM-creation-architecture-aware.patch @@ -6,7 +6,7 @@ This depends on cirros-testvm package to contain both amd64 and arm64 images. --- deployment/puppet/openstack/manifests/img/cirros.pp | 8 ++++++-- - .../puppet/osnailyfacter/modular/generate_vms/generate_vms.pp | 11 +++++++++++ + puppet/osnailyfacter/manifests/generate_vms/vm_config.pp | 11 +++++++++++ deployment/puppet/osnailyfacter/templates/vm_libvirt.erb | 9 ++++++++- files/fuel-migrate/fuel-migrate | 5 ++++- 4 files changed, 29 insertions(+), 4 deletions(-) @@ -43,10 +43,10 @@ index 84e202e..cff06e0 100644 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/modular/generate_vms/generate_vms.pp b/deployment/puppet/osnailyfacter/modular/generate_vms/generate_vms.pp +diff --git a/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp b/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp index 6d5426a..da5954e 100644 ---- a/deployment/puppet/osnailyfacter/modular/generate_vms/generate_vms.pp -+++ b/deployment/puppet/osnailyfacter/modular/generate_vms/generate_vms.pp +--- a/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp ++++ b/deployment/puppet/osnailyfacter/manifests/generate_vms/vm_config.pp @@ -11,6 +11,17 @@ define vm_config { $details = $name $id = $details['id'] diff --git a/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch b/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch index 37b42341..bab44b53 100644 --- a/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch +++ b/patches/fuel-library/0005-Disable-usb-tablet-for-aarch64.patch @@ -3,28 +3,23 @@ Date: Tue, 15 Mar 2016 11:33:52 +0100 Subject: [PATCH] Disable usb tablet for aarch64 --- - deployment/puppet/openstack/manifests/compute.pp | 12 ++++++++++++ + deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++++++++ 1 file changed, 12 insertions(+) -diff --git a/deployment/puppet/openstack/manifests/compute.pp b/deployment/puppet/openstack/manifests/compute.pp +diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index ca1b2c4..c0349dc 100644 ---- a/deployment/puppet/openstack/manifests/compute.pp -+++ b/deployment/puppet/openstack/manifests/compute.pp -@@ -316,6 +316,10 @@ class openstack::compute ( +--- 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 ( nova_config { - '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'; + 'libvirt/use_usb_tablet': value => $::architecture ? { + /(arm64|aarch64)/ => false, + default => true, + } - } - - nova_config { -@@ -364,6 +368,14 @@ class openstack::compute ( - # Workaround for bug LP #1469308 - # also service name for Ubuntu and Centos is the same. - libvirt_service_name => "libvirtd", + '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'; +@@ -364,3 +368,11 @@ class openstack::compute ( + libvirt_service_name => $::nova::params::libvirt_service_name, + } -> + package { 'vgabios': + ensure => present; @@ -35,4 +30,3 @@ index ca1b2c4..c0349dc 100644 + replace => false, } - # From legacy libvirt.pp diff --git a/patches/fuel-library/0007-m1.micro-Increase-profile-RAM-size-to-128MB.patch b/patches/fuel-library/0007-m1.micro-Increase-profile-RAM-size-to-128MB.patch index 8253acad..81377ad1 100644 --- a/patches/fuel-library/0007-m1.micro-Increase-profile-RAM-size-to-128MB.patch +++ b/patches/fuel-library/0007-m1.micro-Increase-profile-RAM-size-to-128MB.patch @@ -5,33 +5,31 @@ Subject: [PATCH] m1.micro: Increase profile RAM size to 128MB. TestVM (cirros) on aarch64 requires more than 64MB RAM. Keep profiles uniform across all archs. --- - .../osnailyfacter/modular/openstack-controller/openstack-controller.pp | 2 +- + .../openstack_tasks/manifests/openstack_controller/openstack_controller.pp | 2 +- tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/deployment/puppet/osnailyfacter/modular/openstack-controller/openstack-controller.pp b/deployment/puppet/osnailyfacter/modular/openstack-controller/openstack-controller.pp +diff --git a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp index b1d8795..88e0ab3 100644 ---- a/deployment/puppet/osnailyfacter/modular/openstack-controller/openstack-controller.pp -+++ b/deployment/puppet/osnailyfacter/modular/openstack-controller/openstack-controller.pp +--- a/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp ++++ b/deployment/puppet/openstack_tasks/manifests/openstack_controller/openstack_controller.pp @@ -233,7 +233,7 @@ if $primary_controller { - "OS_REGION_NAME=${region}", - "NOVA_ENDPOINT_TYPE=internalURL", - ], -- command => 'bash -c "nova flavor-create --is-public true m1.micro auto 64 0 1"', -+ command => 'bash -c "nova flavor-create --is-public true m1.micro auto 128 0 1"', - #FIXME(mattymo): Upstream bug PUP-2299 for retries in unless/onlyif - # Retry nova-flavor list until it exits 0, then exit with grep status, - # finally exit 1 if tries exceeded + "OS_REGION_NAME=${region}", + "NOVA_ENDPOINT_TYPE=internalURL", + ], +- command => 'bash -c "nova flavor-create --is-public true m1.micro auto 64 0 1"', ++ command => 'bash -c "nova flavor-create --is-public true m1.micro auto 128 0 1"', + #FIXME(mattymo): Upstream bug PUP-2299 for retries in unless/onlyif + # Retry nova-flavor list until it exits 0, then exit with grep status, + # finally exit 1 if tries exceeded diff --git a/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb b/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb index 36161e6..b15da07 100644 --- a/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb +++ b/tests/noop/spec/hosts/openstack-controller/openstack-controller_spec.rb -@@ -171,7 +171,7 @@ describe manifest do +@@ -399,5 +399,5 @@ describe manifest do if primary_controller it 'should retry unless when creating m1.micro flavor' do should contain_exec('create-m1.micro-flavor').with( - 'command' => 'bash -c "nova flavor-create --is-public true m1.micro auto 64 0 1"', + 'command' => 'bash -c "nova flavor-create --is-public true m1.micro auto 128 0 1"', 'unless' => 'bash -c \'for tries in {1..10}; do - nova flavor-list | grep m1.micro; - status=("${PIPESTATUS[@]}"); diff --git a/patches/fuel-library/0008-Increase-upload_cirros-timeout-for-multi-image.patch b/patches/fuel-library/0008-Increase-upload_cirros-timeout-for-multi-image.patch index 7f240c8e..40ac638f 100644 --- a/patches/fuel-library/0008-Increase-upload_cirros-timeout-for-multi-image.patch +++ b/patches/fuel-library/0008-Increase-upload_cirros-timeout-for-multi-image.patch @@ -10,7 +10,7 @@ diff --git a/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml b/deploym index a2cb1da..d9d2dcc 100644 --- a/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml +++ b/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml -@@ -19,7 +19,7 @@ +@@ -19,6 +19,6 @@ cmd: ruby /etc/puppet/modules/osnailyfacter/modular/astute/upload_cirros.rb retries: 3 interval: 20 @@ -18,4 +18,3 @@ index a2cb1da..d9d2dcc 100644 + timeout: 360 - id: upload_nodes_info - type: upload_file diff --git a/patches/fuel-library/0009-Update-vga-console-defaults-for-armv7-and-aarch64.patch b/patches/fuel-library/0009-Update-vga-console-defaults-for-armv7-and-aarch64.patch index 33d31ff4..a1325172 100644 --- a/patches/fuel-library/0009-Update-vga-console-defaults-for-armv7-and-aarch64.patch +++ b/patches/fuel-library/0009-Update-vga-console-defaults-for-armv7-and-aarch64.patch @@ -8,7 +8,7 @@ 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/manifests/compute.pp | 19 +++++++++++ + deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 19 +++++++++++ 2 files changed, 58 insertions(+) create mode 100644 deployment/puppet/openstack/files/nova-libvirt-vga-console.patch @@ -57,35 +57,30 @@ index 0000000..c5f8e5a + # NOTE(ldbragst): PowerKVM doesn't support 'cirrus' be default + # so use 'vga' instead when running on Power hardware. + video.type = 'vga' -diff --git a/deployment/puppet/openstack/manifests/compute.pp b/deployment/puppet/openstack/manifests/compute.pp +diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index c0349dc..46b1801 100644 ---- a/deployment/puppet/openstack/manifests/compute.pp -+++ b/deployment/puppet/openstack/manifests/compute.pp -@@ -157,6 +157,12 @@ class openstack::compute ( - } - } - +--- 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 ( + + include ::nova::params ++ + if ! defined(Package['patch']) { + package { 'patch': + ensure => 'present', + } + } -+ - $glance_connection = $glance_api_servers case $::osfamily { -@@ -250,6 +256,7 @@ class openstack::compute ( +@@ -250,3 +256,4 @@ class openstack::compute ( - $memcached_addresses = suffix($cache_server_ip, inline_template(":<%= @cache_server_port %>")) $notify_on_state_change = 'vm_and_task_state' + $nova_path = '/usr/lib/python2.7/dist-packages/nova' - class { 'nova': - install_utilities => false, -@@ -273,6 +280,18 @@ class openstack::compute ( - service_down_time => $nova_service_down_time, - notify_on_state_change => $notify_on_state_change, - memcached_servers => $memcached_addresses, +@@ -273,5 +280,17 @@ class openstack::compute ( + notification_driver => $ceilometer_hash['notification_driver'], + memcached_servers => $memcached_addresses, + cinder_catalog_info => pick($nova_hash_real['cinder_catalog_info'], 'volumev2:cinderv2:internalURL'), + } -> + # FIXME(armband): Workaround for missing arm defaults in nova libvirt driver + file { "${nova_path}/libvirt-vga-console.patch": @@ -100,4 +95,3 @@ index c0349dc..46b1801 100644 + require => [Package['patch']], } - if str2bool($::is_virtual) { diff --git a/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch b/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch index 571bcb70..4a242b90 100644 --- a/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch +++ b/patches/fuel-library/0010-nova-Fix-inject-for-direct-boot-with-part-table.patch @@ -13,7 +13,7 @@ Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> --- .../openstack/files/nova-libvirt-inject.patch | 44 ++++++++++++++++++++++ - deployment/puppet/openstack/manifests/compute.pp | 12 ++++++ + deployment/puppet/openstack_tasks/manifests/roles/compute.pp | 12 ++++++ 2 files changed, 56 insertions(+) create mode 100644 deployment/puppet/openstack/files/nova-libvirt-inject.patch @@ -67,13 +67,11 @@ index 0000000..9cbfe5f + target_partition = CONF.libvirt.inject_partition + if target_partition == 0: + target_partition = None -diff --git a/deployment/puppet/openstack/manifests/compute.pp b/deployment/puppet/openstack/manifests/compute.pp +diff --git a/deployment/puppet/openstack_tasks/manifests/roles/compute.pp b/deployment/puppet/openstack_tasks/manifests/roles/compute.pp index 46b1801..d42d6a1 100644 ---- a/deployment/puppet/openstack/manifests/compute.pp -+++ b/deployment/puppet/openstack/manifests/compute.pp -@@ -281,6 +281,18 @@ class openstack::compute ( - notify_on_state_change => $notify_on_state_change, - memcached_servers => $memcached_addresses, +--- 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 ( } -> + # FIXME(armband): Fix inject for part image direct boot (bug LP #1469308) + file { "${nova_path}/libvirt-inject.patch": diff --git a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch b/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch index 0d13efeb..0ddad114 100644 --- a/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch +++ b/patches/fuel-library/0011-ceph-Fix-obsolete-XFS-mount-param-delaylog.patch @@ -11,38 +11,36 @@ older than 4.0. [1] https://www.kernel.org/doc/Documentation/filesystems/xfs.txt --- - deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp | 7 +++++++ - deployment/puppet/osnailyfacter/modular/globals/globals.pp | 2 +- + deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp | 7 +++++++ + deployment/puppet/osnailyfacter/manifests/globals/globals.pp | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) -diff --git a/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp b/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp +diff --git a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp index f7da80e..22aab33 100644 ---- a/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp -+++ b/deployment/puppet/osnailyfacter/modular/ceph/ceph-osd.pp -@@ -50,6 +50,13 @@ class {'ceph': - } +--- a/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp ++++ b/deployment/puppet/osnailyfacter/manifests/ceph/ceph_osd.pp +@@ -50,4 +50,11 @@ class {'ceph': + } - if $ceph_tuning_settings != {} { -+ if versioncmp($::kernelmajversion, '4.0') < 0 { -+ # FIXME(armband): XFS mount opt delaylog is deprecated in kernels >=4.0. -+ $ceph_tuning_settings['osd_mount_options_xfs'] = join([ -+ $ceph_tuning_settings['osd_mount_options_xfs'], -+ 'delaylog' -+ ], ',') -+ } - ceph_conf { - 'global/debug_default' : value => $debug; - 'global/max_open_files' : value => $ceph_tuning_settings['max_open_files']; -diff --git a/deployment/puppet/osnailyfacter/modular/globals/globals.pp b/deployment/puppet/osnailyfacter/modular/globals/globals.pp + if $ceph_tuning_settings_hash != {} { ++ if versioncmp($::kernelmajversion, '4.0') < 0 { ++ # FIXME(armband): XFS mount opt delaylog is deprecated in kernels >=4.0. ++ $ceph_tuning_settings_hash['osd_mount_options_xfs'] = join([ ++ $ceph_tuning_settings_hash['osd_mount_options_xfs'], ++ 'delaylog' ++ ], ',') ++ } + ceph_conf { +diff --git a/deployment/puppet/osnailyfacter/manifests/globals/globals.pp b/deployment/puppet/osnailyfacter/modular/globals/globals.pp index 268a5b1..69aed7b 100644 ---- a/deployment/puppet/osnailyfacter/modular/globals/globals.pp -+++ b/deployment/puppet/osnailyfacter/modular/globals/globals.pp +--- 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 - $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'), -- 'osd_mount_options_xfs' => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,delaylog,allocsize=4M'), -+ 'osd_mount_options_xfs' => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,allocsize=4M'), - 'osd_op_threads' => pick($storage_tuning_settings['osd_op_threads'], '20'), - 'filestore_queue_max_ops' => pick($storage_tuning_settings['filestore_queue_max_ops'], '500'), - 'filestore_queue_committing_max_ops' => pick($storage_tuning_settings['filestore_queue_committing_max_ops'], '5000'), + $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'), +- 'osd_mount_options_xfs' => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,delaylog,allocsize=4M'), ++ 'osd_mount_options_xfs' => pick($storage_tuning_settings['osd_mount_options_xfs'], 'rw,relatime,inode64,logbsize=256k,allocsize=4M'), + 'osd_op_threads' => pick($storage_tuning_settings['osd_op_threads'], '20'), + 'filestore_queue_max_ops' => pick($storage_tuning_settings['filestore_queue_max_ops'], '500'), + 'filestore_queue_committing_max_ops' => pick($storage_tuning_settings['filestore_queue_committing_max_ops'], '5000'), diff --git a/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch b/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch index 63f2c1ca..36353a89 100644 --- a/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch +++ b/patches/fuel-library/0012-ceilometer-Fix-libvirt-bin-group-name-for-armband.patch @@ -21,16 +21,15 @@ This patch extends the version checking introduced in [1]: [1] https://review.openstack.org/#/c/200602/8/deployment/puppet/ openstack/manifests/ceilometer.pp --- - deployment/puppet/openstack/manifests/ceilometer.pp | 8 +++++++- + deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -diff --git a/deployment/puppet/openstack/manifests/ceilometer.pp b/deployment/puppet/openstack/manifests/ceilometer.pp +diff --git a/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp b/deployment/puppet/openstack_tasks/manifests/ceilometer/compute.pp index 8311731..1d7af2b 100644 ---- a/deployment/puppet/openstack/manifests/ceilometer.pp -+++ b/deployment/puppet/openstack/manifests/ceilometer.pp -@@ -195,8 +195,14 @@ class openstack::ceilometer ( +--- 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 ( - if ($on_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/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch b/patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch new file mode 100644 index 00000000..14d06ef5 --- /dev/null +++ b/patches/fuel-library/0014-Add-cobbler-grub-aarch64-to-cobbler-dependencies.patch @@ -0,0 +1,35 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Fri, 13 May 2016 23:06:28 +0200 +Subject: [PATCH] Add cobbler-grub-aarch64 to cobbler dependencies. + +The aarch64 grub EFI loader, packaged as an RPM and previously +installed in the nailgun docker container in /var/lib/cobbler, +is now added as a cobbler dependency in puppet and installed +on the Fuel master node. + +[Alexandru.Avadanii@enea.com] +Reworked based on Florin's work for the docker container. + +Signed-off-by: Florin Dumitrascu <florin.dumitrascu@enea.com> +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + deployment/puppet/cobbler/manifests/packages.pp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/deployment/puppet/cobbler/manifests/packages.pp b/deployment/puppet/cobbler/manifests/packages.pp +index 267c18c..9782c4c 100644 +--- a/deployment/puppet/cobbler/manifests/packages.pp ++++ b/deployment/puppet/cobbler/manifests/packages.pp +@@ -25,10 +25,10 @@ class cobbler::packages { + $pexpect_package = 'pexpect' + case $::operatingsystemrelease { + /6.+/: { +- $cobbler_additional_packages = ['xinetd', 'tftp-server', 'syslinux', 'wget', 'python-ipaddr','fence-agents', 'bind-utils'] ++ $cobbler_additional_packages = ['xinetd', 'tftp-server', 'syslinux', 'wget', 'python-ipaddr','fence-agents', 'bind-utils', 'cobbler-grub-aarch64'] + } + /7.+/: { +- $cobbler_additional_packages = ['xinetd', 'tftp-server', 'syslinux', 'wget', 'python-ipaddr','fence-agents-all', 'bind-utils'] ++ $cobbler_additional_packages = ['xinetd', 'tftp-server', 'syslinux', 'wget', 'python-ipaddr','fence-agents-all', 'bind-utils', 'cobbler-grub-aarch64'] + } + } + } diff --git a/patches/fuel-main/0001-Use-qemu-debootstrap-to-support-multi-arch.patch b/patches/fuel-main/0001-Use-qemu-debootstrap-to-support-multi-arch.patch index 15dcac3e..07f1fb93 100644 --- a/patches/fuel-main/0001-Use-qemu-debootstrap-to-support-multi-arch.patch +++ b/patches/fuel-main/0001-Use-qemu-debootstrap-to-support-multi-arch.patch @@ -12,15 +12,15 @@ diff --git a/prepare-build-env.sh b/prepare-build-env.sh index 194e528..fa186ed 100755 --- a/prepare-build-env.sh +++ b/prepare-build-env.sh -@@ -112,7 +112,7 @@ sudo apt-get -y install build-essential make git $GEMPKG debootstrap createrepo - python-nose libvirt-bin python-ipaddr python-paramiko python-yaml \ - python-pip kpartx extlinux unzip genisoimage syslinux debmirror \ - lrzip python-daemon python-dev libparse-debcontrol-perl reprepro devscripts \ -- xorriso -+ xorriso qemu-user-static - sudo gem install bundler -v 1.2.1 - sudo gem install builder - sudo pip install xmlbuilder jinja2 pbr +@@ -112,6 +112,7 @@ + lrzip \ + python-jinja2 \ + python-yaml \ ++ qemu-user-static + reprepro \ + rpm \ + syslinux \ + unzip \ diff --git a/requirements-rpm.txt b/requirements-rpm.txt index e0aa9ba..9a2d141 100644 --- a/requirements-rpm.txt diff --git a/patches/fuel-main/0003-Add-cobbler-grub-aarch64-RPM-reinstall-to-start.sh.patch b/patches/fuel-main/0003-Add-cobbler-grub-aarch64-RPM-reinstall-to-start.sh.patch deleted file mode 100644 index e3d13b85..00000000 --- a/patches/fuel-main/0003-Add-cobbler-grub-aarch64-RPM-reinstall-to-start.sh.patch +++ /dev/null @@ -1,39 +0,0 @@ -From: Florin Dumitrascu <florin.dumitrascu@enea.com> -Date: Fri, 4 Mar 2016 17:19:41 +0100 -Subject: [PATCH] Add cobbler-grub-aarch64 RPM reinstall to start.sh - -Because /var/lib/cobbler is mounted as a volume, new cobbler aarch64 -grub loader packaged as an RPM (cobbler-grub-aarch64) should be -reinstalled if its files are missing on Docker container start. ---- - docker/cobbler/setup.sh | 2 +- - docker/cobbler/start.sh | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/docker/cobbler/setup.sh b/docker/cobbler/setup.sh -index a7fce0c..90627a8 100644 ---- a/docker/cobbler/setup.sh -+++ b/docker/cobbler/setup.sh -@@ -31,7 +31,7 @@ yum update -y - - ln -s /etc/dnsmasq.conf /etc/cobbler.dnsmasq.conf - --packages="httpd cobbler dnsmasq xinetd tftp-server" -+packages="httpd cobbler cobbler-grub-aarch64 dnsmasq xinetd tftp-server" - echo $packages | xargs -n1 yum install -y - - -diff --git a/docker/cobbler/start.sh b/docker/cobbler/start.sh -index 3c5d411..c1a359b 100644 ---- a/docker/cobbler/start.sh -+++ b/docker/cobbler/start.sh -@@ -18,6 +18,9 @@ fi - if rpm -V cobbler-web | grep -q missing; then - yum reinstall -q -y cobbler-web - fi -+if rpm -V cobbler-grub-aarch64 | grep -q missing; then -+ yum reinstall -q -y cobbler-grub-aarch64 -+fi - - - # Run puppet to apply custom config diff --git a/patches/fuel-main/0004-FIXME-cobbler-setup.sh-Keep-extra-RPM-repos.patch b/patches/fuel-main/0004-FIXME-cobbler-setup.sh-Keep-extra-RPM-repos.patch deleted file mode 100644 index e3dceeda..00000000 --- a/patches/fuel-main/0004-FIXME-cobbler-setup.sh-Keep-extra-RPM-repos.patch +++ /dev/null @@ -1,50 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Thu, 28 Apr 2016 01:41:45 +0200 -Subject: [PATCH] FIXME: cobbler: setup.sh: Keep extra RPM repos. - -cobbler-grub-aarch64 (arm64 specific loader) is currently -distributed and added to the cobbler docker container during -ISO build using EXTRA_RPM_REPOS envvar mechanism. - -However, since this package installs files in a mounted location, -its contents are not persistent, requiring a test and eventual -forced reinstall during container start. - -This, of course, requires the package to be available at that point, -which is not currently possible, as we remove the extra RPM repository -entry from yum config at the end of container build. - -Hacky temporary workaround: -Re-add extra RPM yum config after container is set up, only for cobbler. - -TODO: This patch should be dropped once cobbler-grub-aarch64 RPM -package gets upstreamed. ---- - docker/cobbler/setup.sh | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -diff --git a/docker/cobbler/setup.sh b/docker/cobbler/setup.sh -index 90627a8..508eaa4 100644 ---- a/docker/cobbler/setup.sh -+++ b/docker/cobbler/setup.sh -@@ -80,6 +80,20 @@ baseurl=file:/var/www/nailgun/mos-centos/x86_64 - gpgcheck=0 - EOF - -+## FIXME(armband): Add extra RPM repository in Cobbler container -+# Normally, extra RPM repos are not re-added post-build, but we -+# need cobbler-grub-aarch64 during each container start. -+ -+for repo in ${EXTRA_RPM_REPOS}; do -+ IFS=, read -a repo_args <<< "$repo" -+ cat << EOF >> /etc/yum.repos.d/nailgun.repo -+ -+[extra-repo-${repo_args[0]}] -+name=MOS Extra Repo ${repo_args[0]} -+baseurl=file:/var/www/nailgun/extra-repos/${repo_args[0]} -+gpgcheck=0 -+EOF -+done - yum clean all - - diff --git a/patches/fuel-plugin-opendaylight/0002-Increase-open-file-limit-for-OpenDaylight.patch b/patches/fuel-plugin-opendaylight/0002-Increase-open-file-limit-for-OpenDaylight.patch new file mode 100644 index 00000000..be7658ee --- /dev/null +++ b/patches/fuel-plugin-opendaylight/0002-Increase-open-file-limit-for-OpenDaylight.patch @@ -0,0 +1,31 @@ +From: Stanislaw Kardach <stanislaw.kardach@cavium.com> +Date: Sat, 14 May 2016 17:24:48 -0700 +Subject: [PATCH] Increase open file limit for OpenDaylight + +Upstart scripts by default do not run scripts in a shell which results +in limits from `/etc/security/limits.conf` not be taken into account +and results in the default value (4096) to be taken. This may prove +problematic for OpenDaylight during initialization. On Cavium ThunderX +we have noticed OpenFlow controller initialization failures caused by +hitting this limit. +OPNFV is increasing the `nofile` limit to 112640 for OpenStack services +which is why I'm using this value here. + +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@cavium.com> +--- + odl_package/ubuntu/opendaylight | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/odl_package/ubuntu/opendaylight b/odl_package/ubuntu/opendaylight +index 6e5ff7b..52a3159 100644 +--- a/odl_package/ubuntu/opendaylight ++++ b/odl_package/ubuntu/opendaylight +@@ -14,7 +14,7 @@ env JAVA_OPTS="-server -Xms256M -Xmx2048M -XX:+UnlockDiagnosticVMOptions -XX:+Un + env OPTS="-Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true" + env MAIN="org.apache.karaf.main.Main" + +- ++limit nofile 102400 112640 + chdir /opt/opendaylight + + script diff --git a/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch new file mode 100644 index 00000000..b059d454 --- /dev/null +++ b/patches/fuel-web/0001-nailgun-Add-AArch64-Openstack-Mitaka-release-s.patch @@ -0,0 +1,310 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 14 May 2016 00:53:36 +0200 +Subject: [PATCH] nailgun: Add AArch64 Openstack Mitaka release(s). + +Add the following Openstack releases: + +- Mitaka on Ubuntu 14.04 (aarch64) +- Mitaka on Ubuntu+UCA 14.04 (aarch64) + +Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + nailgun/nailgun/fixtures/openstack.yaml | 287 ++++++++++++++++++++++++++++++++ + 1 file changed, 287 insertions(+) + +diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml +index 62e6b73..9674d66 100644 +--- a/nailgun/nailgun/fixtures/openstack.yaml ++++ b/nailgun/nailgun/fixtures/openstack.yaml +@@ -2314,3 +2314,290 @@ + weight: 61 + type: "checkbox" + value: true ++- &ubuntu_aarch64_release ++ pk: 4 ++ extend: *base_release ++ fields: ++ name: "Mitaka on Ubuntu 14.04 (aarch64)" ++ version: "mitaka-9.0" ++ operating_system: "Ubuntu" ++ description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." ++ attributes_metadata: ++ editable: ++ kernel_params: ++ kernel: ++ value: "console=ttyAMA0,115200 console=ttyS0,115200 net.ifnames=1 biosdevname=0 rootdelay=90 nomodeset" ++ repo_setup: ++ metadata: ++ label: "Repositories" ++ weight: 50 ++ group: "general" ++ always_editable: true ++ repos: ++ type: "custom_repo_configuration" ++ extra_priority: null ++ description: | ++ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. ++ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. ++ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. ++ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#external-ubuntu-ops). ++ value: ++ - type: "deb" ++ name: "ubuntu" ++ uri: "http://ports.ubuntu.com/" ++ suite: "trusty" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-updates" ++ uri: "http://ports.ubuntu.com/" ++ suite: "trusty-updates" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-security" ++ uri: "http://ports.ubuntu.com/" ++ suite: "trusty-security" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "mos" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" ++ suite: "mos9.0" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-updates" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos9.0-updates" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-security" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos9.0-security" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-holdback" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos9.0-holdback" ++ section: "main restricted" ++ priority: 1100 ++ - type: "deb" ++ name: "Auxiliary" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" ++ suite: "auxiliary" ++ section: "main restricted" ++ priority: 1150 ++ provision: ++ metadata: ++ label: "Provision" ++ weight: 80 ++ group: "general" ++ restrictions: ++ - condition: "false" ++ action: "hide" ++ packages: ++ label: "Initial packages" ++ weight: 10 ++ type: "textarea" ++ value: | ++ acl ++ anacron ++ bash-completion ++ bridge-utils ++ bsdmainutils ++ build-essential ++ cloud-init ++ curl ++ daemonize ++ debconf-utils ++ gdisk ++ grub-efi-arm64 ++ hpsa-dkms ++ hwloc ++ i40e-dkms ++ linux-firmware ++ linux-firmware-nonfree ++ linux-headers-generic-lts-trusty ++ linux-image-generic-lts-trusty ++ lvm2 ++ mcollective ++ mdadm ++ multipath-tools ++ multipath-tools-boot ++ nailgun-agent ++ nailgun-mcagents ++ network-checker ++ ntp ++ openssh-client ++ openssh-server ++ puppet ++ python-amqp ++ ruby-augeas ++ ruby-ipaddress ++ ruby-json ++ ruby-netaddr ++ ruby-openstack ++ ruby-shadow ++ ruby-stomp ++ telnet ++ ubuntu-minimal ++ ubuntu-standard ++ uuid-runtime ++ vim ++ virt-what ++ vlan ++ generated: ++ repo_setup: ++ installer_kernel: ++ remote_relative: "dists/trusty/main/installer-arm64/current/images/generic/netboot/vmlinuz" ++ local: "/var/www/nailgun/ubuntu/arm64/images/linux" ++ installer_initrd: ++ remote_relative: "dists/trusty/main/installer-arm64/current/images/generic/netboot/initrd.gz" ++ local: "/var/www/nailgun/ubuntu/arm64/images/initrd.gz" ++ cobbler: ++ profile: ++ generator_arg: "ubuntu_1404_arm64" ++ provision: ++ codename: "trusty" ++ image_data: ++ /: ++ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64.img.gz" ++ format: "ext4" ++ container: "gzip" ++ /boot: ++ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64-boot.img.gz" ++ format: "ext2" ++ container: "gzip" ++ node_attributes: ++ cpu_pinning: ++ metadata: ++ group: "nfv" ++ label: "CPU pinning" ++ weight: 10 ++ restrictions: ++ - condition: "settings:common.libvirt_type.value != 'kvm'" ++ action: "hide" ++ nova: ++ weight: 10 ++ description: "Number of CPUs for Nova usage" ++ label: "Nova CPU pinning" ++ type: "number" ++ value: 0 ++ min: 0 ++ hugepages: ++ metadata: ++ group: "nfv" ++ label: "Huge Pages" ++ weight: 20 ++ restrictions: ++ - condition: "settings:common.libvirt_type.value != 'kvm'" ++ action: "hide" ++ nova: ++ weight: 10 ++ description: "Nova Huge Pages configuration" ++ label: "Nova Huge Pages" ++ type: "custom_hugepages" ++ value: {} ++- pk: 5 ++ extend: *ubuntu_aarch64_release ++ fields: ++ name: "Mitaka on Ubuntu+UCA 14.04 (aarch64)" ++ version: "mitaka-9.0" ++ description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." ++ attributes_metadata: ++ editable: ++ repo_setup: ++ repos: ++ type: "custom_repo_configuration" ++ extra_priority: null ++ description: | ++ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. ++ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. ++ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. ++ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-9.0/operations.html#external-ubuntu-ops). ++ value: ++ - type: "deb" ++ name: "ubuntu" ++ uri: "http://ports.ubuntu.com/" ++ suite: "trusty" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-updates" ++ uri: "http://ports.ubuntu.com/" ++ suite: "trusty-updates" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "ubuntu-security" ++ uri: "http://ports.ubuntu.com/" ++ suite: "trusty-security" ++ section: "main universe multiverse" ++ priority: null ++ - type: "deb" ++ name: "uca" ++ uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" ++ suite: "trusty-updates/mitaka" ++ section: "main" ++ priority: 1080 ++ - type: "deb" ++ name: "uca-proposed" ++ uri: "http://ubuntu-cloud.archive.canonical.com/ubuntu" ++ suite: "trusty-proposed/mitaka" ++ section: "main" ++ priority: 1080 ++ - type: "deb" ++ name: "mos" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" ++ suite: "mos9.0" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-updates" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos9.0-updates" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-security" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos9.0-security" ++ section: "main restricted" ++ priority: 1050 ++ - type: "deb" ++ name: "mos-holdback" ++ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" ++ suite: "mos9.0-holdback" ++ section: "main restricted" ++ priority: 1100 ++ - type: "deb" ++ name: "Auxiliary" ++ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" ++ suite: "auxiliary" ++ section: "main restricted" ++ priority: 1150 ++ repo_type: ++ type: "hidden" ++ weight: 58 ++ value: "uca" ++ pin_haproxy: ++ label: "HAProxy APT Pinning" ++ description: "Use Fuel HAProxy packages instead of upstream" ++ weight: 59 ++ type: "checkbox" ++ value: true ++ pin_rabbitmq: ++ label: "RabbitMQ APT Pinning" ++ description: "Use Fuel RabbitMQ packages instead of upstream" ++ weight: 60 ++ type: "checkbox" ++ value: true ++ pin_ceph: ++ label: "Ceph APT Pinning" ++ description: "Use Fuel Ceph packages instead of upstream" ++ weight: 61 ++ type: "checkbox" ++ value: true diff --git a/patches/fuel-web/0001-nailgun-Add-arm64-fixture.patch b/patches/fuel-web/0001-nailgun-Add-arm64-fixture.patch deleted file mode 100644 index 5fea498e..00000000 --- a/patches/fuel-web/0001-nailgun-Add-arm64-fixture.patch +++ /dev/null @@ -1,115 +0,0 @@ -From: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> -Date: Sun, 21 Feb 2016 16:30:43 +0100 -Subject: [PATCH] nailgun: Add arm64 fixture. - ---- - nailgun/nailgun/fixtures/openstack.yaml | 99 +++++++++++++++++++++++++++++++++ - 1 file changed, 99 insertions(+) - -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index f9c8ab6..a330f4e 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -2079,3 +2079,102 @@ - uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_amd64-boot.img.gz" - format: "ext2" - container: "gzip" -+- pk: 3 -+ extend: *base_release -+ fields: -+ name: "Liberty on Ubuntu 14.04 (aarch64)" -+ version: "liberty-8.0" -+ can_update_from_versions: [] -+ operating_system: "Ubuntu" -+ description: "This option will install the OpenStack Liberty packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." -+ attributes_metadata: -+ editable: -+ kernel_params: -+ kernel: -+ value: "console=ttyAMA0,115200 console=ttyS0,115200 net.ifnames=1 biosdevname=0 rootdelay=90 nomodeset" -+ repo_setup: -+ metadata: -+ label: "Repositories" -+ weight: 50 -+ group: "general" -+ always_editable: true -+ repos: -+ type: "custom_repo_configuration" -+ extra_priority: null -+ description: | -+ Please note: the first repository will be considered the operating system mirror that will be used during node provisioning. -+ To create a local repository mirror on the Fuel master node, please follow the instructions provided by running "fuel-createmirror --help" on the Fuel master node. -+ Please make sure your Fuel master node has Internet access to the repository before attempting to create a mirror. -+ For more details, please refer to the documentation (https://docs.mirantis.com/openstack/fuel/fuel-8.0/operations.html#external-ubuntu-ops). -+ value: -+ # first repository on the list is used for downloading the kernel and initrd -+ - type: "deb" -+ name: "ubuntu" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "ubuntu-updates" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty-updates" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "ubuntu-security" -+ uri: "http://ports.ubuntu.com/" -+ suite: "trusty-security" -+ section: "main universe multiverse" -+ priority: null -+ - type: "deb" -+ name: "mos" -+ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/x86_64" -+ suite: "mos8.0" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-updates" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos8.0-updates" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-security" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos8.0-security" -+ section: "main restricted" -+ priority: 1050 -+ - type: "deb" -+ name: "mos-holdback" -+ uri: "http://linux.enea.com/mos-repos/ubuntu/{cluster.release.environment_version}" -+ suite: "mos8.0-holdback" -+ section: "main restricted" -+ priority: 1100 -+ - type: "deb" -+ name: "Auxiliary" -+ uri: "http://{settings.MASTER_IP}:8080/{cluster.release.version}/ubuntu/auxiliary" -+ suite: "auxiliary" -+ section: "main restricted" -+ priority: 1150 -+ generated: -+ repo_setup: -+ installer_kernel: -+ remote_relative: "dists/trusty/main/installer-arm64/current/images/generic/netboot/vmlinuz" -+ local: "/var/www/nailgun/ubuntu/arm64/images/linux" -+ installer_initrd: -+ remote_relative: "dists/trusty/main/installer-arm64/current/images/generic/netboot/initrd.gz" -+ local: "/var/www/nailgun/ubuntu/arm64/images/initrd.gz" -+ cobbler: -+ profile: -+ generator_arg: "ubuntu_1404_arm64" -+ provision: -+ codename: "trusty" -+ image_data: -+ /: -+ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64.img.gz" -+ format: "ext4" -+ container: "gzip" -+ /boot: -+ uri: "http://{settings.MASTER_IP}:8080/targetimages/env_{cluster.id}_ubuntu_1404_arm64-boot.img.gz" -+ format: "ext2" -+ container: "gzip" diff --git a/patches/fuel-web/0005-FIXME-Disable-amd64-Liberty-on-Ubuntu-for-now.patch b/patches/fuel-web/0005-FIXME-Disable-amd64-Liberty-on-Ubuntu-for-now.patch deleted file mode 100644 index 243d9c85..00000000 --- a/patches/fuel-web/0005-FIXME-Disable-amd64-Liberty-on-Ubuntu-for-now.patch +++ /dev/null @@ -1,24 +0,0 @@ -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Sat, 19 Mar 2016 19:02:15 +0100 -Subject: [PATCH] FIXME: Disable amd64 Liberty on Ubuntu for now. - -Until we fix all cohabitation of amd64 and arm64, disable Openstack -release Liberty on Ubuntu (x86_64) in openstack.yaml fixture. - -TODO: maybe rename above fixture to include arch in name. ---- - nailgun/nailgun/fixtures/openstack.yaml | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index 4979fb5..037ceba 100644 ---- a/nailgun/nailgun/fixtures/openstack.yaml -+++ b/nailgun/nailgun/fixtures/openstack.yaml -@@ -1986,6 +1986,7 @@ - extend: *base_release - fields: - name: "Liberty on Ubuntu 14.04" -+ state: "unavailable" - version: "liberty-8.0" - arch: "amd64" - can_update_from_versions: [] diff --git a/patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch b/patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch new file mode 100644 index 00000000..00f23f60 --- /dev/null +++ b/patches/fuel-web/0005-FIXME-Disable-amd64-Mitaka-on-Ubuntu-for-now.patch @@ -0,0 +1,34 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Sat, 19 Mar 2016 19:02:15 +0100 +Subject: [PATCH] FIXME: Disable amd64 Mitaka on Ubuntu for now. + +Until we fix all cohabitation of amd64 and arm64, disable Openstack +releases <Mitaka on Ubuntu 14.04> and <Mitaka on Ubuntu+UCA 14.04> +(both x86_64) in openstack.yaml fixture. + +TODO: Propose renaming above releases to include arch in name. +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + nailgun/nailgun/fixtures/openstack.yaml | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml +index 62e6b73..7d7ffa6 100644 +--- a/nailgun/nailgun/fixtures/openstack.yaml ++++ b/nailgun/nailgun/fixtures/openstack.yaml +@@ -1977,6 +1977,7 @@ + extend: *base_release + fields: + name: "Mitaka on Ubuntu 14.04" ++ state: "unavailable" + version: "mitaka-9.0" + operating_system: "Ubuntu" + description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." +@@ -2218,6 +2219,7 @@ + extend: *ubuntu_release + fields: + name: "Mitaka on Ubuntu+UCA 14.04" ++ state: "unavailable" + version: "mitaka-9.0" + description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment." + attributes_metadata: diff --git a/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch b/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch index dacb26de..dc6c4b3e 100644 --- a/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch +++ b/patches/fuel-web/0006-Add-configuration-item-for-WSREP-SST-provider.patch @@ -12,7 +12,7 @@ Signed-off-by: Stanislaw Kardach <stanislaw.kardach@caviumnetworks.com> 1 file changed, 21 insertions(+) diff --git a/nailgun/nailgun/fixtures/openstack.yaml b/nailgun/nailgun/fixtures/openstack.yaml -index 037ceba..598cf77 100644 +index f798830..c99e91a 100644 --- a/nailgun/nailgun/fixtures/openstack.yaml +++ b/nailgun/nailgun/fixtures/openstack.yaml @@ -856,6 +856,27 @@ diff --git a/patches/opnfv-fuel/0001-Allow-customizing-Fuel-commit.patch b/patches/opnfv-fuel/0001-Allow-customizing-Fuel-commit.patch index 9ee8ead5..568f6602 100644 --- a/patches/opnfv-fuel/0001-Allow-customizing-Fuel-commit.patch +++ b/patches/opnfv-fuel/0001-Allow-customizing-Fuel-commit.patch @@ -14,8 +14,8 @@ index 667575c..30d9ccc 100644 ############################################################################## FUEL_MAIN_REPO := https://github.com/openstack/fuel-main --FUEL_MAIN_TAG = a365f05b903368225da3fea9aa42afc1d50dc9b4 -+FUEL_MAIN_TAG := +-FUEL_MAIN_TAG = stable/8.0 ++FUEL_MAIN_TAG := stable/8.0 MOS_VERSION = 8.0 OPENSTACK_VERSION = liberty-8.0 diff --git a/patches/opnfv-fuel/0010-deployment.py-stdout-not-consumed-when-deploying-cha.patch b/patches/opnfv-fuel/0010-deployment.py-stdout-not-consumed-when-deploying-cha.patch deleted file mode 100644 index 584413ec..00000000 --- a/patches/opnfv-fuel/0010-deployment.py-stdout-not-consumed-when-deploying-cha.patch +++ /dev/null @@ -1,66 +0,0 @@ -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Wed, 4 May 2016 14:27:23 +0200 -Subject: [PATCH] deployment.py: stdout not consumed when deploying changes - -During the automatic deployment, when the environment is ready to be -deployed, the deploy.py script will spawn a shell process that will -perform the command "fuel deploy-changes". The standard output of this -process is then piped to a "tee" process, which redirects the output -to the standard output of the shell process, and to a file named -cloud.log. The file is monitored by the deploy script to find out the -status of the deployment, and print it to the log file of the automatic -deployment script, including percentages for each node being -provisioned. However, the deploy script never consumes the standard -output of the shell process. If the shell process produces enough -output, its standard output buffer will fill up, thus making the tee -process block trying to write to its standard output, and the cloud.log -file will not be updated. At this point, the deploy process, which is -monitoring cloud.log, will not detect any progress in the deployment, -and eventually it will time out and assume the deployment failed, -although it might have finished fine after that. - -The solution here is to remove the "tee" process from the shell command, -and instead redirect standard output to the cloud.log file. -Another solution would be to actually parse the standard output of the -shell command from the deploy script itself, but that would require a -bit more work, as reading a line at a time might block the script. - -Finally, with this patch the cloud.log file won't be deleted unless the -shell process has already finished. - -Change-Id: I03a77be42d220b1606e48fc4ca35e22d73a6e583 -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - deploy/cloud/deployment.py | 12 +++++++++--- - 1 file changed, 9 insertions(+), 3 deletions(-) - -diff --git a/deploy/cloud/deployment.py b/deploy/cloud/deployment.py -index 306abf0..0127d2a 100644 ---- a/deploy/cloud/deployment.py -+++ b/deploy/cloud/deployment.py -@@ -101,8 +101,8 @@ class Deployment(object): - LOG_FILE = 'cloud.log' - - log('Starting deployment of environment %s' % self.env_id) -- run_proc('fuel --env %s deploy-changes | strings | tee %s' -- % (self.env_id, LOG_FILE)) -+ p = run_proc('fuel --env %s deploy-changes | strings > %s' -+ % (self.env_id, LOG_FILE)) - - ready = False - for i in range(int(self.deploy_timeout)): -@@ -119,7 +119,13 @@ class Deployment(object): - break - else: - time.sleep(SLEEP_TIME) -- delete(LOG_FILE) -+ -+ p.poll() -+ if p.returncode == None: -+ log('The process deploying the changes has not yet finished.') -+ log('''The file %s won't be deleted''' % LOG_FILE) -+ else: -+ delete(LOG_FILE) - - if ready: - log('Environment %s successfully deployed' % self.env_id) diff --git a/patches/opnfv-fuel/0012-deploy.sh-do-not-expect-a-parameter-for-h.patch b/patches/opnfv-fuel/0012-deploy.sh-do-not-expect-a-parameter-for-h.patch deleted file mode 100644 index f515aab6..00000000 --- a/patches/opnfv-fuel/0012-deploy.sh-do-not-expect-a-parameter-for-h.patch +++ /dev/null @@ -1,47 +0,0 @@ -From: Josep Puigdemont <josep.puigdemont@enea.com> -Date: Wed, 4 May 2016 14:27:23 +0200 -Subject: [PATCH] deploy.sh: do not expect a parameter for -h - -If -h was given as a parameter to the script, it would report an error -as it expected a parameter, and if it was called as the only parameter, -it would run deploy.py as if "old style" parameters had been given, thus -showing the usage for the python script, instead of the expected usage -message for this script. - -Update the usage message to include -h. - -Change-Id: I0930936962c1cb479ec4409ff114cd60a386b276 -Signed-off-by: Josep Puigdemont <josep.puigdemont@enea.com> ---- - ci/deploy.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/ci/deploy.sh b/ci/deploy.sh -index d83bba2..dc13f1c 100755 ---- a/ci/deploy.sh -+++ b/ci/deploy.sh -@@ -40,6 +40,7 @@ OPTIONS: - -f Deploy on existing Fuel master - -e Do not launch environment deployment - -F Do only create a Fuel master -+ -h Print this message and exit - -H No health check - -l Lab-name - -p Pod-name -@@ -62,6 +63,7 @@ Input parameters to the build script is: - -f Deploy on existing Fuel master - -e Do not launch environment deployment - -F Do only create a Fuel master -+-h Print this message and exit - -H Do not run fuel built in health-check after successfull deployment - -l Lab name as defined in the configuration directory, e.g. lf - -p POD name as defined in the configuration directory, e.g. pod-1 -@@ -116,7 +118,7 @@ DRY_RUN=0 - ############################################################################ - # BEGIN of main - # --while getopts "b:B:dfFHl:p:s:S:i:h:e" OPTION -+while getopts "b:B:dfFHl:p:s:S:i:he" OPTION - do - case $OPTION in - b) diff --git a/patches/opnfv-fuel/0023-deploy.py-add-multiple-bridges-support.patch b/patches/opnfv-fuel/0023-deploy.py-add-multiple-bridges-support.patch index 376a7221..37a888b4 100644 --- a/patches/opnfv-fuel/0023-deploy.py-add-multiple-bridges-support.patch +++ b/patches/opnfv-fuel/0023-deploy.py-add-multiple-bridges-support.patch @@ -43,8 +43,7 @@ index ff4582a..041ba2f 100755 check_file_exists(args.dha_file) if not args.cleanup_only: -@@ -343,7 +346,8 @@ def parse_arguments(): - check_file_exists(args.iso_file) +@@ -343,6 +346,7 @@ def parse_arguments(): log('Using image directory: %s' % args.storage_dir) create_dir_if_not_exists(args.storage_dir) - check_bridge(args.pxe_bridge, args.dha_file) |