summaryrefslogtreecommitdiffstats
path: root/fuel-build
diff options
context:
space:
mode:
authorStefan K. Berg <stefan.k.berg@ericsson.com>2015-02-13 17:09:52 +0100
committerStefan K. Berg <stefan.k.berg@ericsson.com>2015-02-17 16:22:42 +0100
commitec0606c650706be7444370128624924a3dd1767e (patch)
treec36e86482c38d119bd8a06301af47fb09bc3494a /fuel-build
parent41048f09b545b34ff1ed398b1dd76aad48a98718 (diff)
Update of Fuel based build system to Fuel 6.0.1
Rebase of the build system to build Fuel from the stable/6.0 branch which currently creates Fuel 6.0.1. The Fuel baseline thus becomes: - OpenStack Juno - Ubuntu 12.04.4 - CentOS 6.5 An additional patch is added to the Fuel build system to enable a newer version of Fuel to be built under Docker (as the Ubuntu sandbox chroot is installing atd, where the post install expects upstart to be running which is not the case in the build container). Rebase of patches on top of Fuel to support 6.0.1. Change-Id: I2e884d27e1533be8d60c071a7ea9db998a4f5fea Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
Diffstat (limited to 'fuel-build')
-rw-r--r--fuel-build/Makefile11
-rwxr-xr-xfuel-build/docker/runcontext3
-rwxr-xr-xfuel-build/f_isoroot/f_kscfg/ks.cfg90
-rw-r--r--fuel-build/f_isoroot/f_kscfg/ks.cfg.orig90
-rw-r--r--fuel-build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp9
-rw-r--r--fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp74
-rw-r--r--fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig75
-rw-r--r--fuel-build/fuel-main_1.patch (renamed from fuel-build/fuel-main.patches)0
-rw-r--r--fuel-build/fuel-main_2.patch17
-rw-r--r--fuel-build/patch-packages/python-nova/Makefile2
-rw-r--r--fuel-build/patch-packages/python-nova/nova-console.patch45
11 files changed, 315 insertions, 101 deletions
diff --git a/fuel-build/Makefile b/fuel-build/Makefile
index 98b108c..eb37b4d 100644
--- a/fuel-build/Makefile
+++ b/fuel-build/Makefile
@@ -12,7 +12,7 @@
# BEGIN of variables to customize
#
SHELL = /bin/bash
-ISOSRC = file:$(shell pwd)/fuel-5.1.1.iso
+ISOSRC = file:$(shell pwd)/fuel-6.0.1.iso
ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC))
PRODUCT_NAME = "OPNFV_BGS"
VERSION = "P0000"
@@ -40,7 +40,7 @@ SUBDIRS += f_ntp
SUBCLEAN = $(addsuffix .clean,$(SUBDIRS))
.PHONY: all
-all:
+all:
@docker version >/dev/null 2>&1 || (echo 'No Docker installation available'; exit 1)
@make -C docker
@docker/runcontext $(DOCKERIMG) $(MAKE) $(MAKEFLAGS) iso
@@ -48,11 +48,14 @@ all:
$(ISOCACHE):
# Clone Fuel to non-persistent location and build
cd /tmp && git clone https://github.com/stackforge/fuel-main
- cd /tmp/fuel-main && git checkout 5.1.1
+ cd /tmp/fuel-main && git checkout stable/6.0
# Setup cgroups for docker-in-docker
sudo /root/enable_dockerx2
# Patch to fix race condition when doing "Docker-in-Docker" build
- cd /tmp/fuel-main && patch -p1 < $(TOPDIR)/fuel-main.patches
+ cd /tmp/fuel-main && patch -p1 < $(TOPDIR)/fuel-main_1.patch
+ # Patch to make the sandbox chroot in Fuel succeed with package
+ # installation in a Docker build
+ cd /tmp/fuel-main && patch -p1 < $(TOPDIR)/fuel-main_2.patch
# Remove Docker optimizations, otherwise multistrap will fail during
# Fuel build.
sudo rm -f /etc/apt/apt.conf.d/docker*
diff --git a/fuel-build/docker/runcontext b/fuel-build/docker/runcontext
index d4e8b9c..6140fa0 100755
--- a/fuel-build/docker/runcontext
+++ b/fuel-build/docker/runcontext
@@ -18,8 +18,9 @@ FROM $context
RUN date || date
RUN /root/setcontext $USER $UID $GID $HOME
EOF`
+GITROOT=`git rev-parse --show-toplevel`
CID=`echo $res | sed 's/.* //'`
-docker run --privileged=true --rm -i -t -e HOME=$HOME -u $USER -w $PWD -v ${HOME}/.ssh:${HOME}/.ssh -v $PWD:$PWD $CID "$@"
+docker run --privileged=true --rm -i -t -e HOME=$HOME -u $USER -w $PWD -v ${HOME}/.ssh:${HOME}/.ssh -v $GITROOT:$GITROOT $CID "$@"
rc=$?
docker rmi $CID > /dev/null
exit $rc
diff --git a/fuel-build/f_isoroot/f_kscfg/ks.cfg b/fuel-build/f_isoroot/f_kscfg/ks.cfg
index 8194e8d..932e9ac 100755
--- a/fuel-build/f_isoroot/f_kscfg/ks.cfg
+++ b/fuel-build/f_isoroot/f_kscfg/ks.cfg
@@ -57,7 +57,7 @@ function confirm_format {
parted -s /dev/$check_drive print
echo
read -p "Are you sure you want to erase ALL data on disk $check_drive? (y/N)" confirm_format
- if [[ "$confirm_format" == "y" ]] || [[ "$forceformat" == "yes" ]]; then
+ if [[ "$confirm_format" == "y" ]] || [[ "$confirm_format" == "Y" ]] || [[ "$forceformat" == "yes" ]]; then
return 0
else
return 1
@@ -369,54 +369,86 @@ if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
mount -o loop ${FS}/nailgun.iso ${SOURCE}
fi
-# Copying Repo to the nailgun /var/www directory
-repodir="/var/www/nailgun"
-mkdir -p ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/images ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/isolinux ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/repodata ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/Packages ${repodir}/centos/fuelweb/x86_64
-cp ${SOURCE}/.treeinfo ${repodir}/centos/fuelweb/x86_64
+OPENSTACK_VERSION=`cat ${SOURCE}/openstack_version`
+
+# ----------------------
+# UNPACKING REPOSITORIES
+# ----------------------
+
+wwwdir="/var/www/nailgun"
+repodir="${wwwdir}/${OPENSTACK_VERSION}"
+
+# Copying Centos files
+mkdir -p ${repodir}/centos/x86_64
+cp -r ${SOURCE}/images ${repodir}/centos/x86_64
+cp -r ${SOURCE}/isolinux ${repodir}/centos/x86_64
+cp -r ${SOURCE}/repodata ${repodir}/centos/x86_64
+cp -r ${SOURCE}/Packages ${repodir}/centos/x86_64
+cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
# Copying Ubuntu files
-mkdir -p ${repodir}/ubuntu/fuelweb/x86_64/images
-cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/fuelweb/x86_64/images
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/fuelweb/x86_64/images
+mkdir -p ${repodir}/ubuntu/x86_64/images
+cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/x86_64/images
+cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/x86_64/images
+
+# make links for backward compatibility
+ln -s ${repodir}/centos ${wwwdir}/centos
+ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu
# Copying bootstrap image
-mkdir -p ${repodir}/bootstrap
-cp -r ${SOURCE}/bootstrap/initramfs.img ${repodir}/bootstrap
-cp -r ${SOURCE}/bootstrap/linux ${repodir}/bootstrap
+mkdir -p ${wwwdir}/bootstrap
+cp -r ${SOURCE}/bootstrap/initramfs.img ${wwwdir}/bootstrap
+cp -r ${SOURCE}/bootstrap/linux ${wwwdir}/bootstrap
+
+# Copying target images
+cp -r ${SOURCE}/targetimages ${wwwdir}
mkdir -p /root/.ssh
chmod 700 /root/.ssh
cp ${SOURCE}/bootstrap/bootstrap.rsa /root/.ssh
chmod 600 /root/.ssh/bootstrap.rsa
-# Unpacking puppet manifests for master and slave
-cp ${SOURCE}/puppet-slave.tgz ${repodir}/
-tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/modules
-mkdir -p /etc/puppet/manifests/
-cp /etc/puppet/modules/osnailyfacter/examples/site.pp /etc/puppet/manifests/site.pp
-cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/manifests/
+# --------------------------
+# UNPACKING PUPPET MANIFESTS
+# --------------------------
+
+# create folders
+mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/
+mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/
+rm -rf /etc/puppet/modules/
+
+# TODO(ikalnitsky): investigate why we need this
+cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
+
+# place modules and manifests
+tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
+cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
+cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/${OPENSTACK_VERSION}/manifests/
+
+# make links for backward compatibility
+pushd /etc/puppet
+ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
+ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
+popd
+
cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
mkdir -p /var/lib/hiera
touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
# Deploy docker images and ctl tools if we built ISO with docker containers support
-[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${repodir}/docker
+[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${wwwdir}/docker
# Prepare local repository specification
rm /etc/yum.repos.d/CentOS*.repo
cat > /etc/yum.repos.d/nailgun.repo << EOF
[nailgun]
name=Nailgun Local Repo
-baseurl=file:/var/www/nailgun/centos/fuelweb/x86_64
+baseurl=file:/var/www/nailgun/${OPENSTACK_VERSION}/centos/x86_64
gpgcheck=0
EOF
@@ -481,7 +513,7 @@ if [ "\$first" = "yes" ]; then
ipstr="Fuel UI is available on: http://\$ip:8000"
first=no
else
- ipstr=\$(printf "%s\n%51s" "\$ipstr" "http://\$ip:8000")
+ ipstr=\$(printf "%s\n%25s%s" "\$ipstr" " " "http://\$ip:8000")
fi
done
tmpissue=\$(mktemp)
diff --git a/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig b/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig
index 8d00dff..44f9f42 100644
--- a/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig
+++ b/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig
@@ -57,7 +57,7 @@ function confirm_format {
parted -s /dev/$check_drive print
echo
read -p "Are you sure you want to erase ALL data on disk $check_drive? (y/N)" confirm_format
- if [[ "$confirm_format" == "y" ]] || [[ "$forceformat" == "yes" ]]; then
+ if [[ "$confirm_format" == "y" ]] || [[ "$confirm_format" == "Y" ]] || [[ "$forceformat" == "yes" ]]; then
return 0
else
return 1
@@ -369,54 +369,86 @@ if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then
mount -o loop ${FS}/nailgun.iso ${SOURCE}
fi
-# Copying Repo to the nailgun /var/www directory
-repodir="/var/www/nailgun"
-mkdir -p ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/images ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/isolinux ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/repodata ${repodir}/centos/fuelweb/x86_64
-cp -r ${SOURCE}/Packages ${repodir}/centos/fuelweb/x86_64
-cp ${SOURCE}/.treeinfo ${repodir}/centos/fuelweb/x86_64
+OPENSTACK_VERSION=`cat ${SOURCE}/openstack_version`
+
+# ----------------------
+# UNPACKING REPOSITORIES
+# ----------------------
+
+wwwdir="/var/www/nailgun"
+repodir="${wwwdir}/${OPENSTACK_VERSION}"
+
+# Copying Centos files
+mkdir -p ${repodir}/centos/x86_64
+cp -r ${SOURCE}/images ${repodir}/centos/x86_64
+cp -r ${SOURCE}/isolinux ${repodir}/centos/x86_64
+cp -r ${SOURCE}/repodata ${repodir}/centos/x86_64
+cp -r ${SOURCE}/Packages ${repodir}/centos/x86_64
+cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
# Copying Ubuntu files
-mkdir -p ${repodir}/ubuntu/fuelweb/x86_64/images
-cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/fuelweb/x86_64
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/fuelweb/x86_64/images
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/fuelweb/x86_64/images
+mkdir -p ${repodir}/ubuntu/x86_64/images
+cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64
+cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/x86_64/images
+cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/x86_64/images
+
+# make links for backward compatibility
+ln -s ${repodir}/centos ${wwwdir}/centos
+ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu
# Copying bootstrap image
-mkdir -p ${repodir}/bootstrap
-cp -r ${SOURCE}/bootstrap/initramfs.img ${repodir}/bootstrap
-cp -r ${SOURCE}/bootstrap/linux ${repodir}/bootstrap
+mkdir -p ${wwwdir}/bootstrap
+cp -r ${SOURCE}/bootstrap/initramfs.img ${wwwdir}/bootstrap
+cp -r ${SOURCE}/bootstrap/linux ${wwwdir}/bootstrap
+
+# Copying target images
+cp -r ${SOURCE}/targetimages ${wwwdir}
mkdir -p /root/.ssh
chmod 700 /root/.ssh
cp ${SOURCE}/bootstrap/bootstrap.rsa /root/.ssh
chmod 600 /root/.ssh/bootstrap.rsa
-# Unpacking puppet manifests for master and slave
-cp ${SOURCE}/puppet-slave.tgz ${repodir}/
-tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/modules
-mkdir -p /etc/puppet/manifests/
-cp /etc/puppet/modules/osnailyfacter/examples/site.pp /etc/puppet/manifests/site.pp
-cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/manifests/
+# --------------------------
+# UNPACKING PUPPET MANIFESTS
+# --------------------------
+
+# create folders
+mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/
+mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/
+rm -rf /etc/puppet/modules/
+
+# TODO(ikalnitsky): investigate why we need this
+cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
+
+# place modules and manifests
+tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
+cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
+cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/${OPENSTACK_VERSION}/manifests/
+
+# make links for backward compatibility
+pushd /etc/puppet
+ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
+ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
+popd
+
cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
mkdir -p /var/lib/hiera
touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
# Deploy docker images and ctl tools if we built ISO with docker containers support
-[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${repodir}/docker
+[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${wwwdir}/docker
# Prepare local repository specification
rm /etc/yum.repos.d/CentOS*.repo
cat > /etc/yum.repos.d/nailgun.repo << EOF
[nailgun]
name=Nailgun Local Repo
-baseurl=file:/var/www/nailgun/centos/fuelweb/x86_64
+baseurl=file:/var/www/nailgun/${OPENSTACK_VERSION}/centos/x86_64
gpgcheck=0
EOF
@@ -481,7 +513,7 @@ if [ "\$first" = "yes" ]; then
ipstr="Fuel UI is available on: http://\$ip:8000"
first=no
else
- ipstr=\$(printf "%s\n%51s" "\$ipstr" "http://\$ip:8000")
+ ipstr=\$(printf "%s\n%25s%s" "\$ipstr" " " "http://\$ip:8000")
fi
done
tmpissue=\$(mktemp)
diff --git a/fuel-build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp b/fuel-build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp
new file mode 100644
index 0000000..ccb3939
--- /dev/null
+++ b/fuel-build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp
@@ -0,0 +1,9 @@
+# Class: opnfv::add_packages
+#
+# Ensure added packages are installed:
+#
+
+class opnfv::add_packages {
+ if $::osfamily == 'Debian' {
+ }
+}
diff --git a/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp b/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp
index c32a92b..48c4005 100644
--- a/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp
+++ b/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp
@@ -53,8 +53,17 @@ if $::fuel_settings['nodes'] {
$base_syslog_hash = $::fuel_settings['base_syslog']
$syslog_hash = $::fuel_settings['syslog']
+ $disable_offload = $::fuel_settings['disable_offload']
+ if $disable_offload {
+ L23network::L3::Ifconfig<||> {
+ ethtool => {
+ 'K' => ['gso off', 'gro off'],
+ }
+ }
+ }
+
+ $use_neutron = $::fuel_settings['quantum']
- $use_quantum = $::fuel_settings['quantum']
if (!empty(filter_nodes($::fuel_settings['nodes'], 'role', 'ceph-osd')) or
$::fuel_settings['storage']['volumes_ceph'] or
$::fuel_settings['storage']['images_ceph'] or
@@ -66,7 +75,7 @@ if $::fuel_settings['nodes'] {
}
- if $use_quantum {
+ if $use_neutron {
prepare_network_config($::fuel_settings['network_scheme'])
#
$internal_int = get_network_role_property('management', 'interface')
@@ -77,6 +86,19 @@ if $::fuel_settings['nodes'] {
if $public_int {
$public_address = get_network_role_property('ex', 'ipaddr')
$public_netmask = get_network_role_property('ex', 'netmask')
+
+ # TODO(Xarses): remove this after completing merge of
+ # multiple-cluster-networks
+ L23network::L3::Ifconfig<| title == $public_int |> {
+ default_gateway => true
+ }
+ } else {
+ # TODO(Xarses): remove this after completing merge of
+ # multiple-cluster-networks
+ $fw_admin_int = get_network_role_property('fw-admin', 'interface')
+ L23network::L3::Ifconfig<| title == $fw_admin_int |> {
+ default_gateway => true
+ }
}
#
$storage_address = get_network_role_property('storage', 'ipaddr')
@@ -92,6 +114,13 @@ if $::fuel_settings['nodes'] {
$internal_br = $node[0]['internal_br']
$public_int = $::fuel_settings['public_interface']
$internal_int = $::fuel_settings['management_interface']
+
+ # TODO(Xarses): remove this after completing merge of
+ # multiple-cluster-networks
+ L23network::L3::Ifconfig<| title == $public_int |> {
+ default_gateway => true
+ }
+
}
}
@@ -133,6 +162,15 @@ $syslog_log_facility_murano = 'LOG_LOCAL0'
$syslog_log_facility_heat = 'LOG_LOCAL0'
$syslog_log_facility_sahara = 'LOG_LOCAL0'
$syslog_log_facility_ceilometer = 'LOG_LOCAL0'
+$syslog_log_facility_ceph = 'LOG_LOCAL0'
+
+### Monit ###
+# Monit for compute nodes.
+# If enabled, will install monit and configure its watchdogs to track
+# nova-compute/api/network (and openvswitch service, if neutron enabled)
+# at compute nodes.
+# TODO(bogdando) set to true once monit package shipped with Fuel ISO
+$use_monit = false
$nova_rate_limits = {
'POST' => 100000,
@@ -167,21 +205,33 @@ case $::operatingsystem {
class os_common {
# OPNFV check if pre_deploy.sh has been run, otherwise fail
class {'opnfv::opncheck': stage => 'opncheck' }
- if ($::fuel_settings['neutron_mellanox']) and ($::fuel_settings['storage']['iser']) {
+ if ($::fuel_settings['neutron_mellanox']) {
+ if ($::mellanox_mode != 'disabled') {
+ class { 'mellanox_openstack::ofed_recompile' :
+ stage => 'zero',
+ }
+ }
+ if ($::fuel_settings['storage']['iser']) {
class { 'mellanox_openstack::iser_rename':
- stage => 'zero',
- storage_parent => $::fuel_settings['neutron_mellanox']['storage_parent'],
- iser_interface_name => $::fuel_settings['neutron_mellanox']['iser_interface_name'],
+ stage => 'zero',
+ storage_parent => $::fuel_settings['neutron_mellanox']['storage_parent'],
+ iser_interface_name => $::fuel_settings['neutron_mellanox']['iser_interface_name'],
}
+ Class['mellanox_openstack::ofed_recompile'] -> Class['mellanox_openstack::iser_rename']
+ }
}
class {"l23network::hosts_file": stage => 'netconfig', nodes => $nodes_hash, extras => $extras_hash }
- class {'l23network': use_ovs=>$use_quantum, stage=> 'netconfig'}
- if $use_quantum {
+ class {'l23network': use_ovs=>$use_neutron, stage=> 'netconfig'}
+ if $use_neutron {
class {'advanced_node_netconfig': stage => 'netconfig' }
} else {
class {'osnailyfacter::network_setup': stage => 'netconfig'}
}
+ if ($::osfamily == 'RedHat') {
+ package {'irqbalance': ensure => present} -> service {'irqbalance': ensure => running }
+ }
+
class { 'openstack::firewall':
stage => 'openstack-firewall',
nova_vnc_ip_range => $::fuel_settings['management_network_range'],
@@ -256,6 +306,10 @@ class os_common {
}
}
+ class { 'osnailyfacter::atop':
+ stage => 'first',
+ }
+
#case $role {
# /controller/: { $hostgroup = 'controller' }
# /swift-proxy/: { $hostgroup = 'swift-proxy' }
@@ -296,7 +350,8 @@ class os_common {
}
class { 'puppet::pull' :
- master_ip => $::fuel_settings['master_ip'],
+ modules_source => $::fuel_settings['puppet_modules_source'],
+ manifests_source => $::fuel_settings['puppet_manifests_source'],
}
} # OS_COMMON ENDS
@@ -317,7 +372,6 @@ node default {
/^(ha|ha_compact)$/: {
include "osnailyfacter::cluster_ha"
class {'os_common':}
- class {'corosync::commitorder': stage=>'main'}
class {'opnfv':}
}
"rpmcache": { include osnailyfacter::rpmcache }
diff --git a/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig b/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig
index 330a699..940beda 100644
--- a/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig
+++ b/fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig
@@ -44,8 +44,17 @@ if $::fuel_settings['nodes'] {
$base_syslog_hash = $::fuel_settings['base_syslog']
$syslog_hash = $::fuel_settings['syslog']
+ $disable_offload = $::fuel_settings['disable_offload']
+ if $disable_offload {
+ L23network::L3::Ifconfig<||> {
+ ethtool => {
+ 'K' => ['gso off', 'gro off'],
+ }
+ }
+ }
+
+ $use_neutron = $::fuel_settings['quantum']
- $use_quantum = $::fuel_settings['quantum']
if (!empty(filter_nodes($::fuel_settings['nodes'], 'role', 'ceph-osd')) or
$::fuel_settings['storage']['volumes_ceph'] or
$::fuel_settings['storage']['images_ceph'] or
@@ -57,7 +66,7 @@ if $::fuel_settings['nodes'] {
}
- if $use_quantum {
+ if $use_neutron {
prepare_network_config($::fuel_settings['network_scheme'])
#
$internal_int = get_network_role_property('management', 'interface')
@@ -68,6 +77,19 @@ if $::fuel_settings['nodes'] {
if $public_int {
$public_address = get_network_role_property('ex', 'ipaddr')
$public_netmask = get_network_role_property('ex', 'netmask')
+
+ # TODO(Xarses): remove this after completing merge of
+ # multiple-cluster-networks
+ L23network::L3::Ifconfig<| title == $public_int |> {
+ default_gateway => true
+ }
+ } else {
+ # TODO(Xarses): remove this after completing merge of
+ # multiple-cluster-networks
+ $fw_admin_int = get_network_role_property('fw-admin', 'interface')
+ L23network::L3::Ifconfig<| title == $fw_admin_int |> {
+ default_gateway => true
+ }
}
#
$storage_address = get_network_role_property('storage', 'ipaddr')
@@ -83,6 +105,13 @@ if $::fuel_settings['nodes'] {
$internal_br = $node[0]['internal_br']
$public_int = $::fuel_settings['public_interface']
$internal_int = $::fuel_settings['management_interface']
+
+ # TODO(Xarses): remove this after completing merge of
+ # multiple-cluster-networks
+ L23network::L3::Ifconfig<| title == $public_int |> {
+ default_gateway => true
+ }
+
}
}
@@ -124,6 +153,15 @@ $syslog_log_facility_murano = 'LOG_LOCAL0'
$syslog_log_facility_heat = 'LOG_LOCAL0'
$syslog_log_facility_sahara = 'LOG_LOCAL0'
$syslog_log_facility_ceilometer = 'LOG_LOCAL0'
+$syslog_log_facility_ceph = 'LOG_LOCAL0'
+
+### Monit ###
+# Monit for compute nodes.
+# If enabled, will install monit and configure its watchdogs to track
+# nova-compute/api/network (and openvswitch service, if neutron enabled)
+# at compute nodes.
+# TODO(bogdando) set to true once monit package shipped with Fuel ISO
+$use_monit = false
$nova_rate_limits = {
'POST' => 100000,
@@ -156,21 +194,34 @@ case $::operatingsystem {
}
class os_common {
- if ($::fuel_settings['neutron_mellanox']) and ($::fuel_settings['storage']['iser']) {
+ if ($::fuel_settings['neutron_mellanox']) {
+ if ($::mellanox_mode != 'disabled') {
+ class { 'mellanox_openstack::ofed_recompile' :
+ stage => 'zero',
+ }
+ }
+ if ($::fuel_settings['storage']['iser']) {
class { 'mellanox_openstack::iser_rename':
- stage => 'zero',
- storage_parent => $::fuel_settings['neutron_mellanox']['storage_parent'],
- iser_interface_name => $::fuel_settings['neutron_mellanox']['iser_interface_name'],
+ stage => 'zero',
+ storage_parent => $::fuel_settings['neutron_mellanox']['storage_parent'],
+ iser_interface_name => $::fuel_settings['neutron_mellanox']['iser_interface_name'],
}
+ Class['mellanox_openstack::ofed_recompile'] -> Class['mellanox_openstack::iser_rename']
+ }
}
+
class {"l23network::hosts_file": stage => 'netconfig', nodes => $nodes_hash }
- class {'l23network': use_ovs=>$use_quantum, stage=> 'netconfig'}
- if $use_quantum {
+ class {'l23network': use_ovs=>$use_neutron, stage=> 'netconfig'}
+ if $use_neutron {
class {'advanced_node_netconfig': stage => 'netconfig' }
} else {
class {'osnailyfacter::network_setup': stage => 'netconfig'}
}
+ if ($::osfamily == 'RedHat') {
+ package {'irqbalance': ensure => present} -> service {'irqbalance': ensure => running }
+ }
+
class { 'openstack::firewall':
stage => 'openstack-firewall',
nova_vnc_ip_range => $::fuel_settings['management_network_range'],
@@ -245,6 +296,10 @@ class os_common {
}
}
+ class { 'osnailyfacter::atop':
+ stage => 'first',
+ }
+
#case $role {
# /controller/: { $hostgroup = 'controller' }
# /swift-proxy/: { $hostgroup = 'swift-proxy' }
@@ -285,7 +340,8 @@ class os_common {
}
class { 'puppet::pull' :
- master_ip => $::fuel_settings['master_ip'],
+ modules_source => $::fuel_settings['puppet_modules_source'],
+ manifests_source => $::fuel_settings['puppet_manifests_source'],
}
} # OS_COMMON ENDS
@@ -304,7 +360,6 @@ node default {
/^(ha|ha_compact)$/: {
include "osnailyfacter::cluster_ha"
class {'os_common':}
- class {'corosync::commitorder': stage=>'main'}
}
"rpmcache": { include osnailyfacter::rpmcache }
}
diff --git a/fuel-build/fuel-main.patches b/fuel-build/fuel-main_1.patch
index a982e80..a982e80 100644
--- a/fuel-build/fuel-main.patches
+++ b/fuel-build/fuel-main_1.patch
diff --git a/fuel-build/fuel-main_2.patch b/fuel-build/fuel-main_2.patch
new file mode 100644
index 0000000..0cea655
--- /dev/null
+++ b/fuel-build/fuel-main_2.patch
@@ -0,0 +1,17 @@
+*** fuel-main/sandbox.mk.orig 2015-02-13 12:12:55.362989171 +0100
+--- fuel-main/sandbox.mk 2015-02-13 14:50:39.103017653 +0100
+***************
+*** 71,77 ****
+--- 71,83 ----
+ echo "Updating apt package database"
+ sudo chroot $(SANDBOX_UBUNTU) apt-get update
+ echo "Installing additional packages: $(SANDBOX_DEB_PKGS)"
++ test -e $(SANDBOX_UBUNTU)/sbin/start.orig || mv $(SANDBOX_UBUNTU)/sbin/start $(SANDBOX_UBUNTU)/sbin/start.orig
++ echo "#!/bin/sh" > $(SANDBOX_UBUNTU)/sbin/start
++ echo "exit 0" >> $(SANDBOX_UBUNTU)/sbin/start
++ chmod 755 $(SANDBOX_UBUNTU)/sbin/start
+ test -n "$(SANDBOX_DEB_PKGS)" && sudo chroot $(SANDBOX_UBUNTU) apt-get install --yes $(SANDBOX_DEB_PKGS)
++ test -e $(SANDBOX_UBUNTU)/sbin/start.orig && (cp $(SANDBOX_UBUNTU)/sbin/start.orig $(SANDBOX_UBUNTU)/sbin/start; \
++ rm $(SANDBOX_UBUNTU)/sbin/start.orig)
+ echo "SANDBOX_UBUNTU_UP: done"
+ endef
diff --git a/fuel-build/patch-packages/python-nova/Makefile b/fuel-build/patch-packages/python-nova/Makefile
index 9bcff70..17ef1e1 100644
--- a/fuel-build/patch-packages/python-nova/Makefile
+++ b/fuel-build/patch-packages/python-nova/Makefile
@@ -22,7 +22,7 @@ clean:
.PHONY: release
release:
- ../tools/deb_unpack python-nova_2014.1.3-fuel5.1.1~mira3_all.deb $(ORIGISO)
+ ../tools/deb_unpack python-nova_*.deb $(ORIGISO)
patch -s -p0 < nova-console.patch
../tools/deb_pack $(VERSION)
@cp *.deb ../release/packages
diff --git a/fuel-build/patch-packages/python-nova/nova-console.patch b/fuel-build/patch-packages/python-nova/nova-console.patch
index a05af3b..fbc0318 100644
--- a/fuel-build/patch-packages/python-nova/nova-console.patch
+++ b/fuel-build/patch-packages/python-nova/nova-console.patch
@@ -1,17 +1,28 @@
---- package/usr/share/pyshared/nova/virt/libvirt/driver.py.org
-+++ package/usr/share/pyshared/nova/virt/libvirt/driver.py
-@@ -3280,10 +3280,10 @@
- # client app is connected. Thus we can't get away
- # with a single type=pty console. Instead we have
- # to configure two separate consoles.
-- consolelog = vconfig.LibvirtConfigGuestSerial()
-- consolelog.type = "file"
-- consolelog.source_path = self._get_console_log_path(instance)
-- guest.add_device(consolelog)
-+ #consolelog = vconfig.LibvirtConfigGuestSerial()
-+ #consolelog.type = "file"
-+ #consolelog.source_path = self._get_console_log_path(instance)
-+ #guest.add_device(consolelog)
-
- consolepty = vconfig.LibvirtConfigGuestSerial()
- consolepty.type = "pty"
+*** package/usr/share/pyshared/nova/virt/libvirt/driver.py.orig 2015-02-16 14:19:53.203052869 +0100
+--- package/usr/share/pyshared/nova/virt/libvirt/driver.py 2015-02-16 14:22:53.065017671 +0100
+***************
+*** 3959,3968 ****
+ # client app is connected. Thus we can't get away
+ # with a single type=pty console. Instead we have
+ # to configure two separate consoles.
+! consolelog = vconfig.LibvirtConfigGuestSerial()
+! consolelog.type = "file"
+! consolelog.source_path = self._get_console_log_path(instance)
+! guest.add_device(consolelog)
+
+ consolepty = vconfig.LibvirtConfigGuestSerial()
+ else:
+--- 3959,3971 ----
+ # client app is connected. Thus we can't get away
+ # with a single type=pty console. Instead we have
+ # to configure two separate consoles.
+! # Disabled by OPNFV BEGIN
+! # consolelog = vconfig.LibvirtConfigGuestSerial()
+! # consolelog.type = "file"
+! # consolelog.source_path = self._get_console_log_path(instance)
+! # guest.add_device(consolelog)
+! pass
+! # Disabled by OPNFV END
+
+ consolepty = vconfig.LibvirtConfigGuestSerial()
+ else: