diff options
-rwxr-xr-x | ci/deploy.sh | 10 | ||||
-rw-r--r-- | docs/release/installation/installation.instruction.rst | 28 | ||||
-rw-r--r-- | mcp/patches/pharos/0003-IPMI-Trim-netmask-from-IP-passed-to-MaaS.patch | 63 | ||||
-rw-r--r-- | mcp/scripts/lib.sh | 4 |
4 files changed, 92 insertions, 13 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh index 834ced39f..6a1d6e1e6 100755 --- a/ci/deploy.sh +++ b/ci/deploy.sh @@ -269,10 +269,12 @@ pushd "${DEPLOY_DIR}" > /dev/null [ -n "$(command -v yum)" ] && sudo yum install -y --skip-broken \ git make rsync genisoimage curl virt-install qemu-kvm util-linux -if [ "$(uname -i)" = "aarch64" ]; then - [ -n "$(command -v apt-get)" ] && sudo apt-get install -y vgabios && \ - sudo ln -sf /usr/share/vgabios/vgabios.bin /usr/share/qemu/vgabios-stdvga.bin - [ -n "$(command -v yum)" ] && sudo yum install -y --skip-broken vgabios +# For baremetal, python is indirectly required for PDF parsing +if [ "${DEPLOY_TYPE}" = 'baremetal' ]; then + [ -n "$(command -v apt-get)" ] && sudo apt-get install -y \ + python python-ipaddress python-jinja2 + [ -n "$(command -v yum)" ] && sudo yum install -y --skip-broken \ + python python-ipaddress python-jinja2 fi # Clone git submodules and apply our patches diff --git a/docs/release/installation/installation.instruction.rst b/docs/release/installation/installation.instruction.rst index 9b2c2e8c2..516b99afa 100644 --- a/docs/release/installation/installation.instruction.rst +++ b/docs/release/installation/installation.instruction.rst @@ -40,7 +40,7 @@ OPNFV, using Fuel as a deployment tool, some planning must be done. Preparations -================== +============ Prior to installation, a number of deployment specific parameters must be collected, those are: @@ -65,7 +65,7 @@ This information will be needed for the configuration procedures provided in this document. ========================================= -Hardware requirements for virtual deploys +Hardware Requirements for Virtual Deploys ========================================= The following minimum hardware requirements must be met for the virtual @@ -76,7 +76,7 @@ installation of Euphrates using Fuel: | | | +============================+========================================================+ | **1 Jumpserver** | A physical node (also called Foundation Node) that | -| | hosts a Salt Master VM and each of the VM nodes in | +| | will host a Salt Master VM and each of the VM nodes in | | | the virtual deploy | +----------------------------+--------------------------------------------------------+ | **CPU** | Minimum 1 socket with Virtualization support | @@ -88,7 +88,7 @@ installation of Euphrates using Fuel: =========================================== -Hardware requirements for baremetal deploys +Hardware Requirements for Baremetal Deploys =========================================== The following minimum hardware requirements must be met for the baremetal @@ -153,7 +153,7 @@ environment, you should think about: - Networking -- Depends on the Choose Network Topology, the network bandwidth per virtual machine, and network storage. ================================================ -Top of the rack (TOR) Configuration requirements +Top of the Rack (TOR) Configuration Requirements ================================================ The switching infrastructure provides connectivity for the OPNFV @@ -177,8 +177,22 @@ Manual configuration of the Euphrates hardware platform should be carried out according to the `OPNFV Pharos Specification <https://wiki.opnfv.org/display/pharos/Pharos+Specification>`_. +============================ +OPNFV Software Prerequisites +============================ + +The Jumpserver node should be pre-provisioned with an operating system, +according to the Pharos specification. Relevant network bridges should +also be pre-configured (e.g. admin, management, public). + +Fuel@OPNFV has been validated by CI using the following distributions +installed on the Jumpserver: + + - CentOS 7 (recommended by Pharos specification); + - Ubuntu Xenial; + ========================================== -OPNFV Software installation and deployment +OPNFV Software Installation and Deployment ========================================== This section describes the process of installing all the components needed to @@ -224,7 +238,7 @@ The installation is done automatically with the deploy script, which will: - Leverage Salt to install & configure Openstack services -Steps to start the automatic deploy +Steps to Start the Automatic Deploy =================================== These steps are common both for virtual and baremetal deploys. diff --git a/mcp/patches/pharos/0003-IPMI-Trim-netmask-from-IP-passed-to-MaaS.patch b/mcp/patches/pharos/0003-IPMI-Trim-netmask-from-IP-passed-to-MaaS.patch new file mode 100644 index 000000000..0293b6e7a --- /dev/null +++ b/mcp/patches/pharos/0003-IPMI-Trim-netmask-from-IP-passed-to-MaaS.patch @@ -0,0 +1,63 @@ +:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: +: Copyright (c) 2017 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: Fri, 27 Oct 2017 19:17:37 +0200 +Subject: [PATCH] IPMI: Trim netmask from IP passed to MaaS + +Change-Id: I683788846a716f1af6ae8aa3b25cc3a866ae0045 +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + config/installers/fuel/pod_config.yml.j2 | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/config/installers/fuel/pod_config.yml.j2 b/config/installers/fuel/pod_config.yml.j2 +index 676ead3..36bbd96 100644 +--- a/config/installers/fuel/pod_config.yml.j2 ++++ b/config/installers/fuel/pod_config.yml.j2 +@@ -90,35 +90,35 @@ parameters: + opnfv_net_tenant_vlan: {{ vlan_private }} + + opnfv_maas_node01_architecture: '{{ conf['nodes'][0]['node']['arch'] | dpkg_arch }}/generic' +- opnfv_maas_node01_power_address: {{ conf['nodes'][0]['remote_management']['address'] }} ++ opnfv_maas_node01_power_address: {{ conf['nodes'][0]['remote_management']['address'].rsplit('/')[0]}} + opnfv_maas_node01_power_type: {{ conf['nodes'][0]['remote_management']['type'] }} + opnfv_maas_node01_power_user: {{ conf['nodes'][0]['remote_management']['user'] }} + opnfv_maas_node01_power_password: {{ conf['nodes'][0]['remote_management']['pass'] }} + opnfv_maas_node01_interface_mac: '{{ conf['nodes'][0]['interfaces'][pxe_interface]['mac_address'] }}' + + opnfv_maas_node02_architecture: '{{ conf['nodes'][1]['node']['arch'] | dpkg_arch }}/generic' +- opnfv_maas_node02_power_address: {{ conf['nodes'][1]['remote_management']['address'] }} ++ opnfv_maas_node02_power_address: {{ conf['nodes'][1]['remote_management']['address'].rsplit('/')[0] }} + opnfv_maas_node02_power_type: {{ conf['nodes'][1]['remote_management']['type'] }} + opnfv_maas_node02_power_user: {{ conf['nodes'][1]['remote_management']['user'] }} + opnfv_maas_node02_power_password: {{ conf['nodes'][1]['remote_management']['pass'] }} + opnfv_maas_node02_interface_mac: '{{ conf['nodes'][1]['interfaces'][pxe_interface]['mac_address'] }}' + + opnfv_maas_node03_architecture: '{{ conf['nodes'][2]['node']['arch'] | dpkg_arch }}/generic' +- opnfv_maas_node03_power_address: {{ conf['nodes'][2]['remote_management']['address'] }} ++ opnfv_maas_node03_power_address: {{ conf['nodes'][2]['remote_management']['address'].rsplit('/')[0] }} + opnfv_maas_node03_power_type: {{ conf['nodes'][2]['remote_management']['type'] }} + opnfv_maas_node03_power_user: {{ conf['nodes'][2]['remote_management']['user'] }} + opnfv_maas_node03_power_password: {{ conf['nodes'][2]['remote_management']['pass'] }} + opnfv_maas_node03_interface_mac: '{{ conf['nodes'][2]['interfaces'][pxe_interface]['mac_address'] }}' + + opnfv_maas_node04_architecture: '{{ conf['nodes'][3]['node']['arch'] | dpkg_arch }}/generic' +- opnfv_maas_node04_power_address: {{ conf['nodes'][3]['remote_management']['address'] }} ++ opnfv_maas_node04_power_address: {{ conf['nodes'][3]['remote_management']['address'].rsplit('/')[0] }} + opnfv_maas_node04_power_type: {{ conf['nodes'][3]['remote_management']['type'] }} + opnfv_maas_node04_power_user: {{ conf['nodes'][3]['remote_management']['user'] }} + opnfv_maas_node04_power_password: {{ conf['nodes'][3]['remote_management']['pass'] }} + opnfv_maas_node04_interface_mac: '{{ conf['nodes'][3]['interfaces'][pxe_interface]['mac_address'] }}' + + opnfv_maas_node05_architecture: '{{ conf['nodes'][4]['node']['arch'] | dpkg_arch }}/generic' +- opnfv_maas_node05_power_address: {{ conf['nodes'][4]['remote_management']['address'] }} ++ opnfv_maas_node05_power_address: {{ conf['nodes'][4]['remote_management']['address'].rsplit('/')[0] }} + opnfv_maas_node05_power_type: {{ conf['nodes'][4]['remote_management']['type'] }} + opnfv_maas_node05_power_user: {{ conf['nodes'][4]['remote_management']['user'] }} + opnfv_maas_node05_power_password: {{ conf['nodes'][4]['remote_management']['pass'] }} diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 8bdb5dd57..b4d45ddd6 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -95,8 +95,8 @@ function create_vms { # AArch64: prepare arch specific arguments local virt_extra_args="" if [ "$(uname -i)" = "aarch64" ]; then - # No Cirrus VGA on AArch64, use vga std - virt_extra_args="$virt_extra_args --video=vga" + # No Cirrus VGA on AArch64, use virtio instead + virt_extra_args="$virt_extra_args --video=virtio" fi # create vms with specified options |