aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/deploy.sh10
-rw-r--r--docs/release/installation/installation.instruction.rst28
-rw-r--r--mcp/patches/pharos/0003-IPMI-Trim-netmask-from-IP-passed-to-MaaS.patch63
-rw-r--r--mcp/scripts/lib.sh4
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