diff options
author | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-09-10 14:46:28 +0200 |
---|---|---|
committer | Stefan K. Berg <stefan.k.berg@ericsson.com> | 2015-09-14 13:53:11 +0200 |
commit | 07f4e6531023cbf742e7d187c6a0ee0800b64e01 (patch) | |
tree | a03c4311c4b9ac58d4105b5c3ac4741901146e8a /fuel | |
parent | 2c06022aa12ec8fc0ac3e50de36b900c92bf9817 (diff) |
Refactoring build system to support Fuel 6.1
As Fuel 6.1 has changed both Debian package handling (fetching
repositories from Internet) as well as Puppet packaging, the support
for patching these has been disabled.
The pre-deploy logic of Fuel has been removed together with a
number of patches applied on top of a Fuel build, among them
fixes for NTP, DNS and /etc/hosts injection.
Instead, when changed default behavior is required, this will be
introduced as Fuel plugins which more cleanly integrates into the
Fuel system, and also decouples additional functionality from the
ISO build stage.
Signed-off-by: Stefan K. Berg <stefan.k.berg@ericsson.com>
Diffstat (limited to 'fuel')
55 files changed, 440 insertions, 2273 deletions
diff --git a/fuel/build/Makefile b/fuel/build/Makefile index 4acf5e2..086839d 100644 --- a/fuel/build/Makefile +++ b/fuel/build/Makefile @@ -15,7 +15,7 @@ SHELL = /bin/bash #Input args export UNIT_TEST = FALSE export INTERACTIVE = TRUE -export ISOSRC = file:$(shell pwd)/fuel-6.0.1.iso +export ISOSRC = file:$(shell pwd)/fuel-6.1.iso export ISOCACHE = $(shell pwd)/$(shell basename $(ISOSRC)) export PRODNO = "OPNFV_BGS" export REVSTATE = "P0000" @@ -37,11 +37,6 @@ export TOPDIR := $(shell pwd) #Build subclasses SUBDIRS := f_isoroot -SUBDIRS += f_opnfv_puppet -SUBDIRS += f_osnaily -SUBDIRS += f_l23network -SUBDIRS += f_resolvconf -SUBDIRS += f_ntp # f_example is only an example of how to generate a .deb package and # should not be enabled in official builds. @@ -80,19 +75,11 @@ $(ISOCACHE): @echo "fuel" `git -C /tmp/fuel-main show | grep commit | head -1 | cut -d " " -f2` >> $(VERSION_FILE) # 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_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 # Temporary patch to accomodate for new Ubuntu trusty devops keys not yet # backported to fuel 6.0 or 6.1 cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_3.patch - # Temporary patch for pidlockfile which was earlier part of python-daemon - # but in later pyhon versions is part of python-lockfile. This patch has - # not yet been backported to fuel 6.0 - cd /tmp/fuel-main/utils && patch -p0 < $(TOPDIR)/fuel-main_4.patch - + # Patch for adding dosfstools, as Fuel 6.1 is running mkfs.vfat + cd /tmp/fuel-main && patch -p0 < $(TOPDIR)/fuel-main_5.patch # Remove Docker optimizations, otherwise multistrap will fail during # Fuel build. sudo rm -f /etc/apt/apt.conf.d/docker* @@ -151,3 +138,9 @@ $(SUBCLEAN): %.clean: iso: prepare build-clean $(ISOCACHE) $(SUBDIRS) patch-packages install/install.sh iso $(ISOCACHE) $(NEWISO) $(PRODNO) $(REVSTATE) @printf "\n\nProduct ISO is $(NEWISO)\n\n" + +# Start a bash shell in docker for Makefile debugging +.PHONY: debug +debug: + @docker version >/dev/null 2>&1 || (echo 'No Docker installation available'; exit 1) + docker/runcontext $(DOCKERIMG) bash diff --git a/fuel/build/config.mk b/fuel/build/config.mk index 19f502d..0583ac5 100644 --- a/fuel/build/config.mk +++ b/fuel/build/config.mk @@ -12,7 +12,7 @@ ODL_MAIN_REPO := https://git.opendaylight.org/gerrit/p/controller.git ODL_MAIN_TAG := release/helium FUEL_MAIN_REPO := https://github.com/stackforge/fuel-main -FUEL_MAIN_TAG = stable/6.0 +FUEL_MAIN_TAG = stable/6.1 DOCKER_REPO := http://get.docker.com/builds/Linux/x86_64 DOCKER_TAG := docker-latest diff --git a/fuel/build/docker/ubuntu-builder/Dockerfile b/fuel/build/docker/ubuntu-builder/Dockerfile index 76fe401..81cdc43 100644 --- a/fuel/build/docker/ubuntu-builder/Dockerfile +++ b/fuel/build/docker/ubuntu-builder/Dockerfile @@ -14,7 +14,7 @@ RUN apt-get update RUN apt-get install -y software-properties-common python-software-properties \ make python-setuptools python-all dpkg-dev debhelper \ fuseiso git genisoimage bind9-host wget curl lintian tmux lxc iptables \ - ca-certificates sudo apt-utils lsb-release + ca-certificates sudo apt-utils lsb-release dosfstools RUN echo "ALL ALL=NOPASSWD: ALL" > /etc/sudoers.d/open-sudo RUN chmod 0440 /etc/sudoers.d/open-sudo diff --git a/fuel/build/f_isoroot/Makefile b/fuel/build/f_isoroot/Makefile index bde8e64..8a7f48a 100644 --- a/fuel/build/f_isoroot/Makefile +++ b/fuel/build/f_isoroot/Makefile @@ -8,7 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -SUBDIRS = f_predeployment f_kscfg f_bootstrap +SUBDIRS = f_kscfg f_bootstrap SUBCLEAN = $(addsuffix .clean,$(SUBDIRS)) .PHONY: all diff --git a/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh b/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh index 348ce3c..8bdf566 100755 --- a/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh +++ b/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh @@ -1,4 +1,5 @@ #!/bin/bash +FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ') function countdown() { local i @@ -47,9 +48,6 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then { kill "$pid"; wait $!; } 2>/dev/null case "$key" in $'\e') echo "Skipping Fuel Setup.." - echo -n "Applying default Fuel setings..." - fuelmenu --save-only --iface=eth0 - echo "Done!" ;; *) echo -e "\nEntering Fuel Setup..." fuelmenu @@ -57,30 +55,51 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then esac fi fi + + #Reread /etc/sysconfig/network to inform puppet of changes . /etc/sysconfig/network hostname "$HOSTNAME" -### docker stuff -images_dir="/var/www/nailgun/docker/images" +service docker start -# extract docker images -mkdir -p $images_dir $sources_dir -rm -f $images_dir/*tar -pushd $images_dir &>/dev/null +if [ -f /root/.build_images ]; then + #Fail on all errors + set -e + trap fail EXIT -echo "Extracting and loading docker images. (This may take a while)" -lrzip -d -o fuel-images.tar fuel-images.tar.lrz && tar -xf fuel-images.tar && rm -f fuel-images.tar -popd &>/dev/null -service docker start + echo "Loading Fuel base image for Docker..." + docker load -i /var/www/nailgun/docker/images/fuel-images.tar -# load docker images -for image in $images_dir/*tar ; do - echo "Loading docker image ${image}..." - docker load -i "$image" - # clean up extracted image - rm -f "$image" -done + echo "Building Fuel Docker images..." + WORKDIR=$(mktemp -d /tmp/docker-buildXXX) + SOURCE=/var/www/nailgun/docker + REPO_CONT_ID=$(docker -D run -d -p 80 -v /var/www/nailgun:/var/www/nailgun fuel/centos sh -c 'mkdir /var/www/html/os;ln -sf /var/www/nailgun/centos/x86_64 /var/www/html/os/x86_64;/usr/sbin/apachectl -DFOREGROUND') + RANDOM_PORT=$(docker port $REPO_CONT_ID 80 | cut -d':' -f2) + + for imagesource in /var/www/nailgun/docker/sources/*; do + if ! [ -f "$imagesource/Dockerfile" ]; then + echo "Skipping ${imagesource}..." + continue + fi + image=$(basename "$imagesource") + cp -R "$imagesource" $WORKDIR/$image + mkdir -p $WORKDIR/$image/etc + cp -R /etc/puppet /etc/fuel $WORKDIR/$image/etc + sed -e "s/_PORT_/${RANDOM_PORT}/" -i $WORKDIR/$image/Dockerfile + sed -e 's/production:.*/production: "docker-build"/' -i $WORKDIR/$image/etc/fuel/version.yaml + docker build -t fuel/${image}_${FUEL_RELEASE} $WORKDIR/$image + done + docker rm -f $REPO_CONT_ID + rm -rf "$WORKDIR" + + #Remove trap for normal deployment + trap - EXIT + set +e +else + echo "Loading docker images. (This may take a while)" + docker load -i /var/www/nailgun/docker/images/fuel-images.tar +fi # apply puppet puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp @@ -102,4 +121,52 @@ done shopt -u nullglob ### OPNFV addition END +# Enable updates repository +cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-updates.repo << EOF +[mos${FUEL_RELEASE}-updates] +name=mos${FUEL_RELEASE}-updates +baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/updates/ +gpgcheck=0 +skip_if_unavailable=1 +EOF + +# Enable security repository +cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-security.repo << EOF +[mos${FUEL_RELEASE}-security] +name=mos${FUEL_RELEASE}-security +baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/security/ +gpgcheck=0 +skip_if_unavailable=1 +EOF + +#Check if repo is accessible +echo "Checking for access to updates repository..." +repourl=$(grep baseurl /etc/yum.repos.d/*updates* 2>/dev/null | cut -d'=' -f2- | head -1) +if urlaccesscheck check "$repourl" ; then + UPDATE_ISSUES=0 +else + UPDATE_ISSUES=1 +fi + +if [ $UPDATE_ISSUES -eq 1 ]; then + warning="WARNING: There are issues connecting to Fuel update repository.\ +\nPlease fix your connection and update this node with \`yum update\`\ +\nThen run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\ +\nto repeat bootstrap on Fuel Master with the latest updates.\ +\nFor more information, check out Fuel documentation at:\ +\nhttp://docs.mirantis.com/fuel" +else + warning="WARNING: There may be updates available for Fuel.\ +\nYou should update this node with \`yum update\`. If there are available\ +\n updates, run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\ +\nto repeat bootstrap on Fuel Master with the latest updates.\ +\nFor more information, check out Fuel documentation at:\ +\nhttp://docs.mirantis.com/fuel" +fi +echo +echo "*************************************************" +echo -e "$warning" +echo "*************************************************" +echo "Sending notification to Fuel UI..." +fuel notify --topic warning --send "$warning" echo "Fuel node deployment complete!" diff --git a/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig b/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig index 7b6e6bd..8d21c1e 100755 --- a/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig +++ b/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig @@ -1,4 +1,5 @@ #!/bin/bash +FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ') function countdown() { local i @@ -37,9 +38,6 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then { kill "$pid"; wait $!; } 2>/dev/null case "$key" in $'\e') echo "Skipping Fuel Setup.." - echo -n "Applying default Fuel setings..." - fuelmenu --save-only --iface=eth0 - echo "Done!" ;; *) echo -e "\nEntering Fuel Setup..." fuelmenu @@ -47,30 +45,51 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then esac fi fi + + #Reread /etc/sysconfig/network to inform puppet of changes . /etc/sysconfig/network hostname "$HOSTNAME" -### docker stuff -images_dir="/var/www/nailgun/docker/images" +service docker start -# extract docker images -mkdir -p $images_dir $sources_dir -rm -f $images_dir/*tar -pushd $images_dir &>/dev/null +if [ -f /root/.build_images ]; then + #Fail on all errors + set -e + trap fail EXIT -echo "Extracting and loading docker images. (This may take a while)" -lrzip -d -o fuel-images.tar fuel-images.tar.lrz && tar -xf fuel-images.tar && rm -f fuel-images.tar -popd &>/dev/null -service docker start + echo "Loading Fuel base image for Docker..." + docker load -i /var/www/nailgun/docker/images/fuel-images.tar + + echo "Building Fuel Docker images..." + WORKDIR=$(mktemp -d /tmp/docker-buildXXX) + SOURCE=/var/www/nailgun/docker + REPO_CONT_ID=$(docker -D run -d -p 80 -v /var/www/nailgun:/var/www/nailgun fuel/centos sh -c 'mkdir /var/www/html/os;ln -sf /var/www/nailgun/centos/x86_64 /var/www/html/os/x86_64;/usr/sbin/apachectl -DFOREGROUND') + RANDOM_PORT=$(docker port $REPO_CONT_ID 80 | cut -d':' -f2) + + for imagesource in /var/www/nailgun/docker/sources/*; do + if ! [ -f "$imagesource/Dockerfile" ]; then + echo "Skipping ${imagesource}..." + continue + fi + image=$(basename "$imagesource") + cp -R "$imagesource" $WORKDIR/$image + mkdir -p $WORKDIR/$image/etc + cp -R /etc/puppet /etc/fuel $WORKDIR/$image/etc + sed -e "s/_PORT_/${RANDOM_PORT}/" -i $WORKDIR/$image/Dockerfile + sed -e 's/production:.*/production: "docker-build"/' -i $WORKDIR/$image/etc/fuel/version.yaml + docker build -t fuel/${image}_${FUEL_RELEASE} $WORKDIR/$image + done + docker rm -f $REPO_CONT_ID + rm -rf "$WORKDIR" -# load docker images -for image in $images_dir/*tar ; do - echo "Loading docker image ${image}..." - docker load -i "$image" - # clean up extracted image - rm -f "$image" -done + #Remove trap for normal deployment + trap - EXIT + set +e +else + echo "Loading docker images. (This may take a while)" + docker load -i /var/www/nailgun/docker/images/fuel-images.tar +fi # apply puppet puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp @@ -81,4 +100,53 @@ rmdir /var/log/remote && ln -s /var/log/docker-logs/remote /var/log/remote dockerctl check || fail bash /etc/rc.local + +# Enable updates repository +cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-updates.repo << EOF +[mos${FUEL_RELEASE}-updates] +name=mos${FUEL_RELEASE}-updates +baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/updates/ +gpgcheck=0 +skip_if_unavailable=1 +EOF + +# Enable security repository +cat > /etc/yum.repos.d/mos${FUEL_RELEASE}-security.repo << EOF +[mos${FUEL_RELEASE}-security] +name=mos${FUEL_RELEASE}-security +baseurl=http://mirror.fuel-infra.org/mos/centos-6/mos${FUEL_RELEASE}/security/ +gpgcheck=0 +skip_if_unavailable=1 +EOF + +#Check if repo is accessible +echo "Checking for access to updates repository..." +repourl=$(grep baseurl /etc/yum.repos.d/*updates* 2>/dev/null | cut -d'=' -f2- | head -1) +if urlaccesscheck check "$repourl" ; then + UPDATE_ISSUES=0 +else + UPDATE_ISSUES=1 +fi + +if [ $UPDATE_ISSUES -eq 1 ]; then + warning="WARNING: There are issues connecting to Fuel update repository.\ +\nPlease fix your connection and update this node with \`yum update\`\ +\nThen run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\ +\nto repeat bootstrap on Fuel Master with the latest updates.\ +\nFor more information, check out Fuel documentation at:\ +\nhttp://docs.mirantis.com/fuel" +else + warning="WARNING: There may be updates available for Fuel.\ +\nYou should update this node with \`yum update\`. If there are available\ +\n updates, run \`dockerctl destroy all; bootstrap_admin_node.sh;\`\ +\nto repeat bootstrap on Fuel Master with the latest updates.\ +\nFor more information, check out Fuel documentation at:\ +\nhttp://docs.mirantis.com/fuel" +fi +echo +echo "*************************************************" +echo -e "$warning" +echo "*************************************************" +echo "Sending notification to Fuel UI..." +fuel notify --topic warning --send "$warning" echo "Fuel node deployment complete!" diff --git a/fuel/build/f_isoroot/f_kscfg/ks.cfg b/fuel/build/f_isoroot/f_kscfg/ks.cfg index 508f044..12cd1ab 100755..100644 --- a/fuel/build/f_isoroot/f_kscfg/ks.cfg +++ b/fuel/build/f_isoroot/f_kscfg/ks.cfg @@ -26,10 +26,12 @@ skipx drives="" removable_drives="" for drv in `ls -1 /sys/block | grep "sd\|hd\|vd\|cciss"`; do - if (grep -q 0 /sys/block/${drv}/removable); then - drives="${drives} ${drv}" - else - removable_drives="${removable_drives} ${drv}" + if !(blkid | grep -q "${drv}.*Fuel"); then + if (grep -q 0 /sys/block/${drv}/removable); then + drives="${drives} ${drv}" + else + removable_drives="${removable_drives} ${drv}" + fi fi done default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'` @@ -152,9 +154,9 @@ if [ "$format_confirmed" != "yes" ] ; then chvt 1 fi -# verify tgtdrive is at least 30GB +# verify tgtdrive is at least 41GB tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size") / 2 / 1024 )) -if [ $tgtdrivesize -lt 30720 ]; then +if [ $tgtdrivesize -lt 41984 ]; then exec < /dev/tty3 > /dev/tty3 2>&1 chvt 3 clear @@ -162,7 +164,7 @@ if [ $tgtdrivesize -lt 30720 ]; then echo '********************************************************************' echo '* E R R O R *' echo '* *' - echo '* Your disk is under 30GB in size. Installation cannot continue. *' + echo '* Your disk is under 41GB in size. Installation cannot continue. *' echo '* Restart installation with a larger disk. *' echo '* *' echo '********************************************************************' @@ -175,7 +177,9 @@ fi tgtdrive=$(echo $tgtdrive | sed -e 's/!/\//') # source -if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then +if test -e /dev/disk/by-label/"OpenStack_Fuel"; then + echo "harddrive --partition=LABEL="OpenStack_Fuel" --dir=/" > /tmp/source.ks +elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then echo "harddrive --partition=UUID=will_be_substituted_with_actual_uuid --dir=/" > /tmp/source.ks else echo "cdrom" > /tmp/source.ks @@ -204,16 +208,18 @@ else fi echo > /tmp/partition.ks echo "partition /boot --onpart=/dev/${bootdev}3" >> /tmp/partition.ks -echo "partition pv.001 --ondisk=${tgtdrive} --size=30000 --grow" >> /tmp/partition.ks +echo "partition /boot/efi --onpart=/dev/${bootdev}2" >> /tmp/partition.ks +echo "partition pv.001 --ondisk=${tgtdrive} --size=41000 --grow" >> /tmp/partition.ks echo "volgroup os pv.001" >> /tmp/partition.ks echo "logvol swap --vgname=os --recommended --name=swap" >> /tmp/partition.ks echo "logvol / --vgname=os --size=10000 --name=root --fstype=ext4" >> /tmp/partition.ks -echo "logvol /var --vgname=os --size=10000 --percent 60 --grow --name=var --fstype=ext4" >> /tmp/partition.ks -echo "logvol /var/log --vgname=os --size=4096 --percent 40 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks +echo "logvol /var --vgname=os --size=10000 --percent 30 --grow --name=var --fstype=ext4" >> /tmp/partition.ks +echo "logvol /var/lib/docker --vgname=os --size=17000 --percent 20 --grow --name=varlibdocker --fstype=ext4" >> /tmp/partition.ks +echo "logvol /var/log --vgname=os --size=4096 --percent 50 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks # bootloader -echo "bootloader --location=mbr --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks +echo "bootloader --location=partition --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks # Anaconda can not install grub 0.97 on disks which are >4T. # The reason is that grub does not support such large geometries @@ -233,6 +239,9 @@ echo "cat /tmp/grub.script | chroot /mnt/sysimage /sbin/grub --no-floppy --batch %packages --nobase --excludedocs @Core +fuel +fuel-library +fuel-dockerctl authconfig bind-utils cronie @@ -241,7 +250,12 @@ curl daemonize dhcp docker-io +fuel-bootstrap-image +fuel-createmirror +fuel-target-centos-images +fuel-package-updates fuelmenu +fuel-docker-images gdisk lrzip lsof @@ -249,8 +263,10 @@ man mlocate nmap-ncat ntp +ntpdate openssh-clients policycoreutils +python-daemon rsync ruby21-puppet ruby21-rubygem-netaddr @@ -266,6 +282,7 @@ vim-enhanced virt-what wget yum +yum-plugin-priorities %include /tmp/post_partition.ks @@ -285,6 +302,8 @@ echo -e "* soft core unlimited\n* hard core unlimited" >> /etc/security/limits.c %post --nochroot --log=/mnt/sysimage/root/anaconda-post-before-chroot.log #!/bin/sh +set -x + SOURCE="/mnt/sysimage/tmp/source" for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done @@ -342,6 +361,7 @@ function save_cfg { else echo GATEWAY=$gw >> /etc/sysconfig/network fi + [ -n "$build_images" -a "$build_images" != "0" ] && echo -e "$build_images" > /root/.build_images } # Default FQDN @@ -356,6 +376,7 @@ gw=$gw device="eth0" hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'` dhcp_interface=$dhcp_interface +build_images=$build_images save_cfg # Mounting installation source @@ -366,7 +387,9 @@ echo mkdir -p ${SOURCE} mkdir -p ${FS} -if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then +if test -e /dev/disk/by-label/"OpenStack_Fuel"; then + mount /dev/disk/by-label/"OpenStack_Fuel" ${SOURCE} +elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then mount /dev/disk/by-uuid/will_be_substituted_with_actual_uuid ${FS} mount -o loop ${FS}/nailgun.iso ${SOURCE} fi @@ -390,61 +413,47 @@ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64 # Copying Ubuntu files 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 + +# We do not ship debian-installer kernel and initrd on ISO. +# But we still need to be able to create ubuntu cobbler distro +# which requires kernel and initrd to be available. So, we +# just touch these files to work around cobbler's limitation. +touch ${repodir}/ubuntu/x86_64/images/linux +touch ${repodir}/ubuntu/x86_64/images/initrd.gz # make links for backward compatibility ln -s ${repodir}/centos ${wwwdir}/centos ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu -# Copying bootstrap image -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 # -------------------------- # create folders -mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/ -mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/ -rm -rf /etc/puppet/modules/ +#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}/ +#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 +#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 +#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 ${wwwdir}/docker - # Prepare local repository specification rm /etc/yum.repos.d/CentOS*.repo cat > /etc/yum.repos.d/nailgun.repo << EOF @@ -461,6 +470,24 @@ sed -i 's/^enabled.*/enabled=0/' /etc/yum/pluginconf.d/subscription-manager.conf # Disable GSSAPI in ssh server config sed -i -e "/^\s*GSSAPICleanupCredentials yes/d" -e "/^\s*GSSAPIAuthentication yes/d" /etc/ssh/sshd_config +# Enable MOTD banner in sshd +sed -i -e "s/^\s*PrintMotd no/PrintMotd yes/g" /etc/ssh/sshd_config + +# Add note regarding local repos creation to MOTD +cat >> /etc/motd << EOF + +All environments use online repositories by default. +Use the following commands to create local repositories +on master node and change default repository settings: + +* CentOS: fuel-package-updates (see --help for options) +* Ubuntu: fuel-createmirror (see --help for options) + +Please refer to the following guide for more information: +https://docs.mirantis.com/openstack/fuel/fuel-6.1/reference-architecture.html#fuel-rep-mirror + +EOF + # Copying bootstrap_admin_node.sh, chmod it and # adding /etc/init/bootstrap_admin_node.conf cp ${SOURCE}/bootstrap_admin_node.sh /usr/local/sbin/bootstrap_admin_node.sh @@ -546,10 +573,7 @@ rm -rf ${SOURCE} umount -f ${FS} || true rm -rf ${FS} -# Enabling/configuring NTPD and ntpdate services -echo "server 127.127.1.0" >> /etc/ntp.conf -echo "fudge 127.127.1.0 stratum 10" >> /etc/ntp.conf -echo "tos orphan 7" >> /etc/ntp.conf +echo "tos orphan 7" >> /etc/ntp.conf # Do not show error message on ntpdate failure. Customers should not be confused # if admin node does not have access to the internet time servers. @@ -571,4 +595,4 @@ cp -f /etc/skel/.bash* /root/ # Blacklist i2c_piix4 module for VirtualBox so it does not create kernel errors [[ $(virt-what) = "virtualbox" ]] && echo "blacklist i2c_piix4" > /etc/modprobe.d/blacklist-i2c-piix4.conf -%end +%end
\ No newline at end of file diff --git a/fuel/build/f_isoroot/f_kscfg/ks.cfg.orig b/fuel/build/f_isoroot/f_kscfg/ks.cfg.orig index bddf99c..cf8cf80 100644 --- a/fuel/build/f_isoroot/f_kscfg/ks.cfg.orig +++ b/fuel/build/f_isoroot/f_kscfg/ks.cfg.orig @@ -26,10 +26,12 @@ skipx drives="" removable_drives="" for drv in `ls -1 /sys/block | grep "sd\|hd\|vd\|cciss"`; do - if (grep -q 0 /sys/block/${drv}/removable); then - drives="${drives} ${drv}" - else - removable_drives="${removable_drives} ${drv}" + if !(blkid | grep -q "${drv}.*Fuel"); then + if (grep -q 0 /sys/block/${drv}/removable); then + drives="${drives} ${drv}" + else + removable_drives="${removable_drives} ${drv}" + fi fi done default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'` @@ -152,9 +154,9 @@ if [ "$format_confirmed" != "yes" ] ; then chvt 1 fi -# verify tgtdrive is at least 30GB +# verify tgtdrive is at least 41GB tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size") / 2 / 1024 )) -if [ $tgtdrivesize -lt 30720 ]; then +if [ $tgtdrivesize -lt 41984 ]; then exec < /dev/tty3 > /dev/tty3 2>&1 chvt 3 clear @@ -162,7 +164,7 @@ if [ $tgtdrivesize -lt 30720 ]; then echo '********************************************************************' echo '* E R R O R *' echo '* *' - echo '* Your disk is under 30GB in size. Installation cannot continue. *' + echo '* Your disk is under 41GB in size. Installation cannot continue. *' echo '* Restart installation with a larger disk. *' echo '* *' echo '********************************************************************' @@ -175,7 +177,9 @@ fi tgtdrive=$(echo $tgtdrive | sed -e 's/!/\//') # source -if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then +if test -e /dev/disk/by-label/"OpenStack_Fuel"; then + echo "harddrive --partition=LABEL="OpenStack_Fuel" --dir=/" > /tmp/source.ks +elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then echo "harddrive --partition=UUID=will_be_substituted_with_actual_uuid --dir=/" > /tmp/source.ks else echo "cdrom" > /tmp/source.ks @@ -204,16 +208,18 @@ else fi echo > /tmp/partition.ks echo "partition /boot --onpart=/dev/${bootdev}3" >> /tmp/partition.ks -echo "partition pv.001 --ondisk=${tgtdrive} --size=30000 --grow" >> /tmp/partition.ks +echo "partition /boot/efi --onpart=/dev/${bootdev}2" >> /tmp/partition.ks +echo "partition pv.001 --ondisk=${tgtdrive} --size=41000 --grow" >> /tmp/partition.ks echo "volgroup os pv.001" >> /tmp/partition.ks echo "logvol swap --vgname=os --recommended --name=swap" >> /tmp/partition.ks echo "logvol / --vgname=os --size=10000 --name=root --fstype=ext4" >> /tmp/partition.ks -echo "logvol /var --vgname=os --size=10000 --percent 60 --grow --name=var --fstype=ext4" >> /tmp/partition.ks -echo "logvol /var/log --vgname=os --size=4096 --percent 40 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks +echo "logvol /var --vgname=os --size=10000 --percent 30 --grow --name=var --fstype=ext4" >> /tmp/partition.ks +echo "logvol /var/lib/docker --vgname=os --size=17000 --percent 20 --grow --name=varlibdocker --fstype=ext4" >> /tmp/partition.ks +echo "logvol /var/log --vgname=os --size=4096 --percent 50 --grow --name=varlog --fstype=ext4" >> /tmp/partition.ks # bootloader -echo "bootloader --location=mbr --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks +echo "bootloader --location=partition --driveorder=${tgtdrive} --append=' biosdevname=0 crashkernel=none'" > /tmp/bootloader.ks # Anaconda can not install grub 0.97 on disks which are >4T. # The reason is that grub does not support such large geometries @@ -233,6 +239,9 @@ echo "cat /tmp/grub.script | chroot /mnt/sysimage /sbin/grub --no-floppy --batch %packages --nobase --excludedocs @Core +fuel +fuel-library +fuel-dockerctl authconfig bind-utils cronie @@ -241,7 +250,12 @@ curl daemonize dhcp docker-io +fuel-bootstrap-image +fuel-createmirror +fuel-target-centos-images +fuel-package-updates fuelmenu +fuel-docker-images gdisk lrzip lsof @@ -249,8 +263,10 @@ man mlocate nmap-ncat ntp +ntpdate openssh-clients policycoreutils +python-daemon rsync ruby21-puppet ruby21-rubygem-netaddr @@ -266,6 +282,7 @@ vim-enhanced virt-what wget yum +yum-plugin-priorities %include /tmp/post_partition.ks @@ -285,6 +302,8 @@ echo -e "* soft core unlimited\n* hard core unlimited" >> /etc/security/limits.c %post --nochroot --log=/mnt/sysimage/root/anaconda-post-before-chroot.log #!/bin/sh +set -x + SOURCE="/mnt/sysimage/tmp/source" for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done @@ -342,6 +361,7 @@ function save_cfg { else echo GATEWAY=$gw >> /etc/sysconfig/network fi + [ -n "$build_images" -a "$build_images" != "0" ] && echo -e "$build_images" > /root/.build_images } # Default FQDN @@ -356,6 +376,7 @@ gw=$gw device="eth0" hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'` dhcp_interface=$dhcp_interface +build_images=$build_images save_cfg # Mounting installation source @@ -366,7 +387,9 @@ echo mkdir -p ${SOURCE} mkdir -p ${FS} -if test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then +if test -e /dev/disk/by-label/"OpenStack_Fuel"; then + mount /dev/disk/by-label/"OpenStack_Fuel" ${SOURCE} +elif test -e /dev/disk/by-uuid/will_be_substituted_with_actual_uuid; then mount /dev/disk/by-uuid/will_be_substituted_with_actual_uuid ${FS} mount -o loop ${FS}/nailgun.iso ${SOURCE} fi @@ -390,61 +413,47 @@ cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64 # Copying Ubuntu files 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 + +# We do not ship debian-installer kernel and initrd on ISO. +# But we still need to be able to create ubuntu cobbler distro +# which requires kernel and initrd to be available. So, we +# just touch these files to work around cobbler's limitation. +touch ${repodir}/ubuntu/x86_64/images/linux +touch ${repodir}/ubuntu/x86_64/images/initrd.gz # make links for backward compatibility ln -s ${repodir}/centos ${wwwdir}/centos ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu -# Copying bootstrap image -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 # -------------------------- # create folders -mkdir -p /etc/puppet/${OPENSTACK_VERSION}/manifests/ -mkdir -p /etc/puppet/${OPENSTACK_VERSION}/modules/ -rm -rf /etc/puppet/modules/ +#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}/ +#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 +#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 +#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 ${wwwdir}/docker - # Prepare local repository specification rm /etc/yum.repos.d/CentOS*.repo cat > /etc/yum.repos.d/nailgun.repo << EOF @@ -461,6 +470,24 @@ sed -i 's/^enabled.*/enabled=0/' /etc/yum/pluginconf.d/subscription-manager.conf # Disable GSSAPI in ssh server config sed -i -e "/^\s*GSSAPICleanupCredentials yes/d" -e "/^\s*GSSAPIAuthentication yes/d" /etc/ssh/sshd_config +# Enable MOTD banner in sshd +sed -i -e "s/^\s*PrintMotd no/PrintMotd yes/g" /etc/ssh/sshd_config + +# Add note regarding local repos creation to MOTD +cat >> /etc/motd << EOF + +All environments use online repositories by default. +Use the following commands to create local repositories +on master node and change default repository settings: + +* CentOS: fuel-package-updates (see --help for options) +* Ubuntu: fuel-createmirror (see --help for options) + +Please refer to the following guide for more information: +https://docs.mirantis.com/openstack/fuel/fuel-6.1/reference-architecture.html#fuel-rep-mirror + +EOF + # Copying bootstrap_admin_node.sh, chmod it and # adding /etc/init/bootstrap_admin_node.conf cp ${SOURCE}/bootstrap_admin_node.sh /usr/local/sbin/bootstrap_admin_node.sh @@ -540,10 +567,7 @@ rm -rf ${SOURCE} umount -f ${FS} || true rm -rf ${FS} -# Enabling/configuring NTPD and ntpdate services -echo "server 127.127.1.0" >> /etc/ntp.conf -echo "fudge 127.127.1.0 stratum 10" >> /etc/ntp.conf -echo "tos orphan 7" >> /etc/ntp.conf +echo "tos orphan 7" >> /etc/ntp.conf # Do not show error message on ntpdate failure. Customers should not be confused # if admin node does not have access to the internet time servers. diff --git a/fuel/build/f_isoroot/f_predeployment/Makefile b/fuel/build/f_isoroot/f_predeployment/Makefile deleted file mode 100644 index a5252df..0000000 --- a/fuel/build/f_isoroot/f_predeployment/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - @mkdir -p release/opnfv - @cp pre-deploy.sh release/opnfv - @cp sysinfo.sh release/opnfv - @cp transform_yaml.py release/opnfv - @chmod 755 release/opnfv/* - -.PHONY: clean -clean: - @rm -rf release - - -.PHONY: release -release:clean all - @cp -Rvp release/* ../release diff --git a/fuel/build/f_isoroot/f_predeployment/README b/fuel/build/f_isoroot/f_predeployment/README deleted file mode 100644 index 3eef9f2..0000000 --- a/fuel/build/f_isoroot/f_predeployment/README +++ /dev/null @@ -1,18 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -This is the start of the interactive frontend that will add OPNFV configuration into -the astute.yaml of the nodes. Currently just a test setup - prepare an installation -up to the point of "deploy changes", but run "./pre-deploy.sh <envid> fragment.yaml" -before actually hitting deploy, which will make sure to add the example fragment to -the nodes. - -Note that the only part of the fragment.yaml that actually is acted on is the hosts -part at this time. diff --git a/fuel/build/f_isoroot/f_predeployment/pre-deploy.sh b/fuel/build/f_isoroot/f_predeployment/pre-deploy.sh deleted file mode 100755 index c5c6c42..0000000 --- a/fuel/build/f_isoroot/f_predeployment/pre-deploy.sh +++ /dev/null @@ -1,401 +0,0 @@ -#!/bin/bash -e -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - - -error_exit () { - echo "$@" >&2 - exit 1 -} - -get_env() { - local env_id=${1:-""} - - if [ -z $env_id ]; then - local n_envs=$(fuel env --list | grep -v -E "^id|^--|^ *$" | wc -l) - if [ $n_envs -ne 1 ]; then - echo "Usage: $0 [<env-id>]" >&2 - error_exit "If only a single environment is present it can be left" \ - "out. Otherwise the environment must be selected" - fi - env_id=$(fuel env --list | grep -v -E "^id|^--" | awk '{print $1}') - else - if ! fuel --env $env_id environment 2>/dev/null grep -v -E "^id|^--" | \ - grep -q ^$env_id; then - error_exit "No such environment ID: $env_id" - fi - fi - echo $env_id -} - -get_node_uid () { - cat $1 | grep "^uid: " | sed "s/^uid: '//" | sed "s/'$//" -} - -get_node_role () { - cat $1 | grep "^role: " | sed "s/^role: //" -} - -get_next_cic () { - file=$1 - - last=`cat $file | sed 's/.*://' | grep "cic-" | sed 's/cic\-.*sl//' | sort -n | tail -1` - if [ -z "$last" ]; then - next=1 - else - next=$[$last + 2] - fi - echo $next -} - -get_next_compute () { - file=$1 - - last=`cat $file | sed 's/.*://' | grep "cmp-" | sed 's/cmp\-.*sl//' | sort -n | tail -1` - if [ -z "$last" ]; then - next=7 - else - next=$[$last + 2] - fi - echo $next -} - -modify_hostnames () { - env=$1 - file=$2 - for line in `cat $file` - do - old=`echo $line | sed 's/:.*//'` - new=`echo $line | sed 's/.*://'` - echo "Applying: $old -> $new" - - for dfile in deployment_$env/*.yaml - do - sed -i "s/$old/$new/g" $dfile - done - - for pfile in provisioning_$env/*.yaml - do - sed -i "s/$old/$new/g" $pfile - done - done -} - -setup_hostnames () { - ENV=$1 - cd ${CONFIGDIR} - touch hostnames.$ENV - - for dfile in deployment_$ENV/*.yaml - do - uid=`get_node_uid $dfile` - hostname=`grep "^node-$uid:" hostnames.$ENV | sed 's/.*://'` - if [ -z $hostname ]; then - - pfile=provisioning_$ENV/node-$uid.yaml - role=`get_node_role $dfile` - - case $role in - primary-controller) - hostname="cic-pod0-sh0-sl`get_next_cic hostnames.$ENV`" - ;; - controller) - hostname="cic-pod0-sh0-sl`get_next_cic hostnames.$ENV`" - ;; - compute) - hostname="cmp-pod0-sh0-sl`get_next_compute hostnames.$ENV`" - ;; - *) - echo "Unknown node type for UID $uid" - exit 1 - ;; - esac - - echo "node-$uid:$hostname" >> hostnames.$ENV - else - echo "Already got hostname $hostname for node-$uid" - - fi - done - - rm -f hostnames.$ENV.old - mv hostnames.$ENV hostnames.$ENV.old - sort hostnames.$ENV.old | uniq > hostnames.$ENV - modify_hostnames $ENV hostnames.$ENV -} - - - -get_provisioning_info () { - ENV=$1 - mkdir -p ${CONFIGDIR} - cd ${CONFIGDIR} - rm -Rf provisioning_$ENV - echo "Getting provisioning info..." - fuel --env $ENV provisioning --default - if [ $? -ne 0 ]; then - echo "Error: Could not get provisioning info for env $ENV">&2 - exit 1 - fi -} - -get_deployment_info () { - ENV=$1 - mkdir -p ${CONFIGDIR} - cd ${CONFIGDIR} - rm -Rf deployment_$ENV - echo "Getting deployment info..." - fuel --env $ENV deployment --default - if [ $? -ne 0 ]; then - echo "Error: Could not get deployment info for env $ENV">&2 - exit 1 - fi -} - -transform_yaml () { - ENV=$1 - cd ${CONFIGDIR} - for dfile in deployment_$ENV/*.yaml - do - /opt/opnfv/transform_yaml.py $dfile - done -} - -commit_changes () { - ENV=$1 - cd ${CONFIGDIR} - - fuel --env $ENV deployment --upload - fuel --env $ENV provisioning --upload -} - -add_yaml_fragment () { - ENV=$1 - FRAGMENT=${CONFIGDIR}/fragment.yaml.$ENV - - cd ${CONFIGDIR} - for dfile in deployment_$ENV/*.yaml - do - cnt=`grep "^opnfv:" $dfile | wc -l ` - if [ $cnt -eq 0 ]; then - echo "Adding fragment to $dfile" - cat $FRAGMENT >> $dfile - else - echo "Already have fragment in $dfile" - fi - done -} - - -ip_valid() { - IP_ADDRESS="$1" - # Check if the format looks right_ - echo "$IP_ADDRESS" | egrep -qE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' || return 1 - #check that each octect is less than or equal to 255: - echo $IP_ADDRESS | awk -F'.' '$1 <=255 && $2 <= 255 && $3 <=255 && $4 <= 255 {print "Y" } ' | grep -q Y || return 1 - return 0 -} - - -generate_ntp_entry() { - FILE=$1 - read -p "NTP server:" NTP_SERVER - if [ -z "$NTP_SERVER" ]; then - return 1 - elif confirm_yes "Are you sure you want to add this entry (y/n): "; then - echo "Confirmed" - echo " server $NTP_SERVER" >> $FILE - fi -} - -generate_hostfile_entry() { - FILE=$1 - read -p "Name:" HOST_NAME - if [ -z "$HOST_NAME" ]; then - return 1 - else - read -p "FQDN:" HOST_FQDN - read -p "IP: " HOST_IP - while ! ip_valid "$HOST_IP" - do - echo "This is not a valid IP! Try again." - read -p "IP: " HOST_IP - done - fi - if confirm_yes "Are you sure you want to add this entry (y/n): "; then - echo "Confirmed" - echo " - name: $HOST_NAME" >> $FILE - echo " address: $HOST_IP" >> $FILE - echo " fqdn: $HOST_FQDN" >> $FILE - else - echo "Not confirmed" - fi - return 0 -} - -generate_dns_entry() { - FILE=$1 - PROMPT=$2 - read -p "${PROMPT}:" DNS_IP - if [ -z "$DNS_IP" ]; then - return 1 - else - while ! ip_valid "$DNS_IP" - do - echo "This is not a valid IP! Try again." - read -p "${PROMPT}: " DNS_IP - done - fi - if confirm_yes "Are you sure you want to add this entry (y/n): "; then - echo "Confirmed" - echo " - $DNS_IP" >> $FILE - else - echo "Not confirmed" - fi - return 0 -} - -confirm_yes() { - prompt=$1 - while true - do - read -p "$prompt" YESNO - case $YESNO in - [Yy]) - return 0 - ;; - [Nn]) - return 1 - ;; - esac - done -} - -generate_yaml_fragment() { - ENV=$1 - FRAGMENT=${CONFIGDIR}/fragment.yaml.$ENV - - if [ -f $FRAGMENT ]; then - echo "Manual configuration already performed, reusing previous data from $FRAGMENT." - echo "Press return to continue or ^C to stop." - read ans - return - fi - - echo "opnfv:" > ${FRAGMENT} - - clear - echo -e "\n\nPre-deployment configuration\n\n" - - echo -e "\n\nIPs for the DNS servers to go into /etc/resolv.conf. You will be" - echo -e "prompted for one IP at the time. Press return on an empty line" - echo -e "to complete your input. If no DNS server is specified, the IP of" - echo -e "the Fuel master will be used instead.\n" - - DNSCICYAML=${CONFIGDIR}/cicdns.yaml.$ENV - rm -f $DNSCICYAML - - echo -e "\n\n" - - while generate_dns_entry $DNSCICYAML "IP for CIC name servers" - do - : - done - - if [ -f $DNSCICYAML ]; then - echo " dns:" >> $FRAGMENT - echo " controller:" >> $FRAGMENT - cat $DNSCICYAML >> $FRAGMENT - fi - - - DNSCMPYAML=${CONFIGDIR}/cmpdns.yaml.$ENV - rm -f $DNSCMPYAML - - echo -e "\n\n" - - while generate_dns_entry $DNSCMPYAML "IP for compute node name servers" - do - : - done - - - if [ -f $DNSCMPYAML ]; then - if [ ! -f $DNSCICYAML ]; then - echo " dns:" >> $FRAGMENT - fi - echo " compute:" >> $FRAGMENT - cat $DNSCMPYAML >> $FRAGMENT - fi - - echo -e "\n\nHosts file additions for controllers and compute nodes. You will be" - echo -e "prompted for name, FQDN and IP for each entry. Press return when prompted" - echo -e "for a name when you have completed your input.\n" - - - HOSTYAML=${CONFIGDIR}/hosts.yaml.$ENV - rm -f $HOSTYAML - while generate_hostfile_entry $HOSTYAML - do - : - done - - if [ -f $HOSTYAML ]; then - echo " hosts:" >> $FRAGMENT - cat $HOSTYAML >> $FRAGMENT - fi - - echo -e "\n\nNTP upstream configuration for controllers.You will be" - echo -e "prompted for a NTP server each entry. Press return when prompted" - echo -e "for a NTP serverwhen you have completed your input.\n" - - - NTPYAML=${CONFIGDIR}/ntp.yaml.$ENV - rm -f $NTPYAML - while generate_ntp_entry $NTPYAML - do - : - done - - if [ -f $NTPYAML ]; then - echo " ntp:" >> $FRAGMENT - echo " controller: |" >> $FRAGMENT - cat $NTPYAML >> $FRAGMENT - - echo " compute: |" >> $FRAGMENT - for ctl in `find $CONFIGDIR/deployment_$ENV -name '*controller*.yaml'` - do - fqdn=`grep "^fqdn:" $ctl | sed 's/fqdn: *//'` - echo " server $fqdn" >> $FRAGMENT - done - fi - - # If nothing added make sure we get an empty opnfv hash - # instead of a NULL hash. - if [ $(wc -l $FRAGMENT | awk '{print $1}') -le 1 ]; then - echo "opnfv: {}" >$FRAGMENT - fi -} - -ENV=$(get_env "$@") - -CONFIGDIR="/var/lib/opnfv" -mkdir -p $CONFIGDIR - -get_deployment_info $ENV -# Uncomment the below to enable the control_bond example -#transform_yaml $ENV -get_provisioning_info $ENV -generate_yaml_fragment $ENV -# The feature to change hostnames from node-<n> to cmp- or cic- is disabled. -# To turn it on, uncomment the following line. -#setup_hostnames $ENV -add_yaml_fragment $ENV -commit_changes $ENV diff --git a/fuel/build/f_isoroot/f_predeployment/sysinfo.sh b/fuel/build/f_isoroot/f_predeployment/sysinfo.sh deleted file mode 100755 index e99cac0..0000000 --- a/fuel/build/f_isoroot/f_predeployment/sysinfo.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -dockerctl shell cobbler cobbler system list | grep -v default | xargs -n 1 host | sort | sed 's/\..* /\t/' diff --git a/fuel/build/f_isoroot/f_predeployment/transform_yaml.py b/fuel/build/f_isoroot/f_predeployment/transform_yaml.py deleted file mode 100755 index 14eec4c..0000000 --- a/fuel/build/f_isoroot/f_predeployment/transform_yaml.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/python -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -# Remove control and management network transformations from file. -# Only to be used together with f_control_bond_example (enable in -# pre-deploy.sh) - -import yaml -import re -import sys -import os - -if len(sys.argv) != 2: - sys.stderr.write("Usage: "+sys.argv[0]+" <filename>\n") - sys.exit(1) - -filename = sys.argv[1] -if not os.path.exists(filename): - sys.stderr.write("ERROR: The file "+filename+" could not be opened\n") - sys.exit(1) - -ignore_values = [ "eth0", "eth1", "br-mgmt", "br-fw-admin" ] - -infile = open(filename, 'r') -doc = yaml.load(infile) -infile.close() - -out={} - -for scheme in doc: - if scheme == "network_scheme": - mytransformation = {} - for operation in doc[scheme]: - if operation == "transformations": - # We need the base bridges for l23network to be happy, - # remove everything else. - mytrans = [ { "action": "add-br", "name": "br-mgmt" }, - { "action": "add-br", "name": "br-fw-admin" } ] - for trans in doc[scheme][operation]: - delete = 0 - for ignore in ignore_values: - matchObj = re.search(ignore,str(trans)) - if matchObj: - delete = 1 - if delete == 0: - mytrans.append(trans) - else: - pass - #print "Deleted", trans - - mytransformation[operation] = mytrans - else: - mytransformation[operation] = doc[scheme][operation] - out[scheme] = mytransformation - else: - out[scheme] = doc[scheme] - -outfile = open(filename, 'w') -outfile.write(yaml.dump(out, default_flow_style=False)) -outfile.close() diff --git a/fuel/build/f_l23network/Makefile b/fuel/build/f_l23network/Makefile deleted file mode 100644 index 0949737..0000000 --- a/fuel/build/f_l23network/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf tmp - @rm -rf release - -.PHONY: validate-cache -validate-cache: - @echo "No cache validation schema available for $(shell pwd)" - @echo "Continuing ..." - -.PHONY: release -release: - @cp -Rvp puppet/modules/* $(PUPPET_DEST) diff --git a/fuel/build/f_l23network/README b/fuel/build/f_l23network/README deleted file mode 100644 index 9aa4718..0000000 --- a/fuel/build/f_l23network/README +++ /dev/null @@ -1,35 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -Addition to add entries to /etc/hosts through Astute. - -The astute.yaml file should contain entries as those below to have them picked up during deployment: - -opnfv: - hosts: - - name: test1 - address: 192.168.100.100 - fqdn: test1.opnfv.org - - name: test2 - address: 192.168.100.101 - fqdn: test2.opnfv.org - - name: test3 - address: 192.168.100.102 - fqdn: test3.opnfv.org - -The suggested method for adding this information is to prepare for deployment with the Fuel GUI or CLI, -but before actually deploying: - -1. Download the current deployment for all hosts: fuel --env 1 deployment --default -2. Iterate through the hosts in "deployment_1" and add hosts configuration in the above format to their - respective yaml file. -3. Upload the modifed deployment information: fuel --env 1 deployment --upload - -After deploying, the additions will be included in /etc/astute.yaml of each host. diff --git a/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb b/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb deleted file mode 100644 index 33bfad8..0000000 --- a/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb +++ /dev/null @@ -1,21 +0,0 @@ -# -# array_or_string_to_array.rb -# - -module Puppet::Parser::Functions - newfunction(:extras_to_hosts, :type => :rvalue, :doc => <<-EOS - convert extras array passed from Astute into - hash for puppet `host` create_resources call - EOS - ) do |args| - hosts=Hash.new - extras=args[0] - extras.each do |extras| - hosts[extras['name']]={:ip=>extras['address'],:host_aliases=>[extras['fqdn']]} - notice("Generating extras host entry #{extras['name']} #{extras['address']} #{extras['fqdn']}") - end - return hosts - end -end - -# vim: set ts=2 sw=2 et : diff --git a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp deleted file mode 100644 index 05cff8d..0000000 --- a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp +++ /dev/null @@ -1,18 +0,0 @@ -class l23network::hosts_file ( - $nodes, - $extras=[], - $hosts_file = "/etc/hosts" -) { - - # OPNFV addition: Add additional lines in /etc/hosts through Astute additions - - $host_resources = nodes_to_hosts($nodes) - $extras_host_resources = extras_to_hosts($extras) - Host { - ensure => present, - target => $hosts_file - } - - create_resources(host, $host_resources) - create_resources(host, $extras_host_resources) -} diff --git a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig deleted file mode 100644 index 2295e3f..0000000 --- a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig +++ /dev/null @@ -1,16 +0,0 @@ -class l23network::hosts_file ( - $nodes, - $hosts_file = "/etc/hosts" -) { - - #Move original hosts file - - $host_resources = nodes_to_hosts($nodes) - - Host { - ensure => present, - target => $hosts_file - } - - create_resources(host, $host_resources) -} diff --git a/fuel/build/f_l23network/testing/README b/fuel/build/f_l23network/testing/README deleted file mode 100644 index b68eddf..0000000 --- a/fuel/build/f_l23network/testing/README +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -In order to test the functionality without performing a full deployment, run "puppet apply" on the fake_init.pp -which will call only the l23network::hosts_file class. diff --git a/fuel/build/f_l23network/testing/fake_init.pp b/fuel/build/f_l23network/testing/fake_init.pp deleted file mode 100644 index bc6b163..0000000 --- a/fuel/build/f_l23network/testing/fake_init.pp +++ /dev/null @@ -1,13 +0,0 @@ -$fuel_settings = parseyaml($astute_settings_yaml) - -if $::fuel_settings['nodes'] { - $nodes_hash = $::fuel_settings['nodes'] - $extras_hash = $::fuel_settings['opnfv']['hosts'] - - class {'l23network::hosts_file': - nodes => $nodes_hash, - extras => $extras_hash - } - - include l23network::hosts_file -} diff --git a/fuel/build/f_ntp/Makefile b/fuel/build/f_ntp/Makefile deleted file mode 100644 index 0949737..0000000 --- a/fuel/build/f_ntp/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf tmp - @rm -rf release - -.PHONY: validate-cache -validate-cache: - @echo "No cache validation schema available for $(shell pwd)" - @echo "Continuing ..." - -.PHONY: release -release: - @cp -Rvp puppet/modules/* $(PUPPET_DEST) diff --git a/fuel/build/f_ntp/README b/fuel/build/f_ntp/README deleted file mode 100644 index 2bade72..0000000 --- a/fuel/build/f_ntp/README +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -Addition to add ntp.conf separately for compute hosts and controller hosts through Astute. - -The astute.yaml file should contain entries as those below to have them picked up during deployment: - -opnfv: - ntp: - controller: | - line 1 - line 2 - compute: | - line 1 - line 2 - -The suggested method for adding this information is to prepare for deployment with the Fuel GUI or CLI, -but before actually deploying: - -1. Download the current deployment for all hosts: fuel --env 1 deployment --default -2. Iterate through the hosts in "deployment_1" and add hosts configuration in the above format to their - respective yaml file. -3. Upload the modifed deployment information: fuel --env 1 deployment --upload - -After deploying, the additions will be included in /etc/astute.yaml of each host. - diff --git a/fuel/build/f_ntp/puppet/modules/opnfv/manifests/ntp.pp b/fuel/build/f_ntp/puppet/modules/opnfv/manifests/ntp.pp deleted file mode 100644 index c5dce1b..0000000 --- a/fuel/build/f_ntp/puppet/modules/opnfv/manifests/ntp.pp +++ /dev/null @@ -1,80 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -# Class: Ntp -# -# Add Ntp content passed through astute.yaml into ntp.conf depending on the role -# -# Suitable yaml content: -# <begin> -# opnfv: -# ntp: -# controller: | -# line 1 -# line 2 -# compute: | -# line 1 -# line 2 -# <end> -# -# -# - -class opnfv::ntp( - $file='/etc/ntp.conf' -) { - - case $::operatingsystem { - centos, redhat: { - $service_name = 'ntpd' - } - debian, ubuntu: { - $service_name = 'ntp' - } - } - - if $::fuel_settings['role'] { - if ($::fuel_settings['opnfv'] and - $::fuel_settings['opnfv']['ntp']) { - case $::fuel_settings['role'] { - /controller/: { - if $::fuel_settings['opnfv']['ntp']['controller'] { - $template = 'opnfv/ntp.conf.controller.erb' - $file_content = $::fuel_settings['opnfv']['ntp']['controller'] - } - } - /compute/: { - if $::fuel_settings['opnfv']['ntp']['compute'] { - $template = 'opnfv/ntp.conf.compute.erb' - $file_content = $::fuel_settings['opnfv']['ntp']['compute'] - } - } - } - } - } - - if $file_content { - package { 'ntp': - ensure => installed, - } - - file { $file: - content => template($template), - notify => Service['ntp'], - } - - service { 'ntp': - ensure => running, - name => $service_name, - enable => true, - require => [ Package['ntp'], File[$file]] - } - } -} diff --git a/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.compute.erb b/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.compute.erb deleted file mode 100644 index 37ecfd7..0000000 --- a/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.compute.erb +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -tinker panic 0 -driftfile /var/lib/ntp/ntp.drift -statistics loopstats peerstats clockstats -filegen loopstats file loopstats type day enable -filegen peerstats file peerstats type day enable -filegen clockstats file clockstats type day enable -restrict -4 default kod notrap nomodify nopeer noquery -restrict -6 default kod notrap nomodify nopeer noquery -restrict 127.0.0.1 -restrict ::1 -<%= @file_content %> diff --git a/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.controller.erb b/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.controller.erb deleted file mode 100644 index 37ecfd7..0000000 --- a/fuel/build/f_ntp/puppet/modules/opnfv/templates/ntp.conf.controller.erb +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -tinker panic 0 -driftfile /var/lib/ntp/ntp.drift -statistics loopstats peerstats clockstats -filegen loopstats file loopstats type day enable -filegen peerstats file peerstats type day enable -filegen clockstats file clockstats type day enable -restrict -4 default kod notrap nomodify nopeer noquery -restrict -6 default kod notrap nomodify nopeer noquery -restrict 127.0.0.1 -restrict ::1 -<%= @file_content %> diff --git a/fuel/build/f_ntp/testing/README b/fuel/build/f_ntp/testing/README deleted file mode 100644 index 6d80b0a..0000000 --- a/fuel/build/f_ntp/testing/README +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -In order to test the functionality without performing a full deployment, run "puppet apply" on the -fake_init.pp which will call only the opnfv::ntp class. diff --git a/fuel/build/f_ntp/testing/fake_init.pp b/fuel/build/f_ntp/testing/fake_init.pp deleted file mode 100644 index b9af218..0000000 --- a/fuel/build/f_ntp/testing/fake_init.pp +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -$fuel_settings = parseyaml($astute_settings_yaml) - -include opnfv::ntp diff --git a/fuel/build/f_opnfv_puppet/Makefile b/fuel/build/f_opnfv_puppet/Makefile deleted file mode 100644 index 0949737..0000000 --- a/fuel/build/f_opnfv_puppet/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf tmp - @rm -rf release - -.PHONY: validate-cache -validate-cache: - @echo "No cache validation schema available for $(shell pwd)" - @echo "Continuing ..." - -.PHONY: release -release: - @cp -Rvp puppet/modules/* $(PUPPET_DEST) diff --git a/fuel/build/f_opnfv_puppet/README b/fuel/build/f_opnfv_puppet/README deleted file mode 100644 index 35bea5a..0000000 --- a/fuel/build/f_opnfv_puppet/README +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -This is the top level "OPNFV" Puppet class which (hopefully) only will be used to include -an appropriate set of sub-classes which themselves will be self-contained. 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 deleted file mode 100644 index ccb3939..0000000 --- a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/add_packages.pp +++ /dev/null @@ -1,9 +0,0 @@ -# Class: opnfv::add_packages -# -# Ensure added packages are installed: -# - -class opnfv::add_packages { - if $::osfamily == 'Debian' { - } -} diff --git a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp deleted file mode 100644 index fabe30a..0000000 --- a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -# == Class: opnfv -# -# This class is used to perform OPNFV inclusions and settings on top of -# the vanilla Fuel installation. -# -# Currently all logic is self contained, i.e. it is sufficient to -# "include opnfv" from site.pp. - -class opnfv { - # Configure resolv.conf if parameters passed through astute - include opnfv::resolver - # Setup OPNFV style NTP config - include opnfv::ntp - # Make sure all added packages are installed - include opnfv::add_packages -} diff --git a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/opncheck.pp b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/opncheck.pp deleted file mode 100644 index 0822f02..0000000 --- a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/opncheck.pp +++ /dev/null @@ -1,21 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -# Class: opnfv::opncheck -# -# Make sure that /opt/opnfv/pre-deploy.sh has been run by -# verifying there is an "opnfv:" level in the astute.yaml. - -class opnfv::opncheck() -{ - unless $::fuel_settings['opnfv'] { - fail("Error: You have not run /opt/opnfv/pre-deploy.sh on the Fuel master prior to deploying!") - } -} diff --git a/fuel/build/f_osnaily/Makefile b/fuel/build/f_osnaily/Makefile deleted file mode 100644 index 0949737..0000000 --- a/fuel/build/f_osnaily/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf tmp - @rm -rf release - -.PHONY: validate-cache -validate-cache: - @echo "No cache validation schema available for $(shell pwd)" - @echo "Continuing ..." - -.PHONY: release -release: - @cp -Rvp puppet/modules/* $(PUPPET_DEST) diff --git a/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp b/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp deleted file mode 100644 index 1014056..0000000 --- a/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp +++ /dev/null @@ -1,366 +0,0 @@ -$fuel_settings = parseyaml($astute_settings_yaml) - -$openstack_version = { - 'keystone' => 'installed', - 'glance' => 'installed', - 'horizon' => 'installed', - 'nova' => 'installed', - 'novncproxy' => 'installed', - 'cinder' => 'installed', -} - -tag("${::fuel_settings['deployment_id']}::${::fuel_settings['environment']}") - -#Stages configuration -stage {'zero': } -> -stage {'opncheck': } -> -stage {'first': } -> -stage {'openstack-custom-repo': } -> -stage {'netconfig': } -> -stage {'corosync_setup': } -> -stage {'openstack-firewall': } -> Stage['main'] - -class begin_deployment () -{ - $role = $::fuel_settings['role'] - notify { "***** Beginning deployment of node ${::hostname} with role $role *****": } -} - -class {'begin_deployment': stage => 'zero' } - -stage {'glance-image': - require => Stage['main'], -} - -if $::fuel_settings['nodes'] { - $nodes_hash = $::fuel_settings['nodes'] -# OPNFV addition to add to hosts file - if ($::fuel_settings['opnfv'] and - $::fuel_settings['opnfv']['hosts']) { - $extras_hash = $::fuel_settings['opnfv']['hosts'] - } else { - $extras_hash = undef - } - - $dns_nameservers=$::fuel_settings['dns_nameservers'] - $node = filter_nodes($nodes_hash,'name',$::hostname) - if empty($node) { - fail("Node $::hostname is not defined in the hash structure") - } - - $default_gateway = $node[0]['default_gateway'] - - $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'] - - if (!empty(filter_nodes($::fuel_settings['nodes'], 'role', 'ceph-osd')) or - $::fuel_settings['storage']['volumes_ceph'] or - $::fuel_settings['storage']['images_ceph'] or - $::fuel_settings['storage']['objects_ceph'] - ) { - $use_ceph = true - } else { - $use_ceph = false - } - - - if $use_neutron { - prepare_network_config($::fuel_settings['network_scheme']) - # - $internal_int = get_network_role_property('management', 'interface') - $internal_address = get_network_role_property('management', 'ipaddr') - $internal_netmask = get_network_role_property('management', 'netmask') - # - $public_int = get_network_role_property('ex', 'interface') - 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') - $storage_netmask = get_network_role_property('storage', 'netmask') - } else { - $internal_address = $node[0]['internal_address'] - $internal_netmask = $node[0]['internal_netmask'] - $public_address = $node[0]['public_address'] - $public_netmask = $node[0]['public_netmask'] - $storage_address = $node[0]['storage_address'] - $storage_netmask = $node[0]['storage_netmask'] - $public_br = $node[0]['public_br'] - $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 - } - - } -} - -if ($::fuel_settings['neutron_mellanox']) { - $mellanox_mode = $::fuel_settings['neutron_mellanox']['plugin'] -} else { - $mellanox_mode = 'disabled' -} - -# This parameter specifies the verbosity level of log messages -# in openstack components config. -# Debug would have set DEBUG level and ignore verbose settings, if any. -# Verbose would have set INFO level messages -# In case of non debug and non verbose - WARNING, default level would have set. -$verbose = true -$debug = $::fuel_settings['debug'] - -### Storage Settings ### -# Determine if any ceph parts have been asked for. -# This will ensure that monitors are set up on controllers, even if no -# ceph-osd roles during deployment - - -### Syslog ### -#TODO(bogdando) move logging options to astute.yaml -# Enable error messages reporting to rsyslog. Rsyslog must be installed in this case. -$use_syslog = $::fuel_settings['use_syslog'] ? { default=>true } -# Syslog facilities for main openstack services -# should vary (reserved usage) -# local1 is reserved for openstack-dashboard -$syslog_log_facility_glance = 'LOG_LOCAL2' -$syslog_log_facility_cinder = 'LOG_LOCAL3' -$syslog_log_facility_neutron = 'LOG_LOCAL4' -$syslog_log_facility_nova = 'LOG_LOCAL6' -$syslog_log_facility_keystone = 'LOG_LOCAL7' -# could be the same -# local0 is free for use -$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, - 'POST_SERVERS' => 100000, - 'PUT' => 1000, 'GET' => 100000, - 'DELETE' => 100000 -} -$cinder_rate_limits = { - 'POST' => 100000, - 'POST_SERVERS' => 100000, - 'PUT' => 100000, 'GET' => 100000, - 'DELETE' => 100000 -} - -### -class advanced_node_netconfig { - $sdn = generate_network_config() - notify {"SDN: ${sdn}": } -} - -case $::operatingsystem { - 'redhat' : { - $queue_provider = 'qpid' - $custom_mysql_setup_class = 'pacemaker_mysql' - } - default: { - $queue_provider='rabbitmq' - $custom_mysql_setup_class='galera' - } -} - -class os_common { - # OPNFV check if pre_deploy.sh has been run, otherwise fail - class {'opnfv::opncheck': stage => 'opncheck' } - 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'], - } - 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_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'], - } - - $base_syslog_rserver = { - 'remote_type' => 'tcp', - 'server' => $base_syslog_hash['syslog_server'], - 'port' => $base_syslog_hash['syslog_port'] - } - - # setting kernel reserved ports - # defaults are 49000,35357,41055,58882 - class { 'openstack::reserved_ports': - stage => 'netconfig', - } - - # setting service down time and report interval - # to 60 and 180 for Nova respectively to allow kernel - # to kill dead connections - # (see zendesk #1158 as well) - $nova_report_interval = '60' - $nova_service_down_time = '180' - - $syslog_rserver = { - 'remote_type' => $syslog_hash['syslog_transport'], - 'server' => $syslog_hash['syslog_server'], - 'port' => $syslog_hash['syslog_port'], - } - if $syslog_hash['syslog_server'] != "" and $syslog_hash['syslog_port'] != "" and $syslog_hash['syslog_transport'] != "" { - $rservers = [$base_syslog_rserver, $syslog_rserver] - } else { - $rservers = [$base_syslog_rserver] - } - - if $use_syslog { - class { "::openstack::logging": - stage => 'first', - role => 'client', - show_timezone => true, - # log both locally include auth, and remote - log_remote => true, - log_local => true, - log_auth_local => true, - # keep four weekly log rotations, force rotate if 300M size have exceeded - rotation => 'weekly', - keep => '4', - minsize => '10M', - maxsize => '100M', - # remote servers to send logs to - rservers => $rservers, - # should be true, if client is running at virtual node - virtual => str2bool($::is_virtual), - # Rabbit doesn't support syslog directly - rabbit_log_level => 'NOTICE', - debug => $debug, - } - } - - class { 'osnailyfacter::atop': - stage => 'first', - } - - class { 'osnailyfacter::ssh': } - - #case $role { - # /controller/: { $hostgroup = 'controller' } - # /swift-proxy/: { $hostgroup = 'swift-proxy' } - # /storage/:{ $hostgroup = 'swift-storage' } - # /compute/: { $hostgroup = 'compute' } - # /cinder/: { $hostgroup = 'cinder' } - # default: { $hostgroup = 'generic' } - #} - - # if $nagios != 'false' { - # class {'nagios': - # proj_name => $proj_name, - # services => [ - # 'host-alive','nova-novncproxy','keystone', 'nova-scheduler', - # 'nova-consoleauth', 'nova-cert', 'haproxy', 'nova-api', 'glance-api', - # 'glance-registry','horizon', 'rabbitmq', 'mysql', - # ], - # whitelist => ['127.0.0.1', $nagios_master], - # hostgroup => $hostgroup , - # } - # } - - # Workaround for fuel bug with firewall - firewall {'003 remote rabbitmq ': - sport => [ 4369, 5672, 15672, 41055, 55672, 61613 ], - source => $::fuel_settings['master_ip'], - proto => 'tcp', - action => 'accept', - require => Class['openstack::firewall'], - } - - firewall {'004 remote puppet ': - sport => [ 8140 ], - source => $master_ip, - proto => 'tcp', - action => 'accept', - require => Class['openstack::firewall'], - } - - class { 'puppet::pull' : - modules_source => $::fuel_settings['puppet_modules_source'], - manifests_source => $::fuel_settings['puppet_manifests_source'], - } -} # OS_COMMON ENDS - - - -node default { - case $::fuel_settings['deployment_mode'] { - "singlenode": { - include "osnailyfacter::cluster_simple" - class {'os_common':} - class {'opnfv':} - } - "multinode": { - include "osnailyfacter::cluster_simple" - class {'os_common':} - class {'opnfv':} - } - /^(ha|ha_compact)$/: { - include "osnailyfacter::cluster_ha" - class {'os_common':} - 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 deleted file mode 100644 index cc05b3f..0000000 --- a/fuel/build/f_osnaily/puppet/modules/osnailyfacter/examples/site.pp.orig +++ /dev/null @@ -1,353 +0,0 @@ -$fuel_settings = parseyaml($astute_settings_yaml) - -$openstack_version = { - 'keystone' => 'installed', - 'glance' => 'installed', - 'horizon' => 'installed', - 'nova' => 'installed', - 'novncproxy' => 'installed', - 'cinder' => 'installed', -} - -tag("${::fuel_settings['deployment_id']}::${::fuel_settings['environment']}") - -#Stages configuration -stage {'zero': } -> -stage {'first': } -> -stage {'openstack-custom-repo': } -> -stage {'netconfig': } -> -stage {'corosync_setup': } -> -stage {'openstack-firewall': } -> Stage['main'] - -class begin_deployment () -{ - $role = $::fuel_settings['role'] - notify { "***** Beginning deployment of node ${::hostname} with role $role *****": } -} - -class {'begin_deployment': stage => 'zero' } - -stage {'glance-image': - require => Stage['main'], -} - -if $::fuel_settings['nodes'] { - $nodes_hash = $::fuel_settings['nodes'] - $dns_nameservers=$::fuel_settings['dns_nameservers'] - $node = filter_nodes($nodes_hash,'name',$::hostname) - if empty($node) { - fail("Node $::hostname is not defined in the hash structure") - } - - $default_gateway = $node[0]['default_gateway'] - - $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'] - - if (!empty(filter_nodes($::fuel_settings['nodes'], 'role', 'ceph-osd')) or - $::fuel_settings['storage']['volumes_ceph'] or - $::fuel_settings['storage']['images_ceph'] or - $::fuel_settings['storage']['objects_ceph'] - ) { - $use_ceph = true - } else { - $use_ceph = false - } - - - if $use_neutron { - prepare_network_config($::fuel_settings['network_scheme']) - # - $internal_int = get_network_role_property('management', 'interface') - $internal_address = get_network_role_property('management', 'ipaddr') - $internal_netmask = get_network_role_property('management', 'netmask') - # - $public_int = get_network_role_property('ex', 'interface') - 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') - $storage_netmask = get_network_role_property('storage', 'netmask') - } else { - $internal_address = $node[0]['internal_address'] - $internal_netmask = $node[0]['internal_netmask'] - $public_address = $node[0]['public_address'] - $public_netmask = $node[0]['public_netmask'] - $storage_address = $node[0]['storage_address'] - $storage_netmask = $node[0]['storage_netmask'] - $public_br = $node[0]['public_br'] - $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 - } - - } -} - -if ($::fuel_settings['neutron_mellanox']) { - $mellanox_mode = $::fuel_settings['neutron_mellanox']['plugin'] -} else { - $mellanox_mode = 'disabled' -} - -# This parameter specifies the verbosity level of log messages -# in openstack components config. -# Debug would have set DEBUG level and ignore verbose settings, if any. -# Verbose would have set INFO level messages -# In case of non debug and non verbose - WARNING, default level would have set. -$verbose = true -$debug = $::fuel_settings['debug'] - -### Storage Settings ### -# Determine if any ceph parts have been asked for. -# This will ensure that monitors are set up on controllers, even if no -# ceph-osd roles during deployment - - -### Syslog ### -#TODO(bogdando) move logging options to astute.yaml -# Enable error messages reporting to rsyslog. Rsyslog must be installed in this case. -$use_syslog = $::fuel_settings['use_syslog'] ? { default=>true } -# Syslog facilities for main openstack services -# should vary (reserved usage) -# local1 is reserved for openstack-dashboard -$syslog_log_facility_glance = 'LOG_LOCAL2' -$syslog_log_facility_cinder = 'LOG_LOCAL3' -$syslog_log_facility_neutron = 'LOG_LOCAL4' -$syslog_log_facility_nova = 'LOG_LOCAL6' -$syslog_log_facility_keystone = 'LOG_LOCAL7' -# could be the same -# local0 is free for use -$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, - 'POST_SERVERS' => 100000, - 'PUT' => 1000, 'GET' => 100000, - 'DELETE' => 100000 -} -$cinder_rate_limits = { - 'POST' => 100000, - 'POST_SERVERS' => 100000, - 'PUT' => 100000, 'GET' => 100000, - 'DELETE' => 100000 -} - -### -class advanced_node_netconfig { - $sdn = generate_network_config() - notify {"SDN: ${sdn}": } -} - -case $::operatingsystem { - 'redhat' : { - $queue_provider = 'qpid' - $custom_mysql_setup_class = 'pacemaker_mysql' - } - default: { - $queue_provider='rabbitmq' - $custom_mysql_setup_class='galera' - } -} - -class os_common { - 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'], - } - Class['mellanox_openstack::ofed_recompile'] -> Class['mellanox_openstack::iser_rename'] - } - } - - class {"l23network::hosts_file": stage => 'netconfig', nodes => $nodes_hash } - 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'], - } - - $base_syslog_rserver = { - 'remote_type' => 'tcp', - 'server' => $base_syslog_hash['syslog_server'], - 'port' => $base_syslog_hash['syslog_port'] - } - - # setting kernel reserved ports - # defaults are 49000,35357,41055,58882 - class { 'openstack::reserved_ports': - stage => 'netconfig', - } - - # setting service down time and report interval - # to 60 and 180 for Nova respectively to allow kernel - # to kill dead connections - # (see zendesk #1158 as well) - $nova_report_interval = '60' - $nova_service_down_time = '180' - - $syslog_rserver = { - 'remote_type' => $syslog_hash['syslog_transport'], - 'server' => $syslog_hash['syslog_server'], - 'port' => $syslog_hash['syslog_port'], - } - if $syslog_hash['syslog_server'] != "" and $syslog_hash['syslog_port'] != "" and $syslog_hash['syslog_transport'] != "" { - $rservers = [$base_syslog_rserver, $syslog_rserver] - } else { - $rservers = [$base_syslog_rserver] - } - - if $use_syslog { - class { "::openstack::logging": - stage => 'first', - role => 'client', - show_timezone => true, - # log both locally include auth, and remote - log_remote => true, - log_local => true, - log_auth_local => true, - # keep four weekly log rotations, force rotate if 300M size have exceeded - rotation => 'weekly', - keep => '4', - minsize => '10M', - maxsize => '100M', - # remote servers to send logs to - rservers => $rservers, - # should be true, if client is running at virtual node - virtual => str2bool($::is_virtual), - # Rabbit doesn't support syslog directly - rabbit_log_level => 'NOTICE', - debug => $debug, - } - } - - class { 'osnailyfacter::atop': - stage => 'first', - } - - class { 'osnailyfacter::ssh': } - - #case $role { - # /controller/: { $hostgroup = 'controller' } - # /swift-proxy/: { $hostgroup = 'swift-proxy' } - # /storage/:{ $hostgroup = 'swift-storage' } - # /compute/: { $hostgroup = 'compute' } - # /cinder/: { $hostgroup = 'cinder' } - # default: { $hostgroup = 'generic' } - #} - - # if $nagios != 'false' { - # class {'nagios': - # proj_name => $proj_name, - # services => [ - # 'host-alive','nova-novncproxy','keystone', 'nova-scheduler', - # 'nova-consoleauth', 'nova-cert', 'haproxy', 'nova-api', 'glance-api', - # 'glance-registry','horizon', 'rabbitmq', 'mysql', - # ], - # whitelist => ['127.0.0.1', $nagios_master], - # hostgroup => $hostgroup , - # } - # } - - # Workaround for fuel bug with firewall - firewall {'003 remote rabbitmq ': - sport => [ 4369, 5672, 15672, 41055, 55672, 61613 ], - source => $::fuel_settings['master_ip'], - proto => 'tcp', - action => 'accept', - require => Class['openstack::firewall'], - } - - firewall {'004 remote puppet ': - sport => [ 8140 ], - source => $master_ip, - proto => 'tcp', - action => 'accept', - require => Class['openstack::firewall'], - } - - class { 'puppet::pull' : - modules_source => $::fuel_settings['puppet_modules_source'], - manifests_source => $::fuel_settings['puppet_manifests_source'], - } -} # OS_COMMON ENDS - - - -node default { - case $::fuel_settings['deployment_mode'] { - "singlenode": { - include "osnailyfacter::cluster_simple" - class {'os_common':} - } - "multinode": { - include "osnailyfacter::cluster_simple" - class {'os_common':} - } - /^(ha|ha_compact)$/: { - include "osnailyfacter::cluster_ha" - class {'os_common':} - } - "rpmcache": { include osnailyfacter::rpmcache } - } -} diff --git a/fuel/build/f_resolvconf/Makefile b/fuel/build/f_resolvconf/Makefile deleted file mode 100644 index 0949737..0000000 --- a/fuel/build/f_resolvconf/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf tmp - @rm -rf release - -.PHONY: validate-cache -validate-cache: - @echo "No cache validation schema available for $(shell pwd)" - @echo "Continuing ..." - -.PHONY: release -release: - @cp -Rvp puppet/modules/* $(PUPPET_DEST) diff --git a/fuel/build/f_resolvconf/README b/fuel/build/f_resolvconf/README deleted file mode 100644 index 5ff570f..0000000 --- a/fuel/build/f_resolvconf/README +++ /dev/null @@ -1,36 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -Addition to generate resolv.conf separately for compute hosts and controller -hosts through Astute. - -The astute.yaml file should contain entries as those below to have them picked -up during deployment: - -opnfv: - dns: - compute: - - 100.100.100.2 - - 100.100.100.3 - controller: - - 100.100.100.102 - - 100.100.100.104 - -The suggested method for adding this information is to prepare for deployment -with the Fuel GUI or CLI, but before actually deploying: - -1. Download the current deployment for all hosts: fuel --env 1 deployment --default -2. Iterate through the hosts in "deployment_1" and add hosts configuration in - the above format to their respective yaml file. -3. Upload the modifed deployment information: fuel --env 1 deployment --upload - -After deploying, the additions will be included in /etc/astute.yaml of each -host. - diff --git a/fuel/build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp b/fuel/build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp deleted file mode 100644 index 44f36a2..0000000 --- a/fuel/build/f_resolvconf/puppet/modules/opnfv/manifests/resolver.pp +++ /dev/null @@ -1,73 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -# Class: opnfv::resolver -# -# Add resolver content passed through astute.yaml into resolv.conf -# depending on the role -# -# Suitable yaml content: -# <begin> -# opnfv: -# dns: -# compute: -# - 100.100.100.2 -# - 100.100.100.3 -# controller: -# - 100.100.100.102 -# - 100.100.100.104 -# <end> -# -# -# - -class opnfv::resolver() -{ - if $::fuel_settings['role'] { - if $::fuel_settings['role'] == 'primary-controller' { - $role = 'controller' - } else { - $role = $::fuel_settings['role'] - } - - if ($::fuel_settings['opnfv'] - and $::fuel_settings['opnfv']['dns'] - and $::fuel_settings['opnfv']['dns'][$role]) { - $nameservers=$::fuel_settings['opnfv']['dns'][$role] - - file { '/etc/resolv.conf': - owner => root, - group => root, - mode => '0644', - content => template('opnfv/resolv.conf.erb'), - } - - # /etc/resolv.conf is re-generated at each boot by resolvconf, so we - # need to store there as well. - - case $::operatingsystem { - 'ubuntu': { - file { '/etc/resolvconf/resolv.conf.d/head': - owner => root, - group => root, - mode => '0644', - content => template('opnfv/resolv.conf.erb'), - } - } - 'centos': { - exec { 'for file in ifcfg-eth*; do grep -q -F "PEERDNS=" $file || echo "PEERDNS=no" >> $file; done ': - provider => 'shell', - cwd => '/etc/sysconfig/network-scripts', - } - } - } - } - } -} diff --git a/fuel/build/f_resolvconf/puppet/modules/opnfv/templates/resolv.conf.erb b/fuel/build/f_resolvconf/puppet/modules/opnfv/templates/resolv.conf.erb deleted file mode 100644 index 7a29dca..0000000 --- a/fuel/build/f_resolvconf/puppet/modules/opnfv/templates/resolv.conf.erb +++ /dev/null @@ -1,15 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) -# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN -# Modified by OPNFV. -<% @nameservers.each do |ns| %>nameserver <%= ns %> -<% end -%> diff --git a/fuel/build/f_resolvconf/testing/README b/fuel/build/f_resolvconf/testing/README deleted file mode 100644 index 6846a8d..0000000 --- a/fuel/build/f_resolvconf/testing/README +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -In order to test the functionality without performing a full deployment, -run "puppet apply" on the fake_init.pp which will call only the -opnfv::resolvconf class. diff --git a/fuel/build/f_resolvconf/testing/fake_init.pp b/fuel/build/f_resolvconf/testing/fake_init.pp deleted file mode 100644 index 496dcd2..0000000 --- a/fuel/build/f_resolvconf/testing/fake_init.pp +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -$fuel_settings = parseyaml($astute_settings_yaml) - -include opnfv::resolvconf diff --git a/fuel/build/fuel-main_3.patch b/fuel/build/fuel-main_3.patch index b61c063..8341d72 100644 --- a/fuel/build/fuel-main_3.patch +++ b/fuel/build/fuel-main_3.patch @@ -1,11 +1,19 @@ ---- prepare-build-env.sh.orig 2015-08-11 22:12:19.750626481 +0200 -+++ prepare-build-env.sh 2015-08-11 22:43:42.308300848 +0200 -@@ -43,7 +43,7 @@ - trusty) - GEMPKG="ruby ruby-dev" - # we need multistrap version 2.1.6, let's install it from devops mirror -- sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D5A05778 -+ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2 - echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list - # be sure, that we will not update multistrap in future - sudo tee /etc/apt/preferences.d/fuel-pin-300 <<EOF +*** prepare-build-env.sh.orig Tue Sep 8 08:47:46 2015 +--- prepare-build-env.sh Tue Sep 8 08:48:22 2015 +*************** +*** 41,47 **** + + trusty) + GEMPKG="ruby ruby-dev" +! sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys D5A05778 + echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list + sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm + ;; +--- 41,47 ---- + + trusty) + GEMPKG="ruby ruby-dev" +! sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2 + echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list + sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm + ;; diff --git a/fuel/build/fuel-main_5.patch b/fuel/build/fuel-main_5.patch new file mode 100644 index 0000000..ec75626 --- /dev/null +++ b/fuel/build/fuel-main_5.patch @@ -0,0 +1,19 @@ +*** prepare-build-env.sh.orig Tue Sep 8 10:29:08 2015 +--- prepare-build-env.sh Tue Sep 8 10:30:21 2015 +*************** +*** 43,49 **** + GEMPKG="ruby ruby-dev" + sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2 + echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list +! sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm + ;; + + precise) +--- 43,49 ---- + GEMPKG="ruby ruby-dev" + sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 1D2B45A2 + echo "deb http://mirror.fuel-infra.org/devops/ubuntu/ ./" | sudo tee /etc/apt/sources.list.d/fuel-devops.list +! sudo apt-get update && sudo apt-get -y install nodejs nodejs-legacy npm dosfstools xorriso + ;; + + precise) diff --git a/fuel/build/install/apt-ftparchive-deb.conf b/fuel/build/install/apt-ftparchive-deb.conf index 1101ac9..0d15aec 100644 --- a/fuel/build/install/apt-ftparchive-deb.conf +++ b/fuel/build/install/apt-ftparchive-deb.conf @@ -17,9 +17,9 @@ TreeDefault { }; BinDirectory "pool/main" { - Packages "dists/precise/main/binary-amd64/Packages"; - BinOverride "./indices/override.precise.main"; - ExtraOverride "./indices/override.precise.extra.main"; + Packages "dists/trusty/main/binary-amd64/Packages"; + BinOverride "./indices/override.trusty.main"; + ExtraOverride "./indices/override.trusty.extra.main"; }; Default { diff --git a/fuel/build/install/apt-ftparchive-release.conf b/fuel/build/install/apt-ftparchive-release.conf index 0252882..02706bd 100644 --- a/fuel/build/install/apt-ftparchive-release.conf +++ b/fuel/build/install/apt-ftparchive-release.conf @@ -10,9 +10,9 @@ APT::FTPArchive::Release::Origin "Ubuntu"; APT::FTPArchive::Release::Label "Ubuntu"; -APT::FTPArchive::Release::Suite "precise"; -APT::FTPArchive::Release::Version "12.04"; -APT::FTPArchive::Release::Codename "precise"; +APT::FTPArchive::Release::Suite "trusty"; +APT::FTPArchive::Release::Version "1.04"; +APT::FTPArchive::Release::Codename "trusty"; APT::FTPArchive::Release::Architectures "amd64"; APT::FTPArchive::Release::Components "main"; -APT::FTPArchive::Release::Description "Ubuntu Precise 12.04 LTS"; +APT::FTPArchive::Release::Description "Ubuntu Trusty Tahr 14.04 LTS"; diff --git a/fuel/build/install/apt-ftparchive-udeb.conf b/fuel/build/install/apt-ftparchive-udeb.conf index 2acbcf0..3b5b239 100644 --- a/fuel/build/install/apt-ftparchive-udeb.conf +++ b/fuel/build/install/apt-ftparchive-udeb.conf @@ -17,8 +17,8 @@ TreeDefault { }; BinDirectory "pool/debian-installer" { - Packages "dists/precise/main/debian-installer/binary-amd64/Packages"; - BinOverride "./indices/override.precise.main.debian-installer"; + Packages "dists/trusty/main/debian-installer/binary-amd64/Packages"; + BinOverride "./indices/override.trusty.main.debian-installer"; }; Default { diff --git a/fuel/build/install/install.sh b/fuel/build/install/install.sh index dbb26d6..f0bb849 100755 --- a/fuel/build/install/install.sh +++ b/fuel/build/install/install.sh @@ -122,17 +122,17 @@ prep_make_live() { ssh-copy-id root@$FUELHOST sshfs root@1${FUELHOST}:/ $TMP_HOSTMOUNT - if [ -f $REPO/dists/precise/main/binary-amd64/Packages.backup ]; then + if [ -f $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then echo "Error - found backup file for Packages!" exit 1 fi - if [ -f $REPO/dists/precise/main/binary-amd64/Packages.gz.backup ]; then + if [ -f $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then echo "Error - found backup file for Packages.gz!" exit 1 fi - if [ -f $REPO/dists/precise/Release.backup ]; then + if [ -f $REPO/dists/trusty/Release.backup ]; then echo "Error - found backup file for Release!" exit 1 fi @@ -142,20 +142,24 @@ prep_make_live() { exit 1 fi - cp $REPO/dists/precise/main/binary-amd64/Packages $REPO/dists/precise/main/binary-amd64/Packages.backup - cp $REPO/dists/precise/main/binary-amd64/Packages.gz $REPO/dists/precise/main/binary-amd64/Packages.gz.backup - cp $REPO/dists/precise/Release $REPO/dists/precise/Release.backup + cp $REPO/dists/trusty/main/binary-amd64/Packages $REPO/dists/trusty/main/binary-amd64/Packages.backup + cp $REPO/dists/trusty/main/binary-amd64/Packages.gz $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup + cp $REPO/dists/trusty/Release $REPO/dists/trusty/Release.backup cp -Rvp $DEST/etc/puppet $DEST/etc/puppet.backup } post_make_live() { - echo "Installing into Puppet:" - cd $TOP/release/puppet/modules - for dir in * - do - echo " $dir" - cp -Rp $dir $DEST/etc/puppet/modules - done + if [ -d $TOP/release/puppet/modules ]; then + echo "Installing into Puppet:" + cd $TOP/release/puppet/modules + if [ `ls -1 | wc -l` -gt 0 ]; then + for dir in * + do + echo " $dir" + cp -Rp $dir $DEST/etc/puppet/modules + done + fi + fi } make_live() { @@ -210,18 +214,21 @@ iso_copy_puppet() { tar xzf $DEST/puppet-slave.tgz cd $TOP/release/puppet/modules - verify_orig_files $TMP_ISOPUPPET/release/puppet $TOP/release/puppet/modules # Remove all .orig files before copying as they now have been verfied - find $TOP/release/puppet/modules -type f -name '*.orig' -exec rm {} \; - - for dir in $TOP/release/puppet/modules/* - do - echo " $dir" - cp -Rp $dir $TMP_ISOPUPPET/release/puppet - done - cd $TMP_ISOPUPPET/release/puppet + if [ -d $TOP/release/puppet/modules ]; then + if [ `ls -1 | wc -l` -gt 0 ]; then + verify_orig_files $TMP_ISOPUPPET/release/puppet $TOP/release/puppet/modules + find $TOP/release/puppet/modules -type f -name '*.orig' -exec rm {} \; + for dir in $TOP/release/puppet/modules/* + do + echo " $dir" + cp -Rp $dir $TMP_ISOPUPPET/release/puppet + done + fi + fi + cd $TMP_ISOPUPPET/release/puppet tar czf $DEST/puppet-slave.tgz . cd $TOP rm -Rf $TMP_ISOPUPPET @@ -250,7 +257,7 @@ iso_modify_image () { make_iso() { prep_make_iso copy_packages - iso_copy_puppet + #iso_copy_puppet iso_modify_image make_iso_image } @@ -263,6 +270,8 @@ copy_packages() { do echo " $udeb" cp $udeb $REPO/pool/debian-installer + echo "Did not expect a package here, not supported" + exit 1 done cd $TOP/release/packages/ubuntu/pool/main @@ -270,6 +279,8 @@ copy_packages() { do echo " $deb" cp $deb $REPO/pool/main + echo "Did not expect a package here, not supported" + exit 1 done echo "Running Fuel package patch file" @@ -277,6 +288,8 @@ copy_packages() { for line in `cat $TOP/apply_patches | grep -v "^#" | grep -v "^$"`; do echo "Line is $line" + echo "Did not expect a line here, not supported" + exit 1 ref=`echo $line | cut -d '>' -f 1` origpkg=`echo $line| cut -d '>' -f 2` url=`echo $line | cut -d '>' -f 3` @@ -315,10 +328,11 @@ copy_packages() { done printf "Done running Fuel patch file\n\n" - echo "Running add packages file" for line in `cat $TOP/add_opnfv_packages | grep -v "^#" | grep -v "^$"`; do echo "Line is $line" + echo "Did not expect a line here, not supported" + exit 1 ref=`echo $line | cut -d '>' -f 1` origpkg=`echo $line| cut -d '>' -f 2` url=`echo $line | cut -d '>' -f 3` @@ -370,6 +384,8 @@ copy_packages() { printf "\n\n" | tee -a $REPORTFILE for line in `cat $TOP/patch-packages/release/patch-replacements` do + echo "Did not expect a line here, not supported" + exit 1 frompkg=`echo $line | cut -d ">" -f 1` topkg=`echo $line | cut -d ">" -f 2` echo "CM: Applying patch to $frompkg" | tee -a $REPORTFILE @@ -411,17 +427,19 @@ copy_packages() { APT_DEB_CONF="$TOP/install/apt-ftparchive-deb.conf" APT_UDEB_CONF="$TOP/install/apt-ftparchive-udeb.conf" - apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}" - apt-ftparchive generate "${APT_UDEB_CONF}" + echo Not running echo apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}" + echo Not running apt-ftparchive -c "${APT_REL_CONF}" generate "${APT_DEB_CONF}" + echo Not running apt-ftparchive generate "${APT_UDEB_CONF}" + echo Not running apt-ftparchive generate "${APT_UDEB_CONF}" # Fuel also needs this index file - cat dists/precise/main/binary-amd64/Packages | \ - awk '/^Package:/{pkg=$2} - /^Version:/{print pkg ": \"" $2 "\""}' > ubuntu-versions.yaml - cp ubuntu-versions.yaml $DEST + # cat dists/trusty/main/binary-amd64/Packages | \ + # awk '/^Package:/{pkg=$2} + # /^Version:/{print pkg ": \"" $2 "\""}' > ubuntu-versions.yaml + # cp ubuntu-versions.yaml $DEST - apt-ftparchive -c "${APT_REL_CONF}" release dists/precise/ > dists/precise/Release - gzip -9cf dists/precise/Release > dists/precise/Release.gz + # apt-ftparchive -c "${APT_REL_CONF}" release dists/trusty/ > dists/trusty/Release + # gzip -9cf dists/trusty/Release > dists/trusty/Release.gz popd > /dev/null @@ -444,6 +462,8 @@ if [ $MODE = "iso" ]; then NEWISO=$3 VOLUMEID="$4 $5" REPORTFILE="${NEWISO}.txt" + echo "Opening reportfile at $REPORTFILE" + touch $REPORTFILE if [ ! -f $ORIGISO ]; then echo "Can't find original MOS 5.1 iso at $ORIGISO" rm $CONF diff --git a/fuel/build/install/uninstall.sh b/fuel/build/install/uninstall.sh index 36b8884..a9e74bc 100755 --- a/fuel/build/install/uninstall.sh +++ b/fuel/build/install/uninstall.sh @@ -31,17 +31,17 @@ DEST=$MOUNT REPO=$DEST/var/www/nailgun/ubuntu/fuelweb/x86_64 cd $REPO -if [ ! -f $REPO/dists/precise/main/binary-amd64/Packages.backup ]; then +if [ ! -f $REPO/dists/trusty/main/binary-amd64/Packages.backup ]; then echo "Error - didn't find backup file for Packages!" exit 1 fi -if [ ! -f $REPO/dists/precise/main/binary-amd64/Packages.gz.backup ]; then +if [ ! -f $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup ]; then echo "Error - didn't find backup file for Packages.gz!" exit 1 fi -if [ ! -f $REPO/dists/precise/Release.backup ]; then +if [ ! -f $REPO/dists/trusty/Release.backup ]; then echo "Error - didn't find backup file for Release!" exit 1 fi @@ -71,9 +71,9 @@ cd $REPO echo "Restoring backups of datafiles" -rm -f $REPO/dists/precise/main/binary-amd64/Packages $REPO/dists/precise/main/binary-amd64/Packages.gz -rm -f $REPO/dists/precise/Release $DEST/etc/puppet/manifests/site.pp -mv $REPO/dists/precise/main/binary-amd64/Packages.backup $REPO/dists/precise/main/binary-amd64/Packages -mv $REPO/dists/precise/main/binary-amd64/Packages.gz.backup $REPO/dists/precise/main/binary-amd64/Packages.gz -mv $REPO/dists/precise/Release.backup $REPO/dists/precise/Release +rm -f $REPO/dists/trusty/main/binary-amd64/Packages $REPO/dists/trusty/main/binary-amd64/Packages.gz +rm -f $REPO/dists/trusty/Release $DEST/etc/puppet/manifests/site.pp +mv $REPO/dists/trusty/main/binary-amd64/Packages.backup $REPO/dists/trusty/main/binary-amd64/Packages +mv $REPO/dists/trusty/main/binary-amd64/Packages.gz.backup $REPO/dists/trusty/main/binary-amd64/Packages.gz +mv $REPO/dists/trusty/Release.backup $REPO/dists/trusty/Release mv $DEST/etc/puppet/manifests/site.pp.backup $DEST/etc/puppet/manifests/site.pp diff --git a/fuel/build/patch-packages/Makefile b/fuel/build/patch-packages/Makefile index bd3a437..339c9e7 100644 --- a/fuel/build/patch-packages/Makefile +++ b/fuel/build/patch-packages/Makefile @@ -8,7 +8,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -SUBDIRS := debootstrap novnc neutron-common +SUBDIRS := SUBCLEAN = $(addsuffix .clean,$(SUBDIRS)) .PHONY: $(SUBDIRS) $(SUBCLEAN) clean diff --git a/fuel/build/patch-packages/debootstrap/Makefile b/fuel/build/patch-packages/debootstrap/Makefile deleted file mode 100644 index 0109312..0000000 --- a/fuel/build/patch-packages/debootstrap/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# stefan.k.berg@ericsson.com -# jonas.bjurel@ericsson.com -# 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 -############################################################################## - -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf udebPackage - @rm -rf *.udeb - @rm -rf patch-replacements - @rm -rf .udebpackage - -.PHONY: release -release: - ../tools/udeb_unpack debootstrap-udeb_1.0.4*.udeb $(ORIGISO) - patch -s -p0 < debootstrap.patch - ../tools/udeb_pack $(REVSTATE) - @cp *.udeb $(UDEB_DEST) diff --git a/fuel/build/patch-packages/debootstrap/debootstrap.patch b/fuel/build/patch-packages/debootstrap/debootstrap.patch deleted file mode 100644 index 62342c9..0000000 --- a/fuel/build/patch-packages/debootstrap/debootstrap.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- udebPackage/usr/share/debootstrap/scripts/gutsy.orig 2014-11-10 18:21:37.000000000 +0000 -+++ udebPackage/usr/share/debootstrap/scripts/gutsy 2015-04-15 09:28:44.290437000 +0000 -@@ -112,7 +112,8 @@ - - p; progress $baseprog $bases INSTCORE "Installing core packages" #2 - ln -sf mawk "$TARGET/usr/bin/awk" -- x_core_install base-files base-passwd -+ x_core_install base-passwd -+ x_core_install base-files - p; progress $baseprog $bases INSTCORE "Installing core packages" #3 - x_core_install dpkg - diff --git a/fuel/build/patch-packages/neutron-common/Makefile b/fuel/build/patch-packages/neutron-common/Makefile deleted file mode 100644 index e9d43a4..0000000 --- a/fuel/build/patch-packages/neutron-common/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf package - @rm -rf *.deb - @rm -rf patch-replacements - @rm -rf .package - -.PHONY: release -release: - ../tools/deb_unpack neutron-common_*.deb $(ORIGISO) - patch -s -p0 < quota.patch - ../tools/deb_pack $(REVSTATE) - @cp *.deb ../release/packages - @cat patch-replacements >> ../release/patch-replacements diff --git a/fuel/build/patch-packages/neutron-common/quota.patch b/fuel/build/patch-packages/neutron-common/quota.patch deleted file mode 100644 index 6f179f0..0000000 --- a/fuel/build/patch-packages/neutron-common/quota.patch +++ /dev/null @@ -1,67 +0,0 @@ -*** package/etc/neutron/neutron.conf.orig 2015-05-25 15:50:09.933131041 +0200 ---- package/etc/neutron/neutron.conf 2015-05-25 15:55:07.859210010 +0200 -*************** -*** 502,518 **** - # default_quota = -1 - - # Number of networks allowed per tenant. A negative value means unlimited. -! # quota_network = 10 - - # Number of subnets allowed per tenant. A negative value means unlimited. -! # quota_subnet = 10 - - # Number of ports allowed per tenant. A negative value means unlimited. - # quota_port = 50 - - # Number of security groups allowed per tenant. A negative value means - # unlimited. -! # quota_security_group = 10 - - # Number of security group rules allowed per tenant. A negative value means - # unlimited. ---- 502,521 ---- - # default_quota = -1 - - # Number of networks allowed per tenant. A negative value means unlimited. -! # This quota modified by OPNFV: 10 -> 50 -! quota_network = 50 - - # Number of subnets allowed per tenant. A negative value means unlimited. -! # This quota modified by OPNFV: 10 -> 50 -! quota_subnet = 50 - - # Number of ports allowed per tenant. A negative value means unlimited. - # quota_port = 50 - - # Number of security groups allowed per tenant. A negative value means - # unlimited. -! # This quota modified by OPNFV: 10 -> 50 -! quota_security_group = 50 - - # Number of security group rules allowed per tenant. A negative value means - # unlimited. -*************** -*** 538,547 **** - # quota_health_monitor = -1 - - # Number of routers allowed per tenant. A negative value means unlimited. -! # quota_router = 10 - - # Number of floating IPs allowed per tenant. A negative value means unlimited. -! # quota_floatingip = 50 - - # Number of firewalls allowed per tenant. A negative value means unlimited. - # quota_firewall = 1 ---- 541,552 ---- - # quota_health_monitor = -1 - - # Number of routers allowed per tenant. A negative value means unlimited. -! # This quota modified by OPNFV: 10 -> 50 -! quota_router = 50 - - # Number of floating IPs allowed per tenant. A negative value means unlimited. -! # This quota modified by OPNFV: 50 -> 100 -! quota_floatingip = 100 - - # Number of firewalls allowed per tenant. A negative value means unlimited. - # quota_firewall = 1 diff --git a/fuel/build/patch-packages/novnc/Makefile b/fuel/build/patch-packages/novnc/Makefile deleted file mode 100644 index 16c0196..0000000 --- a/fuel/build/patch-packages/novnc/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# This is a temporary patch which add missing files -# inside novnc ubuntu package. -# Related bug: https://bugs.launchpad.net/fuel/+bug/1433894 -TOP := $(shell pwd) - -.PHONY: all -all: - -.PHONY: clean -clean: - @rm -rf package - @rm -rf *.deb - @rm -rf patch-replacements - @rm -rf .package - -.PHONY: release -release: - ../tools/deb_unpack novnc_0.5.1*.deb $(ORIGISO) - ./fix-missing.sh - ../tools/deb_pack $(REVSTATE) - @cp *.deb ../release/packages - @cat patch-replacements >> ../release/patch-replacements diff --git a/fuel/build/patch-packages/novnc/fix-missing.sh b/fuel/build/patch-packages/novnc/fix-missing.sh deleted file mode 100755 index 61ef1db..0000000 --- a/fuel/build/patch-packages/novnc/fix-missing.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - -MISSING_FILES="keyboard.js keysymdef.js keysym.js" -NOVNC_SOURCE="http://raw.githubusercontent.com/kanaka/noVNC/v0.5.1/include" - -for file in $MISSING_FILES -do - wget -P package/usr/share/novnc/include/ "$NOVNC_SOURCE/$file" -done |