diff options
Diffstat (limited to 'fuel-build')
-rw-r--r-- | fuel-build/Makefile | 11 | ||||
-rwxr-xr-x | fuel-build/docker/runcontext | 3 | ||||
-rwxr-xr-x | fuel-build/f_isoroot/f_kscfg/ks.cfg | 90 | ||||
-rw-r--r-- | fuel-build/f_isoroot/f_kscfg/ks.cfg.orig | 90 | ||||
-rw-r--r-- | fuel-build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp | 9 | ||||
-rw-r--r-- | fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp | 74 | ||||
-rw-r--r-- | fuel-build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig | 75 | ||||
-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.patch | 17 | ||||
-rw-r--r-- | fuel-build/patch-packages/python-nova/Makefile | 2 | ||||
-rw-r--r-- | fuel-build/patch-packages/python-nova/nova-console.patch | 45 |
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: |