diff options
27 files changed, 157 insertions, 928 deletions
@@ -3,3 +3,5 @@ build.log config.mk ci/clean_cache.sh *.sw? +.tox/ +docs/_build/* diff --git a/.gitmodules b/.gitmodules index 0a84688b..44cc6d80 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "opnfv-fuel"] path = upstream/fuel url = https://gerrit.opnfv.org/gerrit/fuel - branch = stable/euphrates + branch = master @@ -2,4 +2,3 @@ host=gerrit.opnfv.org port=29418 project=armband.git -defaultbranch=master @@ -1,28 +0,0 @@ -Project Name: ARM Band -Repo name: armband -Project Category: integration and testing -Lifecycle State: Incubation -Primary Contact: Bob Monkman -Project Lead: Bob Monkman -Jira Project Name: ARM Band -Jira Project Prefix: [ARMBAND] -mailing list tag [armband] -Committers: -Bob Monkman (bob.monkman@arm.com) -Rob Dimond (robert.dimond@arm.com) -Jerin Jacob (Jerin.Jacob@cavium.com) -Vinita Gupta (Vinita.Gupta@cavium.com) -Santosh Shukla (sshukla@mvista.com) -Bin Hu (bh526r@att.com) -Aiguo Cui (ag.cui@huawei.com) -Josep Puigdemont (josep.puigdemont@enea.com) -Ciprian Barbu (Ciprian.Barbu@enea.com) -Florin Dumitrascu (florin.dumitrascu@enea.com) -Alexandru Avadanii (Alexandru.Avadanii@enea.com) -Mazdak Rajabi Nasab (Mazdak.Rajabi.Nasab@enea.com) -Cristina Pauna (cristina.pauna@enea.com) - -Link to TSC approval: http://meetbot.opnfv.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-09-08-13.59.html -Link to approval of Stanislaw, Josep, and Ciprian: http://lists.opnfv.org/pipermail/opnfv-tsc/2016-March/002322.html -Link to approval of Florin, Alexandru, Mazdak: http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2015-December/007302.html -Link to approval of Cristina: http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-September/012855.html diff --git a/INFO.yaml b/INFO.yaml new file mode 100644 index 00000000..b63e031f --- /dev/null +++ b/INFO.yaml @@ -0,0 +1,52 @@ +--- +project: 'ARM Band' +project_creation_date: '' +project_category: 'integration and testing ' +lifecycle_state: 'Incubation' +project_lead: &opnfv_armband_ptl + name: 'Bob Monkman' + email: 'bob.monkman@arm.com' + id: 'romolf99' + company: 'arm.com' + timezone: 'Unknown' +primary_contact: *opnfv_armband_ptl +issue_tracking: + type: 'jira' + url: 'https://jira.opnfv.org/projects/[ARMBAND]' + key: '[ARMBAND]' +mailing_list: + type: 'mailman2' + url: 'opnfv-tech-discuss@lists.opnfv.org' + tag: '[armband]' +realtime_discussion: + type: irc + server: 'freenode.net' + channel: '#opnfv-armband' +meetings: + - type: 'zoom+irc' + agenda: 'https://wiki.opnfv.org/display/meetings/Armband' + url: 'https://zoom.us/j/5014627785' + server: 'freenode.net' + channel: '#opnfv-armband' + repeats: 'bi-weekly' + time: '14:00 UTC' +repositories: + - 'armband' +committers: + - <<: *opnfv_armband_ptl + - name: 'Alexandru Avadanii' + email: 'Alexandru.Avadanii@enea.com' + company: 'enea.com' + id: 'AlexandruAvadanii' + - name: 'Cristina Pauna' + email: 'cristina.pauna@enea.com' + company: 'enea.com' + id: 'cristinapauna' +tsc: + # yamllint disable rule:line-length + approval: 'http://meetbot.opnfv.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-09-08-13.59.html + https://lists.opnfv.org/g/opnfv-tsc/message/002322 + https://lists.opnfv.org/g/opnfv-tech-discuss/message/7303 + https://lists.opnfv.org/g/opnfv-tech-discuss/message/12867 + https://lists.opnfv.org/g/opnfv-tsc/message/4462' + # yamllint enable rule:line-length diff --git a/armband-fuel-config.mk b/armband-fuel-config.mk index a4a0ad5e..5f85f9c7 100644 --- a/armband-fuel-config.mk +++ b/armband-fuel-config.mk @@ -17,7 +17,7 @@ F_PATCH_DIR := ${A_FUEL_BASE}/mcp/patches # To enable remote tracking, set the following var to any non-empty string. # Leaving this var empty will bind each git submodule to its saved commit. -ARMBAND_TRACK_REMOTES ?= +ARMBAND_TRACK_REMOTES ?= yes # for the patches applying purposes (empty git config in docker build container) export GIT_COMMITTER_NAME?=OPNFV Armband diff --git a/docs/conf.py b/docs/conf.py new file mode 100644 index 00000000..c175a6c5 --- /dev/null +++ b/docs/conf.py @@ -0,0 +1,15 @@ +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +from docs_conf.conf import * + +extensions = ['sphinxcontrib.httpdomain', 'sphinx.ext.autodoc', + 'sphinx.ext.viewcode', 'sphinx.ext.napoleon', + 'sphinx.ext.intersphinx'] + +intersphinx_mapping = {} +intersphinx_mapping['armband'] = ('https://opnfv-armband.readthedocs.io/en/latest/', None) diff --git a/docs/conf.yaml b/docs/conf.yaml new file mode 100644 index 00000000..68e42dfd --- /dev/null +++ b/docs/conf.yaml @@ -0,0 +1,10 @@ +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +project_cfg: opnfv +project: armband diff --git a/docs/index.rst b/docs/index.rst new file mode 100644 index 00000000..e1eb3ad0 --- /dev/null +++ b/docs/index.rst @@ -0,0 +1,17 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. +.. SPDX-License-Identifier: CC-BY-4.0 +.. (c) Open Platform for NFV Project, Inc. and its contributors + +.. _armband: + +======= +Armband +======= + +.. toctree:: + :maxdepth: 2 + + release/installation/index + release/release-notes/index + release/userguide/index diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst index 93bbc408..68ac3d98 100644 --- a/docs/release/installation/index.rst +++ b/docs/release/installation/index.rst @@ -2,14 +2,9 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Open Platform for NFV Project, Inc. and its contributors -.. _armband-release-installation-label: - -**************************************** -Installation instruction for Fuel\@OPNFV -**************************************** +.. _armband-installation: .. toctree:: - :numbered: :maxdepth: 2 installation.instruction.rst diff --git a/docs/release/installation/installation.instruction.rst b/docs/release/installation/installation.instruction.rst index 7b00cd04..417dbee0 100644 --- a/docs/release/installation/installation.instruction.rst +++ b/docs/release/installation/installation.instruction.rst @@ -2,7 +2,10 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Open Platform for NFV Project, Inc. and its contributors -======== +*********************************** +OPNFV Fuel Installation Instruction +*********************************** + Abstract ======== @@ -12,7 +15,8 @@ continuous integration, lab provisioning, and testing processes of each standard release OPNFV, such that the release can be available on both Intel Architecture-based and ARM Architecture-based servers. -The armband repo contains the patches necessary for Fuel installer to run on -aarch64 hardware. For more information on how to install the Fraser release +For more information on how to install the latest release of OPNFV when using Fuel as a deployment tool check -:ref:`fuel-release-installation-label` +`OPNFV Fuel Installation Instruction on RTD`_. + +.. _`OPNFV Fuel Installation Instruction on RTD`: https://opnfv-fuel.readthedocs.io/en/latest/release/installation diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst index 3010ff5b..ea82c70f 100644 --- a/docs/release/release-notes/index.rst +++ b/docs/release/release-notes/index.rst @@ -4,12 +4,7 @@ .. _armband-releasenotes: -***************************** -Release notes for Fuel\@OPNFV -***************************** - .. toctree:: - :numbered: :maxdepth: 2 release-notes.rst diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index 42dfc0d1..f8084f73 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -2,7 +2,10 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Open Platform for NFV Project, Inc. and its contributors -======== +************************ +OPNFV Fuel Release Notes +************************ + Abstract ======== @@ -12,7 +15,7 @@ continuous integration, lab provisioning, and testing processes of each standard release OPNFV, such that the release can be available on both Intel Architecture-based and ARM Architecture-based servers. -The armband repo contains the patches necessary for Fuel installer to run on -aarch64 hardware. For more information on Fraser release notes check -:ref:`fuel-release-notes-label` +Currently the installer supported on ``aarch64`` is OPNFV Fuel. For more +information on Fuel release notes check `OPNFV Fuel Release Notes on RTD`_. +.. _`OPNFV Fuel Release Notes on RTD`: https://opnfv-fuel.readthedocs.io/en/latest/release/release-notes diff --git a/docs/release/userguide/index.rst b/docs/release/userguide/index.rst index 58baffd3..701ed7e4 100644 --- a/docs/release/userguide/index.rst +++ b/docs/release/userguide/index.rst @@ -2,14 +2,9 @@ .. http://creativecommons.org/licenses/by/4.0 .. (c) Open Platform for NFV Project, Inc. and its contributors -.. _armband-release-userguide-label: - -************************** -User guide for Fuel\@OPNFV -************************** +.. _armband-userguide: .. toctree:: - :numbered: :maxdepth: 2 userguide.rst diff --git a/docs/release/userguide/userguide.rst b/docs/release/userguide/userguide.rst index 80d05d13..69d02983 100644 --- a/docs/release/userguide/userguide.rst +++ b/docs/release/userguide/userguide.rst @@ -1,8 +1,12 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 +.. This work is licensed under a Creative Commons Attribution 4.0 +.. International License. +.. SPDX-License-Identifier: CC-BY-4.0 .. (c) Open Platform for NFV Project, Inc. and its contributors -======== +********************* +OPNFV Fuel User Guide +********************* + Abstract ======== @@ -12,7 +16,7 @@ continuous integration, lab provisioning, and testing processes of each standard release OPNFV, such that the release can be available on both Intel Architecture-based and ARM Architecture-based servers. -The armband repo contains the patches necessary for Fuel installer to run on -aarch64 hardware. For more information on how to use Fuel@OPNFV - Fraser -release - after it was deployed check -:ref:`fuel-release-userguide-label` +For more information on how to use OPNFV Fuel latest release after it +was deployed check `OPNFV Fuel User Guide on RTD`_. + +.. _`OPNFV Fuel User Guide on RTD`: https://opnfv-fuel.readthedocs.io/en/latest/release/userguide diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 00000000..87ba3aa0 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,9 @@ +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +lfdocs-conf +sphinx_opnfv_theme diff --git a/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch b/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch deleted file mode 100644 index b98bdc95..00000000 --- a/patches/opnfv-fuel/0001-salt-formulas-Add-enable-armband-formula.patch +++ /dev/null @@ -1,198 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Guillermo Herrero <Guillermo.Herrero@enea.com> -Date: Tue, 25 Jul 2017 00:58:32 +0200 -Subject: [PATCH] salt-formulas: Add & enable armband formula - -- prereq: install qemu-efi; -- prereq: install vgabios; -- prereq: fix missing link for vgabios binary blob; -- nova conf: cpu_model=cortex-a57 (only for virtual deploys); -- nova conf: virt_type=qemu (only for virtual deploys); -- nova compute conf: virt_type=qemu (only for virtual deploys); -- nova conf: pointer_model=ps2mouse since AArch64 has no USB tablet; - -[1] https://github.com/openstack/nova/commit/f0f0953 - -Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> -Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - mcp/config/states/openstack_ha | 1 + - mcp/config/states/openstack_noha | 2 ++ - mcp/config/states/virtual_control_plane | 1 + - .../files/nova-libvirt-aarch64-rollup.diff | 27 ++++++++++++++ - mcp/salt-formulas/armband/init.sls | 7 ++++ - mcp/salt-formulas/armband/nova_config.sls | 35 +++++++++++++++++++ - mcp/salt-formulas/armband/nova_libvirt.sls | 7 ++++ - mcp/salt-formulas/armband/qemu_efi.sls | 2 ++ - mcp/salt-formulas/armband/vgabios.sls | 7 ++++ - 9 files changed, 89 insertions(+) - create mode 100644 mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff - create mode 100644 mcp/salt-formulas/armband/init.sls - create mode 100644 mcp/salt-formulas/armband/nova_config.sls - create mode 100644 mcp/salt-formulas/armband/nova_libvirt.sls - create mode 100644 mcp/salt-formulas/armband/qemu_efi.sls - create mode 100644 mcp/salt-formulas/armband/vgabios.sls - -diff --git a/mcp/config/states/openstack_ha b/mcp/config/states/openstack_ha -index 73c44bb6..4ac5d6d5 100755 ---- a/mcp/config/states/openstack_ha -+++ b/mcp/config/states/openstack_ha -@@ -52,6 +52,7 @@ salt -I 'neutron:server' state.sls neutron -b 1 - salt -I 'neutron:gateway' state.sls neutron.gateway - - salt -I 'nova:compute' state.sls nova -+wait_for 5.0 "salt -I 'nova:compute' state.sls armband" - - salt -I 'redis:cluster:role:master' state.sls redis - salt -I 'redis:server' state.sls redis -diff --git a/mcp/config/states/openstack_noha b/mcp/config/states/openstack_noha -index 70db238b..52d643df 100755 ---- a/mcp/config/states/openstack_noha -+++ b/mcp/config/states/openstack_noha -@@ -54,3 +54,5 @@ salt -I 'ceilometer:server' state.sls ceilometer - salt -I 'ceilometer:agent' state.sls ceilometer - - salt -I 'horizon:server' state.sls horizon -+ -+salt -I 'nova:compute' state.sls armband -diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane -index 18e6d1cd..64d73953 100755 ---- a/mcp/config/states/virtual_control_plane -+++ b/mcp/config/states/virtual_control_plane -@@ -27,6 +27,7 @@ if [ "${ERASE_ENV}" -eq 1 ]; then - fi - - # KVM libvirt first, VCP deployment -+wait_for 5.0 "salt -C 'kvm*' state.sls armband" - wait_for 5.0 "salt -C 'kvm*' state.sls libvirt" - - salt -C 'kvm* or cmp*' state.apply salt -diff --git a/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff -new file mode 100644 -index 00000000..1ecbf297 ---- /dev/null -+++ b/mcp/salt-formulas/armband/files/nova-libvirt-aarch64-rollup.diff -@@ -0,0 +1,27 @@ -+From: Charalampos Kominos <Charalampos.Kominos@enea.com> -+Date: Wed, 2 May 2018 14:20:47 +0200 -+Subject: [PATCH] Allow libvirt to honor root device naming -+ -+Current behaviour in upstream nova is for rootfs to be in /dev/vda -+which is the default behaviour when using virtio driver. However when -+other devices are requested either by glance or by CLI, nova ignores -+that naming and still tries to attach to vda which fails. -+ -+Manually applied in https://review.openstack.org/#/c/214314/ -+ -+JIRA: ARMBAND-376 -+ -+Signed-off-by: Charalampos Kominos <charalampos.kominos@enea.com> -+--- -+ -+--- a/nova/virt/libvirt/driver.py -++++ b/nova/virt/libvirt/driver.py -+@@ -8257,6 +8257,8 @@ -+ "Ignoring supplied device name: %(device_name)s. " -+ "Libvirt can't honour user-supplied dev names", -+ {'device_name': bdm.device_name}, instance=instance) -++ if instance.root_device_name == bdm.device_name: -++ instance.root_device_name = None -+ bdm.device_name = None -+ block_device_info = driver.get_block_device_info(instance, -+ block_device_mapping) -diff --git a/mcp/salt-formulas/armband/init.sls b/mcp/salt-formulas/armband/init.sls -new file mode 100644 -index 00000000..8a8cf2ab ---- /dev/null -+++ b/mcp/salt-formulas/armband/init.sls -@@ -0,0 +1,7 @@ -+include: -+ - armband.qemu_efi -+ - armband.vgabios -+ {%- if salt['pkg.version']('python-nova') %} -+ - armband.nova_libvirt -+ - armband.nova_config -+ {%- endif %} -diff --git a/mcp/salt-formulas/armband/nova_config.sls b/mcp/salt-formulas/armband/nova_config.sls -new file mode 100644 -index 00000000..31fa031a ---- /dev/null -+++ b/mcp/salt-formulas/armband/nova_config.sls -@@ -0,0 +1,35 @@ -+{% if grains['virtual'] == 'kvm' %} -+nova_virt_type: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^virt_type\s*=.*$' -+ - repl: "virt_type = qemu" -+nova_compute_virt_type: -+ file.replace: -+ - name: "/etc/nova/nova-compute.conf" -+ - pattern: '^virt_type\s*=.*$' -+ - repl: "virt_type = qemu" -+{% endif %} -+nova_pointer_model: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^#pointer_model\s*=.*$' -+ - repl: "pointer_model = ps2mouse" -+nova_cpu_mode: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^cpu_mode\s*=\s*host-passthrough' -+ - repl: "cpu_mode = custom" -+nova_cpu_model: -+ file.replace: -+ - name: "/etc/nova/nova.conf" -+ - pattern: '^#cpu_model\s*=.*$' -+ {% if grains['virtual'] == 'kvm' %} -+ - repl: "cpu_model = cortex-a57" -+ {% else %} -+ - repl: "cpu_model = host" -+ {% endif %} -+restart_nova-compute: -+ cmd: -+ - run -+ - name: "service nova-compute restart" -diff --git a/mcp/salt-formulas/armband/nova_libvirt.sls b/mcp/salt-formulas/armband/nova_libvirt.sls -new file mode 100644 -index 00000000..ff93db80 ---- /dev/null -+++ b/mcp/salt-formulas/armband/nova_libvirt.sls -@@ -0,0 +1,7 @@ -+nova-libvirt-aarch64-rollup: -+ file.patch: -+ - name: /usr/lib/python2.7/dist-packages -+ - source: salt://armband/files/nova-libvirt-aarch64-rollup.diff -+ - hash: False -+ - options: '-p1' -+ - unless: 'test -f /var/cache/salt/minion/files/base/armband/files/nova-libvirt-aarch64-rollup.diff && cd /usr/lib/python2.7/dist-packages && patch -p1 -R --dry-run -r - < /var/cache/salt/minion/files/base/armband/files/nova-libvirt-aarch64-rollup.diff' -diff --git a/mcp/salt-formulas/armband/qemu_efi.sls b/mcp/salt-formulas/armband/qemu_efi.sls -new file mode 100644 -index 00000000..c697dae9 ---- /dev/null -+++ b/mcp/salt-formulas/armband/qemu_efi.sls -@@ -0,0 +1,2 @@ -+qemu-efi: -+ pkg.installed -diff --git a/mcp/salt-formulas/armband/vgabios.sls b/mcp/salt-formulas/armband/vgabios.sls -new file mode 100644 -index 00000000..500c2bcf ---- /dev/null -+++ b/mcp/salt-formulas/armband/vgabios.sls -@@ -0,0 +1,7 @@ -+vgabios: -+ pkg.installed -+/usr/share/qemu: -+ file.directory -+/usr/share/qemu/vgabios-stdvga.bin: -+ file.symlink: -+ - target: "/usr/share/vgabios/vgabios.bin" diff --git a/patches/opnfv-fuel/0002-mcp-salt-formulas-armband-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0002-mcp-salt-formulas-armband-Extend-libvirt_domain.patch deleted file mode 100644 index 086cfcab..00000000 --- a/patches/opnfv-fuel/0002-mcp-salt-formulas-armband-Extend-libvirt_domain.patch +++ /dev/null @@ -1,174 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Sun, 20 Aug 2017 22:41:26 +0200 -Subject: [PATCH] mcp: salt-formulas: armband: Extend libvirt_domain - -Add new state in armband salt formula that: -* extends salt's virt libvirt_domain.jinja template with support for: - - hw_firmware_type; - - virt_machine_model; - - cpu_model; - These will later be leveraged via salt virt formula with AArch64 - specific values. -* to ensure compatibilty of `virt.purge` with NVRAM-enabled domains - at undefine time, pass down the proper flag to libvirt from virt.py. -* re-enable AArch64 bootstrap - Recent changes in salt bootstrap script from [1] whitelist a - fixed pool of known architectures. Add "arm64" to that list on the - fly, as part of `config.gather_bootstrap_script`. - NOTE: This change will be leveraged by passing a custom DEB repo to - the bootstrap script with `-R linux.enea.com/saltstack`. - -NOTE: After running this new state, salt-minion should be restarted -to pick up the changes, so we'll run it before rebooting kvm nodes. - -[1] http://bootstrap.saltstack.com - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - mcp/config/states/baremetal_init | 1 + - .../files/salt-minion-aarch64-rollup.diff | 101 ++++++++++++++++++ - mcp/salt-formulas/armband/salt_minion.sls | 7 ++ - 3 files changed, 109 insertions(+) - create mode 100644 mcp/salt-formulas/armband/files/salt-minion-aarch64-rollup.diff - create mode 100644 mcp/salt-formulas/armband/salt_minion.sls - -diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init -index 6a44b788..6f935445 100755 ---- a/mcp/config/states/baremetal_init -+++ b/mcp/config/states/baremetal_init -@@ -31,6 +31,7 @@ wait_for 5.0 "salt -C 'kvm* or cmp*' state.apply opnfv.route_wrapper" - wait_for 5.0 "salt -C 'cmp*' state.apply linux.network" - wait_for 30.0 "salt -C 'kvm* or cmp*' test.ping" - -+salt -C 'kvm*' state.apply armband.salt_minion - salt -C 'kvm* or cmp*' system.reboot - wait_for 90.0 "salt -C 'kvm* or cmp*' test.ping" - -diff --git a/mcp/salt-formulas/armband/files/salt-minion-aarch64-rollup.diff b/mcp/salt-formulas/armband/files/salt-minion-aarch64-rollup.diff -new file mode 100644 -index 00000000..9e74c240 ---- /dev/null -+++ b/mcp/salt-formulas/armband/files/salt-minion-aarch64-rollup.diff -@@ -0,0 +1,101 @@ -+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Date: Sun Aug 20 18:18:53 2017 +0200 -+Subject: [PATCH] cloud.py: Allow AArch64 arch in salt bootstrap -+ -+Recent changes in salt bootstrap script from [1] whitelist a -+fixed pool of known architectures. Add "arm64" to that list on the -+fly, as part of `config.gather_bootstrap_script`. -+ -+NOTE: This change will be leveraged by passing a custom DEB repo to -+the bootstrap script with `-R linux.enea.com/saltstack`. -+ -+[1] http://bootstrap.saltstack.com -+ -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ -+diff --git a/salt/utils/cloud.py b/salt/utils/cloud.py -+--- a/salt/utils/cloud.py -++++ b/salt/utils/cloud.py -+@@ -2772,6 +2772,9 @@ -+ if not script_content: -+ raise ValueError('No content in bootstrap script !') -+ -++ # NOTE(armband): edit bootstrap script on the fly to allow AArch64 -++ script_content = script_content.replace('"amd64")', '"amd64"|"arm64")') -++ -+ # Get the path to the built-in deploy scripts directory -+ builtin_deploy_dir = os.path.join( -+ os.path.dirname(__file__), -+-- -+ -+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Date: Sun Aug 20 18:18:53 2017 +0200 -+Subject: [PATCH] libvirt_domain.jinja: Add AArch64 support -+ -+Salt virt state relies on a Jinja template to create a libvirt -+XML definition for each new VM. -+This template needs to be extended with a few specific options -+for AArch64: -+- UEFI loader support (pflash); -+- custom machine model (e.g. 'virt-2.9'), since AArch64 defaults to -+ 'integratorcp'; -+- custom cpu model; -+ -+Allow all these to be parametrized from the salt virt formula, -+which we will also adapt to allow the params to be passed via our -+reclass model. -+ -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ -+diff --git a/salt/templates/virt/libvirt_domain.jinja b/salt/templates/virt/libvirt_domain.jinja -+--- a/salt/templates/virt/libvirt_domain.jinja -++++ b/salt/templates/virt/libvirt_domain.jinja -+@@ -3,11 +3,22 @@ -+ <vcpu>{{ cpu }}</vcpu> -+ <memory unit='KiB'>{{ mem }}</memory> -+ <os> -++ {% if custom_virt_machine %} -++ <type machine='{{ virt_machine_model }}'>hvm</type> -++ {% else %} -+ <type>hvm</type> -++ {% endif %} -++ {% if os_loader_type == 'pflash' %} -++ <loader readonly='yes' type='{{ os_loader_type }}'>{{ os_loader }}</loader> -++ <nvram>{{ os_loader_nvram }}</nvram> -++ {% endif %} -+ {% for dev in boot_dev %} -+ <boot dev='{{ dev }}' /> -+ {% endfor %} -+ </os> -++ {% if cpu_mode == 'custom' %} -++ <cpu mode='{{ cpu_model }}' check='none'/> -++ {% endif %} -+ <devices> -+ {% for diskname, disk in disks.items() %} -+ <disk type='file' device='disk'> -+-- -+ -+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Date: Sun Nov 19 02:18:53 2017 +0200 -+Subject: [PATCH] virt.py: undefine: NVRAM flag support -+ -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ -+diff --git a/salt/modules/virt.py b/salt/modules/virt.py -+--- a/salt/modules/virt.py -++++ b/salt/modules/virt.py -+@@ -1523,7 +1523,10 @@ -+ salt '*' virt.undefine <domain> -+ ''' -+ dom = _get_domain(vm_) -+- return dom.undefine() == 0 -++ try: -++ return dom.undefineFlags(libvirt.VIR_DOMAIN_UNDEFINE_NVRAM) == 0 -++ except libvirt.libvirtError: -++ return dom.undefine() == 0 -+ -+ -+ def purge(vm_, dirs=False): -diff --git a/mcp/salt-formulas/armband/salt_minion.sls b/mcp/salt-formulas/armband/salt_minion.sls -new file mode 100644 -index 00000000..cc5c9242 ---- /dev/null -+++ b/mcp/salt-formulas/armband/salt_minion.sls -@@ -0,0 +1,7 @@ -+salt-minion-aarch64-rollup: -+ file.patch: -+ - name: /usr/lib/python2.7/dist-packages -+ - source: salt://armband/files/salt-minion-aarch64-rollup.diff -+ - hash: False -+ - options: '-p1' -+ - unless: 'test -f /var/cache/salt/minion/files/base/armband/files/salt-minion-aarch64-rollup.diff && cd /usr/lib/python2.7/dist-packages && patch -p1 -R --dry-run -r - < /var/cache/salt/minion/files/base/armband/files/salt-minion-aarch64-rollup.diff' diff --git a/patches/opnfv-fuel/0003-virtng.py-virt.sls-Extend-libvirt_domain.patch b/patches/opnfv-fuel/0003-virtng.py-virt.sls-Extend-libvirt_domain.patch deleted file mode 100644 index 11abe1dd..00000000 --- a/patches/opnfv-fuel/0003-virtng.py-virt.sls-Extend-libvirt_domain.patch +++ /dev/null @@ -1,223 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Mon, 21 Aug 2017 01:10:16 +0200 -Subject: [PATCH] virtng.py, virt.sls: Extend libvirt_domain - -Extend _modules/virtng.py, salt/control/virt.sls with support for: -- hw_firmware_type; -- virt_machine_model; -- cpu_model; - -This functionality relies on the corresponding changes to be -implemented in libvirt_domain.jinja template. - -These will later be leveraged via our reclass model with AArch64 -specific values. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - ...-virtng-module-Extend-libvirt_domain.patch | 54 +++++++++++++++++++ - ...t-control-virt-Extend-libvirt_domain.patch | 51 ++++++++++++++++++ - mcp/patches/patches.list | 2 + - .../cluster/mcp-common-ha/infra/kvm.yml | 15 ++++++ - .../cluster/mcp-odl-ha/infra/kvm.yml.j2 | 3 ++ - 5 files changed, 125 insertions(+) - create mode 100644 mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch - create mode 100644 mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch - -diff --git a/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch -new file mode 100644 -index 00000000..706b67da ---- /dev/null -+++ b/mcp/patches/0103-virtng-module-Extend-libvirt_domain.patch -@@ -0,0 +1,54 @@ -+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Date: Mon, 21 Aug 2017 02:03:01 +0200 -+Subject: [PATCH] virtng: module: Extend libvirt_domain -+ -+Extend virtng.py with support for passing down new params: -+- hw_firmware_type; -+- virt_machine_model; -+- cpu_model; -+ -+This functionality relies on the corresponding changes to be -+implemented in libvirt_domain.jinja template. -+ -+These will later be leveraged via salt virt formula with AArch64 -+specific values. -+ -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ -+diff --git a/_modules/virtng.py b/_modules/virtng.py -+--- a/_modules/virtng.py -++++ b/_modules/virtng.py -+@@ -56,6 +56,10 @@ -+ -+ VIRT_DEFAULT_HYPER = 'kvm' -+ -++DEFAULT_UEFI_LOADER_PATH = { -++ "x86_64": "/usr/share/OVMF/OVMF_CODE.fd", -++ "aarch64": "/usr/share/AAVMF/AAVMF_CODE.fd" -++} -+ -+ def __virtual__(): -+ if not HAS_ALL_IMPORTS: -+@@ -227,6 +231,21 @@ -+ # TODO: make bus and model parameterized, this works for 64-bit Linux -+ context['controller_model'] = 'lsilogic' -+ -++ # TODO: limit cpu_model, hw_firmware_type, virt_machine_type to qemu/kvm -++ # FIXME: parametrize hardcoded path for NVRAM storage -++ if 'hw_firmware_type' in kwargs and kwargs['hw_firmware_type'] == 'uefi': -++ context['os_loader_type'] = 'pflash' -++ context['os_loader'] = DEFAULT_UEFI_LOADER_PATH[os.uname()[-1]] -++ context['os_loader_nvram'] = '/var/lib/libvirt/qemu/nvram/{0}_VARS.fd'.format(name) -++ -++ if 'virt_machine_model' in kwargs: -++ context['custom_virt_machine'] = True -++ context['virt_machine_model'] = kwargs['virt_machine_model'] -++ -++ if 'cpu_model' in kwargs: -++ context['cpu_mode'] = 'custom' -++ context['cpu_model'] = kwargs['cpu_model'] -++ -+ if 'boot_dev' in kwargs: -+ context['boot_dev'] = [] -+ for dev in kwargs['boot_dev'].split(): -diff --git a/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch -new file mode 100644 -index 00000000..78eb0bff ---- /dev/null -+++ b/mcp/patches/0104-salt-control-virt-Extend-libvirt_domain.patch -@@ -0,0 +1,51 @@ -+From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+Date: Mon, 21 Aug 2017 02:03:01 +0200 -+Subject: [PATCH] salt: control: virt: Extend libvirt_domain -+ -+Extend salt/control/virt.sls with support for new params: -+- hw_firmware_type; -+- virt_machine_model; -+- cpu_model; -+ -+This functionality relies on the corresponding changes to be -+implemented in libvirt_domain.jinja template, as well as in -+salt custom py module virtng.py. -+ -+These will later be leveraged via reclass model with AArch64 -+specific values. -+ -+FIXME: Move all new params to different section, as "size" is -+definitely not the best choice. -+ -+Example reclass model usage: -+salt: -+ control: -+ size: -+ openstack.example_vm_type: -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough -+ -+Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -+--- -+ -+diff --git a/salt/control/virt.sls b/salt/control/virt.sls -+--- a/salt/control/virt.sls -++++ b/salt/control/virt.sls -+@@ -44,6 +44,16 @@ -+ {%- if node.img_dest is defined %} -+ img_dest: {{ node.img_dest }} -+ {%- endif %} -++ # FIXME(armband): Move these 3 params to different section -++ {%- if size.hw_firmware_type is defined %} -++ hw_firmware_type: {{ size.hw_firmware_type }} -++ {%- endif %} -++ {%- if size.virt_machine_model is defined %} -++ virt_machine_model: {{ size.virt_machine_model }} -++ {%- endif %} -++ {%- if size.cpu_model is defined %} -++ cpu_model: {{ size.cpu_model }} -++ {%- endif %} -+ - unless: virsh list --all --name| grep -E "^{{ node_name }}.{{ cluster.domain }}$" -+ -+ #salt_control_seed_{{ cluster_name }}_{{ node_name }}: -diff --git a/mcp/patches/patches.list b/mcp/patches/patches.list -index a17fd694..6dd688ee 100644 ---- a/mcp/patches/patches.list -+++ b/mcp/patches/patches.list -@@ -11,3 +11,5 @@ - /usr/share/salt-formulas/env: 0010-maas-region-allow-timeout-override.patch - /usr/share/salt-formulas/env: 0011-system.repo-Debian-Add-keyserver-proxy-support.patch - /usr/share/salt-formulas/env: 0015-Set-ovs-bridges-as-L3-interfaces.patch -+/usr/share/salt-formulas/env: 0103-virtng-module-Extend-libvirt_domain.patch -+/usr/share/salt-formulas/env: 0104-salt-control-virt-Extend-libvirt_domain.patch -diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml -index 868f324f..73875b87 100644 ---- a/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml -+++ b/mcp/reclass/classes/cluster/mcp-common-ha/infra/kvm.yml -@@ -52,21 +52,33 @@ parameters: - openstack.control: - cpu: 4 - ram: 12288 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - openstack.database: - cpu: 4 - ram: 6144 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: large - net_profile: default - openstack.message_queue: - cpu: 4 - ram: 2048 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - openstack.telemetry: - cpu: 2 - ram: 3072 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: xxlarge - net_profile: default - # stacklight.log: -@@ -87,6 +99,9 @@ parameters: - openstack.proxy: - cpu: 2 - ram: 2048 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default_ext - cluster: -diff --git a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 -index ab0da39b..f64ed46a 100644 ---- a/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 -+++ b/mcp/reclass/classes/cluster/mcp-odl-ha/infra/kvm.yml.j2 -@@ -19,6 +19,9 @@ parameters: - opendaylight.server: - cpu: 4 - ram: 8192 -+ hw_firmware_type: uefi -+ virt_machine_model: virt -+ cpu_model: host-passthrough - disk_profile: small - net_profile: default - cluster: diff --git a/patches/opnfv-fuel/0004-Add-opnfv-user-to-the-deployment.patch b/patches/opnfv-fuel/0004-Add-opnfv-user-to-the-deployment.patch deleted file mode 100644 index f158ed40..00000000 --- a/patches/opnfv-fuel/0004-Add-opnfv-user-to-the-deployment.patch +++ /dev/null @@ -1,74 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Charalampos Kominos <Charalampos.Kominos@enea.com> -Date: Fri, 1 Sep 2017 12:24:35 +0200 -Subject: [PATCH] Add opnfv user to the deployment - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> -Signed-off-by: Guillermo Herrero <Guillermo.Herrero@enea.com> ---- - mcp/config/states/baremetal_init | 1 + - mcp/config/states/virtual_control_plane | 1 + - .../classes/cluster/all-mcp-arch-common/init.yml.j2 | 3 +++ - mcp/salt-formulas/opnfv/adduser.sls | 7 +++++++ - 4 files changed, 12 insertions(+) - create mode 100644 mcp/salt-formulas/opnfv/adduser.sls - -diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init -index 6f935445..f685ab87 100755 ---- a/mcp/config/states/baremetal_init -+++ b/mcp/config/states/baremetal_init -@@ -23,6 +23,7 @@ salt -C 'kvm* or cmp*' file.replace $debian_ip_source \ - repl="\n if not __salt__['pkg.version']('vlan'):\n __salt__['pkg.install']('vlan')" - - salt -C 'kvm* or cmp*' pkg.install bridge-utils -+salt -C 'kvm* or cmp*' state.apply opnfv.adduser - salt -C 'kvm*' state.apply linux.network,linux.system.kernel - wait_for 5.0 "salt -C 'kvm* or cmp*' state.apply salt.minion" - wait_for 5.0 "salt -C 'cmp*' state.apply linux.system" -diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane -index 64d73953..d8c4e776 100755 ---- a/mcp/config/states/virtual_control_plane -+++ b/mcp/config/states/virtual_control_plane -@@ -39,6 +39,7 @@ vcp_nodes=$(salt --out yaml 'kvm01*' pillar.get salt:control:cluster:internal:no - # Check all vcp nodes are available - wait_for 25.0 "(for n in ${vcp_nodes}; do salt \${n} test.ping 2>/dev/null || exit; done)" - -+wait_for 5.0 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply opnfv.adduser" - wait_for 10.0 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all" - - # Propagate APT proxy config created by curtin on baremetal nodes to VCP VMs -diff --git a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 -index 19475c71..1a3c84fc 100644 ---- a/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 -+++ b/mcp/reclass/classes/cluster/all-mcp-arch-common/init.yml.j2 -@@ -10,6 +10,9 @@ classes: - - cluster.all-mcp-arch-common.opnfv - parameters: - _param: -+ opnfv_user_username: opnfv -+ opnfv_user_password: $1$5/pIEHT1$XFBhNWW4Q8gYd19hczgPF1 -+ - salt_control_trusty_image: '' # Dummy value, to keep reclass 1.5.2 happy - salt_control_xenial_image: salt://salt/files/control/images/base_image_opnfv_fuel_vcp.img - -diff --git a/mcp/salt-formulas/opnfv/adduser.sls b/mcp/salt-formulas/opnfv/adduser.sls -new file mode 100644 -index 00000000..78ef993d ---- /dev/null -+++ b/mcp/salt-formulas/opnfv/adduser.sls -@@ -0,0 +1,7 @@ -+add_opnfv_user: -+ user.present: -+ - name: {{ salt['pillar.get']('_param:opnfv_user_username') }} -+ - password: {{ salt['pillar.get']('_param:opnfv_user_password') }} -+ - createhome: True -+ - groups: -+ - sudo diff --git a/patches/opnfv-fuel/0005-Set-volume-name-in-source-file-to-sdX.patch b/patches/opnfv-fuel/0005-Set-volume-name-in-source-file-to-sdX.patch deleted file mode 100644 index 0cfae945..00000000 --- a/patches/opnfv-fuel/0005-Set-volume-name-in-source-file-to-sdX.patch +++ /dev/null @@ -1,44 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Charalampos Kominos <Charalampos.Kominos@enea.com> -Date: Fri, 27 Apr 2018 14:54:22 +0200 -Subject: [PATCH] Set volume name in source file to sdX - -Signed-off-by: Charalampos Kominos <Charalampos.Kominos@enea.com> ---- - .../classes/cluster/mcp-common-ha/openstack_control.yml.j2 | 2 +- - .../classes/cluster/mcp-common-noha/openstack_control.yml | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 -index 0189e038..ea758c4b 100644 ---- a/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 -+++ b/mcp/reclass/classes/cluster/mcp-common-ha/openstack_control.yml.j2 -@@ -84,7 +84,7 @@ parameters: - <<: *db_conn_recycle_time - cacert: /etc/ssl/certs/mcp_os_cacert - openrc_extra: -- volume_device_name: vdc -+ volume_device_name: sdc - glance: - server: - <<: *db_conn_recycle_time -diff --git a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml -index f458281c..e17a5f16 100644 ---- a/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml -+++ b/mcp/reclass/classes/cluster/mcp-common-noha/openstack_control.yml -@@ -72,7 +72,7 @@ parameters: - server: - admin_email: ${_param:admin_email} - openrc_extra: -- volume_device_name: vdc -+ volume_device_name: sdc - pkgs: - - keystone - - python-psycopg2 diff --git a/patches/reclass-system-salt-model/0001-linux.system.repo-Drop-arch-for-glusterfs-repo.patch b/patches/reclass-system-salt-model/0001-linux.system.repo-Drop-arch-for-glusterfs-repo.patch deleted file mode 100644 index 1500f674..00000000 --- a/patches/reclass-system-salt-model/0001-linux.system.repo-Drop-arch-for-glusterfs-repo.patch +++ /dev/null @@ -1,35 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Mirantis Inc., Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Sun, 26 Nov 2017 17:55:13 +0100 -Subject: [PATCH] linux.system.repo: Drop arch for glusterfs repo - -Extending the arch list to 'amd64,arm64' would lead to doubling repo -metadata downloads on all archs, while dropping it will allow APT to -only download the repo metadata for the current system arch. - -To keep old behavior for amd64 and prevent multiple downloads, let's -just drop the 'architectures' field. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - linux/system/repo/glusterfs.yml | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/linux/system/repo/glusterfs.yml b/linux/system/repo/glusterfs.yml -index fb331f0f..4646c075 100644 ---- a/linux/system/repo/glusterfs.yml -+++ b/linux/system/repo/glusterfs.yml -@@ -6,6 +6,5 @@ parameters: - repo: - glusterfs-ppa: - source: "deb http://ppa.launchpad.net/gluster/glusterfs-${_param:glusterfs_version}/ubuntu ${_param:linux_system_codename} main" -- architectures: amd64 - key_id: 3FE869A9 - key_server: keyserver.ubuntu.com diff --git a/patches/reclass-system-salt-model/0002-linux.system.repo-Drop-arch-for-openstack-repo.patch b/patches/reclass-system-salt-model/0002-linux.system.repo-Drop-arch-for-openstack-repo.patch deleted file mode 100644 index 1da4a212..00000000 --- a/patches/reclass-system-salt-model/0002-linux.system.repo-Drop-arch-for-openstack-repo.patch +++ /dev/null @@ -1,40 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Mirantis Inc., Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Wed, 4 Apr 2018 20:08:55 +0200 -Subject: [PATCH] linux.system.repo: Drop arch for openstack repo - -Now that mcp-repos mirror has arm64 packages too, we can either extend -the current architecture list or just drop it and let APT figure it -out. - -Extending the arch list to 'amd64,arm64' would lead to doubling repo -metadata downloads on all archs, while dropping it will allow APT to -only download the repo metadata for the current system arch. - -To keep old behavior for amd64 and prevent multiple downloads, let's -just drop the 'architectures' field. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - linux/system/repo/mcp/openstack.yml | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/linux/system/repo/mcp/openstack.yml b/linux/system/repo/mcp/openstack.yml -index 465b75d0..8de17774 100644 ---- a/linux/system/repo/mcp/openstack.yml -+++ b/linux/system/repo/mcp/openstack.yml -@@ -7,7 +7,6 @@ parameters: - repo: - mirantis_openstack: - source: "deb http://mirror.fuel-infra.org/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename} ${_param:openstack_version} main" -- architectures: amd64 - key_url: "http://mirror.fuel-infra.org/mcp-repos/${_param:openstack_version}/${_param:linux_system_codename}/archive-mcp${_param:openstack_version}.key" - pin: - - pin: 'release l=${_param:openstack_version}' diff --git a/patches/reclass-system-salt-model/0003-linux.system.repo-Drop-arch-for-mcp.mirror-repo.patch b/patches/reclass-system-salt-model/0003-linux.system.repo-Drop-arch-for-mcp.mirror-repo.patch deleted file mode 100644 index d6dff71f..00000000 --- a/patches/reclass-system-salt-model/0003-linux.system.repo-Drop-arch-for-mcp.mirror-repo.patch +++ /dev/null @@ -1,39 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Thu, 7 Jun 2018 21:19:07 +0200 -Subject: [PATCH] linux.system.repo: Drop arch for mcp.mirror repo - -Extending the arch list to 'amd64,arm64' would lead to doubling repo -metadata downloads on all archs, while dropping it will allow APT to -only download the repo metadata for the current system arch. - -Setting the new linux_system_architectures is also problematic in the -context of mixed-architecture clusters. - -To keep old behavior for amd64 and prevent multiple downloads, let's -just drop the 'architectures' field. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - linux/system/repo/mcp/mirror/v1/openstack.yml | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/linux/system/repo/mcp/mirror/v1/openstack.yml b/linux/system/repo/mcp/mirror/v1/openstack.yml -index a4a369b2..933bf53a 100644 ---- a/linux/system/repo/mcp/mirror/v1/openstack.yml -+++ b/linux/system/repo/mcp/mirror/v1/openstack.yml -@@ -7,7 +7,6 @@ parameters: - repo: - mirantis_openstack: - source: "deb http://mirror.mirantis.com/${_param:apt_mk_version}/openstack-${_param:openstack_version}/${_param:linux_system_codename} ${_param:linux_system_codename} main" -- architectures: ${_param:linux_system_architecture} - clean_file: true - key_url: https://mirror.mirantis.com/${_param:apt_mk_version}/openstack-${_param:openstack_version}/${_param:linux_system_codename}/archive-${_param:openstack_version}.key - pin: diff --git a/patches/reclass-system-salt-model/0004-linux.system.repo-hack-Add-Pike-repos-for-Queens.patch b/patches/reclass-system-salt-model/0004-linux.system.repo-hack-Add-Pike-repos-for-Queens.patch deleted file mode 100644 index a5210b34..00000000 --- a/patches/reclass-system-salt-model/0004-linux.system.repo-hack-Add-Pike-repos-for-Queens.patch +++ /dev/null @@ -1,38 +0,0 @@ -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -: Copyright (c) 2018 Enea AB and others. -: -: All rights reserved. This program and the accompanying materials -: are made available under the terms of the Apache License, Version 2.0 -: which accompanies this distribution, and is available at -: http://www.apache.org/licenses/LICENSE-2.0 -:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> -Date: Fri, 8 Jun 2018 14:06:41 +0200 -Subject: [PATCH] linux.system.repo: hack: Add Pike repos for Queens - -Mirantis repository for Queens lacks certain packages for arm64, -try using the Pike repos to fetch them instead. - -This is a temporary workaround until the Queens repos get populated -with all required arm64 binaries. - -Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> ---- - linux/system/repo/mcp/mirror/v1/openstack.yml | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/linux/system/repo/mcp/mirror/v1/openstack.yml b/linux/system/repo/mcp/mirror/v1/openstack.yml -index 933bf53a..810589e0 100644 ---- a/linux/system/repo/mcp/mirror/v1/openstack.yml -+++ b/linux/system/repo/mcp/mirror/v1/openstack.yml -@@ -13,3 +13,10 @@ parameters: - - pin: 'release o=Mirantis' - priority: 1100 - package: '*' -+ mirantis_openstack_pike: -+ source: "deb http://mirror.fuel-infra.org/mcp-repos/pike/${_param:linux_system_codename} pike main" -+ key_url: "http://mirror.fuel-infra.org/mcp-repos/pike/${_param:linux_system_codename}/archive-mcppike.key" -+ pin: -+ - pin: 'release l=pike' -+ priority: 1100 -+ package: '*' diff --git a/tox.ini b/tox.ini new file mode 100644 index 00000000..c3299e47 --- /dev/null +++ b/tox.ini @@ -0,0 +1,22 @@ +############################################################################## +# Copyright (c) 2018 Enea AB and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +[tox] +minversion = 1.6 +envlist = + docs, + docs-linkcheck +skipsdist = true + +[testenv:docs] +deps = -rdocs/requirements.txt +commands = + sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html + +[testenv:docs-linkcheck] +deps = -rdocs/requirements.txt +commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck diff --git a/upstream/fuel b/upstream/fuel -Subproject 3831d538436cbf7c033b560b76f554a1dfe28a4 +Subproject ee1dd317ddeebc34b3c038fe8b1eca693ab3ee3 |