summaryrefslogtreecommitdiffstats
path: root/foreman
diff options
context:
space:
mode:
Diffstat (limited to 'foreman')
-rwxr-xr-xforeman/ci/deploy.sh65
-rw-r--r--foreman/docs/src/release-notes.rst195
2 files changed, 246 insertions, 14 deletions
diff --git a/foreman/ci/deploy.sh b/foreman/ci/deploy.sh
index d1bb24c..49e1590 100755
--- a/foreman/ci/deploy.sh
+++ b/foreman/ci/deploy.sh
@@ -41,6 +41,28 @@ function find_ip {
ip addr show $1 | grep -Eo '^\s+inet\s+[\.0-9]+' | awk '{print $2}'
}
+##finds subnet of ip and netmask
+##params: ip, netmask
+function find_subnet {
+ IFS=. read -r i1 i2 i3 i4 <<< "$1"
+ IFS=. read -r m1 m2 m3 m4 <<< "$2"
+ printf "%d.%d.%d.%d\n" "$((i1 & m1))" "$((i2 & m2))" "$((i3 & m3))" "$((i4 & m4))"
+}
+
+##finds netmask of interface
+##params: interface
+##returns long format 255.255.x.x
+function find_netmask {
+ ifconfig $1 | grep -Eo 'netmask\s+[\.0-9]+' | awk '{print $2}'
+}
+
+##finds short netmask of interface
+##params: interface
+##returns short format, ex: /21
+function find_short_netmask {
+ echo "/$(ip addr show $1 | grep -Eo '^\s+inet\s+[\/\.0-9]+' | awk '{print $2}' | cut -d / -f2)"
+}
+
##increments next IP
##params: ip
##assumes a /24 subnet
@@ -253,7 +275,15 @@ for interface in ${output}; do
continue
fi
interface_ip_arr[$if_counter]=$new_ip
- sed -i 's/^.*eth_replace'"$if_counter"'.*$/ config.vm.network "public_network", ip: '\""$new_ip"\"', bridge: '\'"$interface"\''/' Vagrantfile
+ subnet_mask=$(find_netmask $interface)
+ if [ "$if_counter" -eq 1 ]; then
+ private_subnet_mask=$subnet_mask
+ private_short_subnet_mask=$(find_short_netmask $interface)
+ fi
+ if [ "$if_counter" -eq 3 ]; then
+ storage_subnet_mask=$subnet_mask
+ fi
+ sed -i 's/^.*eth_replace'"$if_counter"'.*$/ config.vm.network "public_network", ip: '\""$new_ip"\"', bridge: '\'"$interface"\'', netmask: '\""$subnet_mask"\"'/' Vagrantfile
((if_counter++))
done
@@ -291,8 +321,6 @@ else
sed -i 's/^.*default_gw =.*$/ default_gw = '\""$defaultgw"\"'/' Vagrantfile
fi
-sed -i 's/^.*default_gw:.*$/default_gw:'" $defaultgw"'/' opnfv_ksgen_settings.yml
-
if [ $base_config ]; then
if ! cp -f $base_config opnfv_ksgen_settings.yml; then
echo "{red}ERROR: Unable to copy $base_config to opnfv_ksgen_settings.yml${reset}"
@@ -311,12 +339,13 @@ echo "${blue}Gathering network parameters for Target System...this may take a fe
##if single node deployment all the variables will have the same ip
##interface names will be enp0s3, enp0s8, enp0s9 in chef/centos7
+sed -i 's/^.*default_gw:.*$/default_gw:'" $defaultgw"'/' opnfv_ksgen_settings.yml
+
##replace private interface parameter
##private interface will be of hosts, so we need to know the provisioned host interface name
##we add biosdevname=0, net.ifnames=0 to the kickstart to use regular interface naming convention on hosts
##replace IP for parameters with next IP that will be given to controller
if [ "$deployment_type" == "single_network" ]; then
- sed -i 's/^.*ovs_tunnel_if:.*$/ ovs_tunnel_if: eth0/' opnfv_ksgen_settings.yml
##we also need to assign IP addresses to nodes
##for single node, foreman is managing the single network, so we can't reserve them
##not supporting single network anymore for now
@@ -324,13 +353,9 @@ if [ "$deployment_type" == "single_network" ]; then
exit 0
elif [[ "$deployment_type" == "multi_network" || "$deployment_type" == "three_network" ]]; then
- sed -i 's/^.*ovs_tunnel_if:.*$/ ovs_tunnel_if: eth1/' opnfv_ksgen_settings.yml
if [ "$deployment_type" == "three_network" ]; then
- sed -i 's/^.*storage_iface:.*$/ storage_iface: eth1/' opnfv_ksgen_settings.yml
- sed -i 's/^.*network_type:.*$/ network_type: three_network/' opnfv_ksgen_settings.yml
- else
- sed -i 's/^.*storage_iface:.*$/ storage_iface: eth3/' opnfv_ksgen_settings.yml
+ sed -i 's/^.*network_type:.*$/network_type: three_network/' opnfv_ksgen_settings.yml
fi
##get ip addresses for private network on controllers to make dhcp entries
@@ -365,8 +390,10 @@ elif [[ "$deployment_type" == "multi_network" || "$deployment_type" == "three_ne
fi
done
- ##replace public_vips
+ ##replace foreman site
next_public_ip=${interface_ip_arr[2]}
+ sed -i 's/^.*foreman_url:.*$/ foreman_url:'" https:\/\/$next_public_ip"'\/api\/v2\//' opnfv_ksgen_settings.yml
+ ##replace public vips
next_public_ip=$(increment_ip $next_public_ip 10)
grep -E '*public_vip' opnfv_ksgen_settings.yml | while read -r line ; do
sed -i 's/^.*'"$line"'.*$/ '"$line $next_public_ip"'/' opnfv_ksgen_settings.yml
@@ -377,11 +404,21 @@ elif [[ "$deployment_type" == "multi_network" || "$deployment_type" == "three_ne
fi
done
+ ##replace private_network param
+ private_subnet=$(find_subnet $next_private_ip $private_subnet_mask)
+ sed -i 's/^.*private_network:.*$/ private_network:'" $private_subnet"'/' opnfv_ksgen_settings.yml
+ ##replace storage_network
+ if [ "$deployment_type" == "three_network" ]; then
+ sed -i 's/^.*storage_network:.*$/ storage_network:'" $private_subnet"'/' opnfv_ksgen_settings.yml
+ else
+ next_storage_ip=${interface_ip_arr[3]}
+ storage_subnet=$(find_subnet $next_storage_ip $storage_subnet_mask)
+ sed -i 's/^.*storage_network:.*$/ storage_network:'" $storage_subnet"'/' opnfv_ksgen_settings.yml
+ fi
+
##replace private_subnet param
- network=.0
- baseaddr="$(echo $next_private_ip | cut -d. -f1-3)"
- private_subnet=$baseaddr$network
- sed -i 's/^.*private_subnet:.*$/ private_subnet:'" $private_subnet"''"\/24"'/' opnfv_ksgen_settings.yml
+ private_subnet=$private_subnet'\'$private_short_subnet_mask
+ sed -i 's/^.*private_subnet:.*$/ private_subnet:'" $private_subnet"'/' opnfv_ksgen_settings.yml
else
printf '%s\n' 'deploy.sh: Unknown network type: $deployment_type' >&2
exit 1
diff --git a/foreman/docs/src/release-notes.rst b/foreman/docs/src/release-notes.rst
new file mode 100644
index 0000000..cb6db30
--- /dev/null
+++ b/foreman/docs/src/release-notes.rst
@@ -0,0 +1,195 @@
+:Authors: Tim Rozet (trozet@redhat.com)
+:Version: 0.1
+
+================================================================
+OPNFV Release Note for "Arno-RC2 release candidate" - Foreman/QuickStack@OPNFV
+================================================================
+
+Abstract
+========
+
+This document provides the release notes for ARNO-RC2 release candidate of Foreman/QuickStack@OPNFV.
+
+License
+=======
+All Foreman/QuickStack and "common" entities are protected by the Apache License ( http://www.apache.org/licenses/ )
+
+**Contents**
+
+1 Version History
+
+2 Important notes
+
+3 Summary
+
+4 Delivery Data
+
+5 Known Limitations, Issues and Workarounds
+
+6 Test Result
+
+7 References
+
+1 Version history
+===================
+
++--------------------+--------------------+--------------------+--------------------+
+| **Date** | **Ver.** | **Author** | **Comment** |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+| 2015-04-16 | 0.1.0 | Tim Rozet | First draft |
+| | | | |
++--------------------+--------------------+--------------------+--------------------+
+
+2 Important notes
+===================
+
+This is the first OPNFV Arno pre-release that implements the deploy stage of the OPNFV CI pipeline.
+
+Carefully follow the installation-instructions which guide a user on how to deploy OPNFV using Foreman/QuickStack installer.
+
+3 Summary
+===========
+
+Arno Foreman/QuickStack@OPNFV is an installer capable of setting up an OPNFV target system. The current definition of an OPNFV target system is OpenStack Juno upstream project versioncombined with OpenDaylight version: Helium. The system is deployed with OpenStack High Availability (HA) for most OpenStack services. OpenDaylight is deployed in non-HA form as HA is not availble for Arno release. Ceph storage is used as Cinder backend, and is the only supported storage for Arno. Ceph is setup as 3 OSDs and 3 Monitors, one OSD+Mon per Controller node.
+
+This Arno pre-release of Foreman/QuickStack@OPNFV adds the deploy stage of the OPNFV CI pipeline
+
+- Documentation is built by Jenkins
+- .iso image is built by Jenkins
+- Jenkins deploys an Foreman/QuickStack@OPNFV stack to baremetal, which includes 3 control+network nodes, and 2 compute nodes.
+
+Automatic test of the deployed system is not part of this pre-release.
+
+4 Release Data
+================
+
++--------------------------------------+--------------------------------------+
+| **Project** | Arno/genesis/bgs |
+| | |
++--------------------------------------+--------------------------------------+
+| **Repo/tag** | genesis/arno-rc2 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Release designation** | Arno RC2 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Release date** | 2015-04-23 |
+| | |
++--------------------------------------+--------------------------------------+
+| **Purpose of the delivery** | OPNFV Internal quality assurance |
+| | and CI Pipline dry-run |
+| | |
++--------------------------------------+--------------------------------------+
+
+4.1 Version change
+------------------
+
+4.1.1 Module version changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This is the first tracked version of genesis-Foreman/QuickStack. It is based on following upstream versions:
+
+- OpenStack (Juno release)
+
+- OpenDaylight Helium-SR2
+
+- CentOS 7
+
+4.1.2 Document version changes
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+This is the first tracked version of genesis-Foreman/QuickStack. It comes with the following documentation:
+
+- OPNFV Installation instructions for - Foreman/QuickStack@OPNFV - ver. 0.0.1
+- OPNFV Release Note for "Arno-RC2 release candidate" - Foreman/QuickStack@OPNFV - ver. 0.1 (this document)
+
+4.2 Reason for version
+----------------------
+4.2.1 Feature additions
+~~~~~~~~~~~~~~~~~~~~~~~
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| JIRA: BGS-4 | OPNFV base system install |
+| | using Foreman/Quickstack. |
++--------------------------------------+--------------------------------------+
+
+4.2.2 Bug corrections
+~~~~~~~~~~~~~~~~~~~~~
+
+**JIRA TICKETS:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| | |
+| | |
++--------------------------------------+--------------------------------------+
+
+4.3 Deliverables
+----------------
+
+4.3.1 Software deliverables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Foreman/QuickStack@OPNFV .iso file
+deploy.sh - Automatically deploys Target OPNFV System to Bare Metal
+
+4.3.2 Documentation deliverables
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+- OPNFV Installation instructions for - Foreman/QuickStack@OPNFV - ver. 0.0.1
+- OPNFV Release Note for "Arno-RC2 release candidate" - Foreman/QuickStack@OPNFV - ver. 0.1 (this document)
+
+5 Known Limitations, Issues and Workarounds
+============================================
+
+5.1 System Limitations
+-------------------------
+
+**Max number of blades:** 1 Foreman/QuickStack master, 3 Controllers, 20 Compute blades
+
+**Min number of blades:** 1 Foreman/QuickStack master, 1 Controller, 1 Compute blade
+
+**Storage:** Ceph is the only supported storage configuration.
+
+**Min master requirements:** At least 2048 MB of RAM
+
+
+5.2 Known issues
+-------------------
+
+**JIRA TICKETS:**
+
++--------------------------------------+--------------------------------------+
+| **JIRA REFERENCE** | **SLOGAN** |
+| | |
++--------------------------------------+--------------------------------------+
+| JIRA: BGS-13 | bridge br-ex is not auto configured |
+| | by puppet |
++--------------------------------------+--------------------------------------+
+
+5.3 Workarounds
+------------------
+**-**
+
+
+6 Test Result
+==============
+
+Foreman/QuickStack@OPNFV Arno RC2 has undergone QA test runs with the following results:
+
++--------------------------------------+--------------------------------------+
+| **TEST-SUITE** | **Results:** |
+| | |
++--------------------------------------+--------------------------------------+
+| **-** | **-** |
++--------------------------------------+--------------------------------------+
+
+
+7 References
+=============
+
+For more information on the OPNFV Arno release, please see:
+
+http://wiki.opnfv.org/release/arno