diff options
Diffstat (limited to 'fuel/build')
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 |