summaryrefslogtreecommitdiffstats
path: root/fuel-build/f_isoroot
diff options
context:
space:
mode:
authorJonas Bjurel <jonas.bjurel@ericsson.com>2015-03-02 22:46:45 +0100
committerJonas Bjurel <jonas.bjurel@ericsson.com>2015-03-09 23:00:13 +0100
commit6cb518c68eb136ad448e96716ef8b1348440949f (patch)
tree757551a8efdc4e85e19fc1b0f27555825580e5c9 /fuel-build/f_isoroot
parent1e106bbaca2780c10bd02b4e5fa3702d36acdf39 (diff)
Starting point for ODL Integration
***CAN BE MERGED*** - ODL build and installation (puppet manifests) including needed dependencies - Modified in accordance with Randy Levensalors comments - Added chmod 4755 /bin/fusermount due to that lately some systems dont install fuseiso withe SUID set for fusermount. Investing ongoing on why and why not consistent. - Rebased with master - ODL disabled in top Make (enable it by uncommenting the odl dirs - Removed white spaces - Hopefully fixed an issue with the docker ubuntu repos, added --no-cache=true to the fuel/docker/Make file. TODO: - Refactor collecting ODL and Java dependencies to one common place - Refactoring top Makefile - Adding CI hooks for build and deploy - Finishing integration plumbing wit Neutron/ML2 and OVS/OVSDB Change-Id: I13dd4d3a72d099316dfaa9f7cd9140781be2397b Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
Diffstat (limited to 'fuel-build/f_isoroot')
-rw-r--r--fuel-build/f_isoroot/Makefile31
-rw-r--r--fuel-build/f_isoroot/README16
-rw-r--r--fuel-build/f_isoroot/f_bootstrap/Makefile29
-rw-r--r--fuel-build/f_isoroot/f_bootstrap/README24
-rwxr-xr-xfuel-build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh105
-rwxr-xr-xfuel-build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig84
-rwxr-xr-xfuel-build/f_isoroot/f_bootstrap/post-scripts/00_post_example.sh4
-rwxr-xr-xfuel-build/f_isoroot/f_bootstrap/post-scripts/01_fix_iommubug.sh9
-rwxr-xr-xfuel-build/f_isoroot/f_bootstrap/post-scripts/02_fix_console_speed.sh15
-rwxr-xr-xfuel-build/f_isoroot/f_bootstrap/pre-scripts/00_pre_example.sh4
-rw-r--r--fuel-build/f_isoroot/f_kscfg/Makefile25
-rw-r--r--fuel-build/f_isoroot/f_kscfg/README18
-rwxr-xr-xfuel-build/f_isoroot/f_kscfg/ks.cfg572
-rw-r--r--fuel-build/f_isoroot/f_kscfg/ks.cfg.orig566
-rw-r--r--fuel-build/f_isoroot/f_predeployment/Makefile28
-rw-r--r--fuel-build/f_isoroot/f_predeployment/README18
-rwxr-xr-xfuel-build/f_isoroot/f_predeployment/pre-deploy.sh401
-rwxr-xr-xfuel-build/f_isoroot/f_predeployment/sysinfo.sh12
-rwxr-xr-xfuel-build/f_isoroot/f_predeployment/transform_yaml.py68
19 files changed, 0 insertions, 2029 deletions
diff --git a/fuel-build/f_isoroot/Makefile b/fuel-build/f_isoroot/Makefile
deleted file mode 100644
index 2fdbbae..0000000
--- a/fuel-build/f_isoroot/Makefile
+++ /dev/null
@@ -1,31 +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
-##############################################################################
-
-SUBDIRS = f_predeployment f_kscfg f_bootstrap
-SUBCLEAN = $(addsuffix .clean,$(SUBDIRS))
-
-.PHONY: all
-all: $(SUBDIRS)
-
-.PHONY: $(SUBDIRS)
-$(SUBDIRS):
- @mkdir -p release
- $(MAKE) -C $@ -f Makefile release
-
-.PHONY: clean $(SUBCLEAN)
-clean: $(SUBCLEAN)
- @rm -Rf release
-
-$(SUBCLEAN): %.clean:
- $(MAKE) -C $* -f Makefile clean
-
-.PHONY: release
-release:clean $(SUBDIRS)
- @cp -Rvp release/* ../release/isoroot
diff --git a/fuel-build/f_isoroot/README b/fuel-build/f_isoroot/README
deleted file mode 100644
index eb54c08..0000000
--- a/fuel-build/f_isoroot/README
+++ /dev/null
@@ -1,16 +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 to (a) replace/patch existing Fuel ISO files as well
-as adding new information directly into the ISO structure
-
-Please separate changes into "patches" and new content into
-"additions". Both directories will be anchored at the ISO file
-root.
diff --git a/fuel-build/f_isoroot/f_bootstrap/Makefile b/fuel-build/f_isoroot/f_bootstrap/Makefile
deleted file mode 100644
index 7404319..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/Makefile
+++ /dev/null
@@ -1,29 +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/bootstrap/pre.d
- @mkdir -p release/opnfv/bootstrap/post.d
- @mkdir -p release/usr/local/sbin
- @cp pre-scripts/* release/opnfv/bootstrap/pre.d
- @cp post-scripts/* release/opnfv/bootstrap/post.d
- @cp bootstrap_admin_node.sh release
- @cp bootstrap_admin_node.sh.orig release
-
-.PHONY: clean
-clean:
- @rm -rf release
-
-.PHONY: release
-release:all
- @cp -Rvp release/* ../release
diff --git a/fuel-build/f_isoroot/f_bootstrap/README b/fuel-build/f_isoroot/f_bootstrap/README
deleted file mode 100644
index 5da954c..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/README
+++ /dev/null
@@ -1,24 +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 function modifies the adds hooks to the beginning and end of
-/usr/local/sbin/bootstrap_admin_nodes.sh, which is run as the
-last post step from ks.cfg
-
-This enables other functions to place scripts into two directories
-run either at the beginning or the end of the bootstrap procedure:
-
- /opt/opnfv/bootstrap/pre.d
- /opt/opnfv/bootstrap/post.d
-
-These will be run in lexical order at pre or post.
-
-CI note: Using pre.d, it would be possible to "inject" a pre-defined
-astute.yaml for Fuel.
diff --git a/fuel-build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh b/fuel-build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh
deleted file mode 100755
index 348ce3c..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/bash
-
-function countdown() {
- local i
- sleep 1
- for ((i=$1-1; i>=1; i--)); do
- printf '\b\b%02d' "$i"
- sleep 1
- done
-}
-
-function fail() {
- echo "ERROR: Fuel node deployment FAILED! Check /var/log/puppet/bootstrap_admin_node.log for details" 1>&2
- exit 1
-}
-# LANG variable is a workaround for puppet-3.4.2 bug. See LP#1312758 for details
-export LANG=en_US.UTF8
-showmenu="no"
-if [ -f /root/.showfuelmenu ]; then
- . /root/.showfuelmenu
-fi
-
-echo -n "Applying default Fuel settings..."
-fuelmenu --save-only --iface=eth0
-echo "Done!"
-
-### OPNFV addition BEGIN
-shopt -s nullglob
-for script in /opt/opnfv/bootstrap/pre.d/*.sh
-do
- echo "Pre script: $script" >> /root/pre.log 2>&1
- $script >> /root/pre.log 2>&1
-done
-shopt -u nullglob
-### OPNFV addition END
-
-if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
- fuelmenu
- else
- #Give user 15 seconds to enter fuelmenu or else continue
- echo
- echo -n "Press a key to enter Fuel Setup (or press ESC to skip)... 15"
- countdown 15 & pid=$!
- if ! read -s -n 1 -t 15 key; then
- echo -e "\nSkipping Fuel Setup..."
- else
- { 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
- ;;
- 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"
-
-# extract docker images
-mkdir -p $images_dir $sources_dir
-rm -f $images_dir/*tar
-pushd $images_dir &>/dev/null
-
-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
-
-# 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
-
-# apply puppet
-puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp
-if [ $? -ge 4 ];then
- fail
-fi
-rmdir /var/log/remote && ln -s /var/log/docker-logs/remote /var/log/remote
-
-dockerctl check || fail
-bash /etc/rc.local
-
-### OPNFV addition BEGIN
-shopt -s nullglob
-for script in /opt/opnfv/bootstrap/post.d/*.sh
-do
- echo "Post script: $script" >> /root/post.log 2>&1
- $script >> /root/post.log 2>&1
-done
-shopt -u nullglob
-### OPNFV addition END
-
-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
deleted file mode 100755
index 7b6e6bd..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig
+++ /dev/null
@@ -1,84 +0,0 @@
-#!/bin/bash
-
-function countdown() {
- local i
- sleep 1
- for ((i=$1-1; i>=1; i--)); do
- printf '\b\b%02d' "$i"
- sleep 1
- done
-}
-
-function fail() {
- echo "ERROR: Fuel node deployment FAILED! Check /var/log/puppet/bootstrap_admin_node.log for details" 1>&2
- exit 1
-}
-# LANG variable is a workaround for puppet-3.4.2 bug. See LP#1312758 for details
-export LANG=en_US.UTF8
-showmenu="no"
-if [ -f /root/.showfuelmenu ]; then
- . /root/.showfuelmenu
-fi
-
-echo -n "Applying default Fuel settings..."
-fuelmenu --save-only --iface=eth0
-echo "Done!"
-
-if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
- fuelmenu
- else
- #Give user 15 seconds to enter fuelmenu or else continue
- echo
- echo -n "Press a key to enter Fuel Setup (or press ESC to skip)... 15"
- countdown 15 & pid=$!
- if ! read -s -n 1 -t 15 key; then
- echo -e "\nSkipping Fuel Setup..."
- else
- { 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
- ;;
- 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"
-
-# extract docker images
-mkdir -p $images_dir $sources_dir
-rm -f $images_dir/*tar
-pushd $images_dir &>/dev/null
-
-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
-
-# 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
-
-# apply puppet
-puppet apply --detailed-exitcodes -d -v /etc/puppet/modules/nailgun/examples/host-only.pp
-if [ $? -ge 4 ];then
- fail
-fi
-rmdir /var/log/remote && ln -s /var/log/docker-logs/remote /var/log/remote
-
-dockerctl check || fail
-bash /etc/rc.local
-echo "Fuel node deployment complete!"
diff --git a/fuel-build/f_isoroot/f_bootstrap/post-scripts/00_post_example.sh b/fuel-build/f_isoroot/f_bootstrap/post-scripts/00_post_example.sh
deleted file mode 100755
index 7ac8965..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/post-scripts/00_post_example.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#/bin/sh
-date
-echo "This is an example file run at post-bootstrap."
-exit 0
diff --git a/fuel-build/f_isoroot/f_bootstrap/post-scripts/01_fix_iommubug.sh b/fuel-build/f_isoroot/f_bootstrap/post-scripts/01_fix_iommubug.sh
deleted file mode 100755
index 79aa31a..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/post-scripts/01_fix_iommubug.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#/bin/sh
-echo "Setting intel_iommu=off in bootstrap profile - a fix for the Dell systems"
-echo "Old settings"
-dockerctl shell cobbler cobbler profile report --name bootstrap
-echo "Modifying"
-dockerctl shell cobbler cobbler profile edit --name bootstrap --kopts "intel_iommu=off" --in-place
-echo "New settings"
-dockerctl shell cobbler cobbler profile report --name bootstrap
-
diff --git a/fuel-build/f_isoroot/f_bootstrap/post-scripts/02_fix_console_speed.sh b/fuel-build/f_isoroot/f_bootstrap/post-scripts/02_fix_console_speed.sh
deleted file mode 100755
index bf7591b..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/post-scripts/02_fix_console_speed.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#/bin/sh
-echo "Changing console speed to 115200 (std is 9600) on bootstrap"
-echo "Old settings"
-dockerctl shell cobbler cobbler profile report --name bootstrap
-echo "Modifying"
-dockerctl shell cobbler cobbler profile edit --name bootstrap --kopts "console=tty0 console=ttyS0,115200" --in-place
-echo "New settings"
-dockerctl shell cobbler cobbler profile report --name bootstrap
-echo "Setting console speed to 115200 on ubuntu_1204_x86_64 (std is no serial console)"
-echo "Old settings"
-dockerctl shell cobbler cobbler profile report --name ubuntu_1204_x86_64
-echo "Modifying"
-dockerctl shell cobbler cobbler profile edit --name ubuntu_1204_x86_64 --kopts "console=tty0 console=ttyS0,115200" --in-place
-echo "New settings"
-dockerctl shell cobbler cobbler profile report --name ubuntu_1204_x86_64
diff --git a/fuel-build/f_isoroot/f_bootstrap/pre-scripts/00_pre_example.sh b/fuel-build/f_isoroot/f_bootstrap/pre-scripts/00_pre_example.sh
deleted file mode 100755
index ac427bf..0000000
--- a/fuel-build/f_isoroot/f_bootstrap/pre-scripts/00_pre_example.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#/bin/sh
-date
-echo "This is an example file run at pre-bootstrap."
-exit 0
diff --git a/fuel-build/f_isoroot/f_kscfg/Makefile b/fuel-build/f_isoroot/f_kscfg/Makefile
deleted file mode 100644
index 38305fd..0000000
--- a/fuel-build/f_isoroot/f_kscfg/Makefile
+++ /dev/null
@@ -1,25 +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
- @cp ks.cfg release
- @cp ks.cfg.orig release
-
-.PHONY: clean
-clean:
- @rm -rf release
-
-.PHONY: release
-release: all
- @cp -Rvp release/* ../release
diff --git a/fuel-build/f_isoroot/f_kscfg/README b/fuel-build/f_isoroot/f_kscfg/README
deleted file mode 100644
index c85efde..0000000
--- a/fuel-build/f_isoroot/f_kscfg/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 function modifies the ks.cfg of the Fuel master to
-make copy whatever is in the top level opnfv directory
-of the ISO (populated by, for example, f_configfrontend) to
-/opt/opnfv. In the end this is where the installation
-parts will evolve.
-
-This is also the place to force the installation to overwrite
-the disk (set forceformat="yes" instead of "no").
diff --git a/fuel-build/f_isoroot/f_kscfg/ks.cfg b/fuel-build/f_isoroot/f_kscfg/ks.cfg
deleted file mode 100755
index 932e9ac..0000000
--- a/fuel-build/f_isoroot/f_kscfg/ks.cfg
+++ /dev/null
@@ -1,572 +0,0 @@
-install
-text
-%include /tmp/source.ks
-reboot --eject
-lang en_US.UTF-8
-keyboard us
-rootpw r00tme
-timezone --utc Etc/UTC
-firewall --disabled
-selinux --disabled
-# ignore unsupported hardware warning
-unsupported_hardware
-# SKIP CONFIGURING X
-skipx
-# NEVER ever place zerombr here, it breaks automated installation
-%include /tmp/bootloader.ks
-%include /tmp/partition.ks
-
-# PREINSTALL SECTION
-# HERE ARE COMMANDS THAT WILL BE LAUNCHED BEFORE
-# INSTALLATION PROCESS ITSELF
-%pre
-#!/bin/sh
-
-# hard drives
-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}"
- fi
-done
-default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'`
-
-installdrive="undefined"
-forceformat="no"
-for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-
-set ${drives} ${removable_drives}
-numdrives=`echo $#`
-
-tgtdrive="${installdrive}"
-
-function confirm_format {
- check_drive="$1"
- local confirm_format="no"
-
- if [[ "$forceformat" == "yes" ]] ; then
- return 0
- fi
-
- if parted -s /dev/$check_drive print &>/dev/null ; then
- echo
- echo "$check_drive drive contains partition table:"
- parted -s /dev/$check_drive print
- echo
- read -p "Are you sure you want to erase ALL data on disk $check_drive? (y/N)" confirm_format
- if [[ "$confirm_format" == "y" ]] || [[ "$confirm_format" == "Y" ]] || [[ "$forceformat" == "yes" ]]; then
- return 0
- else
- return 1
- fi
- else
- return 0
- fi
-}
-
-format_confirmed="no"
-
-if [ $numdrives -lt 1 ]; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- clear
- echo
- echo '********************************************************************'
- echo '* E R R O R *'
- echo '* *'
- echo '* There is no suitable media available for installation. *'
- echo '* Please attach a drive and try again. *'
- echo '* *'
- echo '********************************************************************'
- echo
- read -p "Press Enter to shut down the system: " _
- poweroff
-fi
-
-if [ ${numdrives} -gt 1 ] || [ `echo ${drives} | wc -w` -eq 0 ] ; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- while [ "${tgtdrive}" = "undefined" ]; do
- clear
- echo
- echo '********************************************************************************'
- echo '* W A R N I N G *'
- echo '* *'
- echo '* Which of the detected hard drives do you want to be used as *'
- echo '* the installation target? *'
- echo '* *'
- echo '********************************************************************************'
- echo
- echo "Possible choices"
- echo "Persistent drives: ${drives}"
- echo "Removable drives: ${removable_drives}"
- echo
- if [ `echo ${drives} | wc -w` -eq 1 ] ; then
- read -t 30 -p "Choose hard drive: " tgtdrive || tgtdrive=$default_drive
- else
- read -p "Choose hard drive: " tgtdrive
- fi
- match="no"
- for drive in ${drives[@]} ${removable_drives[@]}; do
- if [[ "$drive" == "$tgtdrive" ]] && match="yes" ; then
- if confirm_format $tgtdrive ; then
- format_confirmed="yes"
- break
- else
- tgtdrive="undefined"
- read -p "You may select another disk. Press Enter to continue." _
- fi
- fi
- done
- if [[ "$match" == "no" ]]; then
- tgtdrive="undefined"
- read -p "Invalid choice. Press Enter to continue." _
- fi
- done
- clear
- chvt 1
-else
- tgtdrive=`echo ${drives} | sed -e "s/^\s*//" -e "s/\s*$//"`
-fi
-
-if [ "$format_confirmed" != "yes" ] ; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- if ! confirm_format $tgtdrive ; then
- clear
- echo
- echo '********************************************************************'
- echo '* E R R O R *'
- echo '* *'
- echo '* Disk $tgtdrive contains active partition(s). *'
- echo '* Installation cannot continue without confirmation. *'
- echo '* *'
- echo '********************************************************************'
- echo
- read -p "Press Enter to restart: " _
- reboot
- fi
- chvt 1
-fi
-
-# verify tgtdrive is at least 30GB
-tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size") / 2 / 1024 ))
-if [ $tgtdrivesize -lt 30720 ]; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- clear
- echo
- echo '********************************************************************'
- echo '* E R R O R *'
- echo '* *'
- echo '* Your disk is under 30GB in size. Installation cannot continue. *'
- echo '* Restart installation with a larger disk. *'
- echo '* *'
- echo '********************************************************************'
- echo
- read -p "Press Enter to restart: " _
- reboot
-fi
-
-# paths in /dev have "/" instead of "!" for cciss devices
-tgtdrive=$(echo $tgtdrive | sed -e 's/!/\//')
-
-# source
-if 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
-fi
-
-vgremove -ff os
-dd if=/dev/zero of=/dev/${tgtdrive} bs=10M count=10
-sleep 3
-hdparm -z /dev/${tgtdrive}
-parted -s /dev/${tgtdrive} mklabel gpt
-parted -a none -s /dev/${tgtdrive} unit MiB mkpart primary 0 24
-parted -s /dev/${tgtdrive} set 1 bios_grub on
-parted -a none -s /dev/${tgtdrive} unit MiB mkpart primary fat16 24 224
-parted -s /dev/${tgtdrive} set 2 boot on
-parted -a none -s /dev/${tgtdrive} unit MiB mkpart primary 224 424
-sleep 3
-hdparm -z /dev/${tgtdrive}
-
-# partition
-
-# This adds support for the p seperator required for cciss devices
-if echo ${tgtdrive} | grep -q -e cciss ; then
- bootdev=${tgtdrive}p
-else
- bootdev=${tgtdrive}
-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 "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=1 --grow --name=var --fstype=xfs" >> /tmp/partition.ks
-
-# bootloader
-echo "bootloader --location=mbr --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
-# and it simply thinks that the cylinder number has negative value.
-# Here we just set geometry manually so that grub thinks that disk
-# size is equal to 1G.
-# 130 cylinders * (16065 * 512 = 8225280 bytes) = 1G
-echo "%post --nochroot --log=/mnt/sysimage/root/anaconda-post-partition.log" > /tmp/post_partition.ks
-echo "echo \"device (hd0) /dev/${tgtdrive}\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo \"geometry (hd0) 130 255 63\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo \"root (hd0,2)\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo \"install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo quit >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "cat /tmp/grub.script | chroot /mnt/sysimage /sbin/grub --no-floppy --batch" >> /tmp/post_partition.ks
-
-%end
-
-%packages --nobase --excludedocs
-@Core
-authconfig
-bind-utils
-cronie
-crontabs
-curl
-daemonize
-dhcp
-docker-io
-fuelmenu
-gdisk
-lrzip
-lsof
-man
-mlocate
-nmap-ncat
-ntp
-openssh-clients
-policycoreutils
-rsync
-ruby21-puppet
-ruby21-rubygem-netaddr
-ruby21-rubygem-openstack
-selinux-policy-targeted
-strace
-subscription-manager
-sysstat
-system-config-firewall-base
-tcpdump
-telnet
-vim-enhanced
-virt-what
-wget
-yum
-
-%include /tmp/post_partition.ks
-
-# POSTINSTALL SECTION
-# HERE ARE COMMANDS THAT WILL BE LAUNCHED JUST AFTER
-# INSTALLATION ITSELF COMPLETED
-%post
-echo -e "modprobe nf_conntrack_ipv4\nmodprobe nf_conntrack_ipv6\nmodprobe nf_conntrack_tftp\nmodprobe nf_nat_tftp" >> /etc/rc.modules
-chmod +x /etc/rc.modules
-echo -e "net.nf_conntrack_max=1048576" >> /etc/sysctl.conf
-mkdir -p /var/log/coredump
-echo -e "kernel.core_pattern=/var/log/coredump/core.%e.%p.%h.%t" >> /etc/sysctl.conf
-chmod 777 /var/log/coredump
-echo -e "* soft core unlimited\n* hard core unlimited" >> /etc/security/limits.conf
-
-# Mount installation media in chroot
-%post --nochroot --log=/mnt/sysimage/root/anaconda-post-before-chroot.log
-#!/bin/sh
-
-SOURCE="/mnt/sysimage/tmp/source"
-
-for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-
-mkdir -p "${SOURCE}"
-
-case "${repo}" in
- nfs:*)
- nfs_url="${repo#nfs:}"
- mount -t nfs "${nfs_url}" "${SOURCE}"
- ;;
- *)
- if [ -d "/mnt/source" ]; then
- mount -o bind "/mnt/source" "${SOURCE}"
- fi
- ;;
-esac
-
-%post --log=/root/anaconda-post-after-chroot.log
-#!/bin/bash
-
-set -x
-
-function save_cfg {
- scrFile="/etc/sysconfig/network-scripts/ifcfg-$device"
- search="domain $domain\nsearch $domain"
- sed -i -e 's#^\(HOSTNAME=\).*$#\1'"$hostname"'#' /etc/sysconfig/network
- grep -q "^\s*$ip\s+$hostname" /etc/hosts || echo "$ip $hostname" >> /etc/hosts
- echo "${search}\nnameserver 127.0.0.1" > /etc/resolv.conf
- [ $dns1 ] && echo -e "${search}\nnameserver $dns1" > /etc/resolv.conf
- [ $dns1 ] && echo -e "${search}\nnameserver $dns1" > /etc/dnsmasq.upstream
- [ $dns2 ] && echo "nameserver $dns2" >> /etc/resolv.conf
- [ $dns2 ] && echo "nameserver $dns2" >> /etc/dnsmasq.upstream
-
- echo DEVICE=$device > $scrFile
- echo ONBOOT=yes >> $scrFile
- echo NM_CONTROLLED=no >> $scrFile
- echo HWADDR=$hwaddr >> $scrFile
- echo USERCTL=no >> $scrFile
- echo PEERDNS=no >> $scrFile
- if [ $ip ]; then
- echo BOOTPROTO=static >> $scrFile
- echo IPADDR=$ip >> $scrFile
- echo NETMASK=$netmask >> $scrFile
- else
- echo BOOTPROTO=dhcp >> $scrFile
- fi
- scrDHCPFile="/etc/sysconfig/network-scripts/ifcfg-$dhcp_interface"
- #Ignore gateway and set up DHCP if it is used, otherwise apply it
- if [ $dhcp_interface ] && [ "$dhcp_interface" != "$device" ]; then
- echo "DEVICE=$dhcp_interface" > $scrDHCPFile
- echo "BOOTPROTO=dhcp" >> $scrDHCPFile
- echo "ONBOOT=yes" >> $scrDHCPFile
- echo "USERCTL=no" >> $scrDHCPFile
- else
- echo GATEWAY=$gw >> /etc/sysconfig/network
- fi
-}
-
-# Default FQDN
-hostname="nailgun.mirantis.com"
-
-for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-hostname=$hostname
-domain=${hostname#*.}
-ip=$ip
-netmask=$netmask
-gw=$gw
-device="eth0"
-hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'`
-dhcp_interface=$dhcp_interface
-save_cfg
-
-# Mounting installation source
-SOURCE=/tmp/source
-FS=/tmp/fs
-
-echo
-mkdir -p ${SOURCE}
-mkdir -p ${FS}
-
-if 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
-
-OPENSTACK_VERSION=`cat ${SOURCE}/openstack_version`
-
-# ----------------------
-# UNPACKING REPOSITORIES
-# ----------------------
-
-wwwdir="/var/www/nailgun"
-repodir="${wwwdir}/${OPENSTACK_VERSION}"
-
-# Copying Centos files
-mkdir -p ${repodir}/centos/x86_64
-cp -r ${SOURCE}/images ${repodir}/centos/x86_64
-cp -r ${SOURCE}/isolinux ${repodir}/centos/x86_64
-cp -r ${SOURCE}/repodata ${repodir}/centos/x86_64
-cp -r ${SOURCE}/Packages ${repodir}/centos/x86_64
-cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
-
-# Copying Ubuntu files
-mkdir -p ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/x86_64/images
-
-# make links for backward compatibility
-ln -s ${repodir}/centos ${wwwdir}/centos
-ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu
-
-# Copying bootstrap image
-mkdir -p ${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/
-
-# TODO(ikalnitsky): investigate why we need this
-cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
-
-# place modules and manifests
-tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
-cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
-cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/${OPENSTACK_VERSION}/manifests/
-
-# make links for backward compatibility
-pushd /etc/puppet
-ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
-ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
-popd
-
-cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
-mkdir -p /var/lib/hiera
-touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
-
-# Deploy docker images and ctl tools if we built ISO with docker containers support
-[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${wwwdir}/docker
-
-# Prepare local repository specification
-rm /etc/yum.repos.d/CentOS*.repo
-cat > /etc/yum.repos.d/nailgun.repo << EOF
-[nailgun]
-name=Nailgun Local Repo
-baseurl=file:/var/www/nailgun/${OPENSTACK_VERSION}/centos/x86_64
-gpgcheck=0
-EOF
-
-# Disable subscription-manager plugins
-sed -i 's/^enabled.*/enabled=0/' /etc/yum/pluginconf.d/product-id.conf || :
-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
-
-# 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
-chmod 0777 /usr/local/sbin/bootstrap_admin_node.sh
-cp ${SOURCE}/bootstrap_admin_node.conf /etc/init/bootstrap_admin_node.conf
-echo "ENABLED=1" > /etc/sysconfig/bootstrap_admin_node
-
-# Copying version.yaml file. It contains COMMIT_SHA of last commit.
-RELEASE=$(awk '/release/{gsub(/"/, "");print $2}' ${SOURCE}/version.yaml)
-mkdir -p /etc/nailgun /etc/fuel/${RELEASE} /etc/fuel/release_versions
-cp ${SOURCE}/version.yaml /etc/nailgun/version.yaml
-cp ${SOURCE}/version.yaml /etc/fuel/${RELEASE}/version.yaml
-ln -s /etc/fuel/${RELEASE}/version.yaml /etc/fuel/version.yaml
-cp ${SOURCE}/version.yaml /etc/fuel/release_versions/`cat ${SOURCE}/openstack_version`.yaml
-
-# Generete Fuel UUID
-uuidgen > /etc/fuel/fuel-uuid
-
-###Run fuel menu
-[ -z "$showmenu" ] && showmenu="no"
-cat > /root/.showfuelmenu << EOF
-#Set to yes to run Fuel Setup
-#Set to no to accept default settings
-showmenu=$showmenu
-EOF
-
-# Prepare custom /etc/issue logon banner and script for changing IP in it
-cat > /etc/issue << EOF
-#########################################
-# Welcome to the Fuel server #
-#########################################
-Server is running on \m platform
-
-Fuel UI is available on:
-http://:8000
-
-Default administrator login: root
-Default administrator password: r00tme
-
-Default Fuel UI login: admin
-Default Fuel UI password: admin
-
-Please change root password on first login.
-
-EOF
-
-
-cat >> '/etc/rc.local' << EOF
-first=yes
-for ip in \$(ip -o -4 addr | grep "eth." | awk '{print \$4 }' | cut -d/ -f1); do
-if [ "\$first" = "yes" ]; then
- ipstr="Fuel UI is available on: http://\$ip:8000"
- first=no
-else
- ipstr=\$(printf "%s\n%25s%s" "\$ipstr" " " "http://\$ip:8000")
-fi
-done
-tmpissue=\$(mktemp)
-while read -r line; do
- if [[ "\$line" =~ "Fuel UI is available on" ]]; then
- echo -e "\$ipstr" >> \$tmpissue
- elif [[ "\$line" =~ :8000$ ]]; then
- :
- else
- echo -e "\$line" >> \$tmpissue
- fi
-done < /etc/issue
-mv "\$tmpissue" /etc/issue
-
-EOF
-
-######### OPNFV addition BEGIN ############
-# Copy data into /opt/opnfv
-# TODO: This ought to be a package instead!
-mkdir -p /opt/opnfv
-cp -r ${SOURCE}/opnfv /opt
-######### OPNFV addition END ############
-
-# Unmounting source
-umount -f ${SOURCE}
-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
-
-# 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.
-sed -i /etc/rc.d/init.d/ntpdate -e 's/\([ $RETVAL -eq 0 ] && success || \)failure/\1success/'
-
-# Disabling splash
-sed -i --follow-symlinks -e '/^\skernel/ s/rhgb//' /etc/grub.conf
-sed -i --follow-symlinks -e '/^\skernel/ s/quiet//' /etc/grub.conf
-
-# Disabling console clearing
-sed -i 's/getty/getty --noclear/' /etc/init/tty.conf
-
-# Disabling starting first console from start-ttys service
-sed -i --follow-symlinks -e 's/ACTIVE_CONSOLES=.*/ACTIVE_CONSOLES=\/dev\/tty\[2-6\]/' /etc/sysconfig/init
-
-# Copying default bash settings to the root directory
-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
diff --git a/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig b/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig
deleted file mode 100644
index 44f9f42..0000000
--- a/fuel-build/f_isoroot/f_kscfg/ks.cfg.orig
+++ /dev/null
@@ -1,566 +0,0 @@
-install
-text
-%include /tmp/source.ks
-reboot --eject
-lang en_US.UTF-8
-keyboard us
-rootpw r00tme
-timezone --utc Etc/UTC
-firewall --disabled
-selinux --disabled
-# ignore unsupported hardware warning
-unsupported_hardware
-# SKIP CONFIGURING X
-skipx
-# NEVER ever place zerombr here, it breaks automated installation
-%include /tmp/bootloader.ks
-%include /tmp/partition.ks
-
-# PREINSTALL SECTION
-# HERE ARE COMMANDS THAT WILL BE LAUNCHED BEFORE
-# INSTALLATION PROCESS ITSELF
-%pre
-#!/bin/sh
-
-# hard drives
-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}"
- fi
-done
-default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'`
-
-installdrive="undefined"
-forceformat="no"
-for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-
-set ${drives} ${removable_drives}
-numdrives=`echo $#`
-
-tgtdrive="${installdrive}"
-
-function confirm_format {
- check_drive="$1"
- local confirm_format="no"
-
- if [[ "$forceformat" == "yes" ]] ; then
- return 0
- fi
-
- if parted -s /dev/$check_drive print &>/dev/null ; then
- echo
- echo "$check_drive drive contains partition table:"
- parted -s /dev/$check_drive print
- echo
- read -p "Are you sure you want to erase ALL data on disk $check_drive? (y/N)" confirm_format
- if [[ "$confirm_format" == "y" ]] || [[ "$confirm_format" == "Y" ]] || [[ "$forceformat" == "yes" ]]; then
- return 0
- else
- return 1
- fi
- else
- return 0
- fi
-}
-
-format_confirmed="no"
-
-if [ $numdrives -lt 1 ]; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- clear
- echo
- echo '********************************************************************'
- echo '* E R R O R *'
- echo '* *'
- echo '* There is no suitable media available for installation. *'
- echo '* Please attach a drive and try again. *'
- echo '* *'
- echo '********************************************************************'
- echo
- read -p "Press Enter to shut down the system: " _
- poweroff
-fi
-
-if [ ${numdrives} -gt 1 ] || [ `echo ${drives} | wc -w` -eq 0 ] ; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- while [ "${tgtdrive}" = "undefined" ]; do
- clear
- echo
- echo '********************************************************************************'
- echo '* W A R N I N G *'
- echo '* *'
- echo '* Which of the detected hard drives do you want to be used as *'
- echo '* the installation target? *'
- echo '* *'
- echo '********************************************************************************'
- echo
- echo "Possible choices"
- echo "Persistent drives: ${drives}"
- echo "Removable drives: ${removable_drives}"
- echo
- if [ `echo ${drives} | wc -w` -eq 1 ] ; then
- read -t 30 -p "Choose hard drive: " tgtdrive || tgtdrive=$default_drive
- else
- read -p "Choose hard drive: " tgtdrive
- fi
- match="no"
- for drive in ${drives[@]} ${removable_drives[@]}; do
- if [[ "$drive" == "$tgtdrive" ]] && match="yes" ; then
- if confirm_format $tgtdrive ; then
- format_confirmed="yes"
- break
- else
- tgtdrive="undefined"
- read -p "You may select another disk. Press Enter to continue." _
- fi
- fi
- done
- if [[ "$match" == "no" ]]; then
- tgtdrive="undefined"
- read -p "Invalid choice. Press Enter to continue." _
- fi
- done
- clear
- chvt 1
-else
- tgtdrive=`echo ${drives} | sed -e "s/^\s*//" -e "s/\s*$//"`
-fi
-
-if [ "$format_confirmed" != "yes" ] ; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- if ! confirm_format $tgtdrive ; then
- clear
- echo
- echo '********************************************************************'
- echo '* E R R O R *'
- echo '* *'
- echo '* Disk $tgtdrive contains active partition(s). *'
- echo '* Installation cannot continue without confirmation. *'
- echo '* *'
- echo '********************************************************************'
- echo
- read -p "Press Enter to restart: " _
- reboot
- fi
- chvt 1
-fi
-
-# verify tgtdrive is at least 30GB
-tgtdrivesize=$(( $(cat "/sys/class/block/${tgtdrive}/size") / 2 / 1024 ))
-if [ $tgtdrivesize -lt 30720 ]; then
- exec < /dev/tty3 > /dev/tty3 2>&1
- chvt 3
- clear
- echo
- echo '********************************************************************'
- echo '* E R R O R *'
- echo '* *'
- echo '* Your disk is under 30GB in size. Installation cannot continue. *'
- echo '* Restart installation with a larger disk. *'
- echo '* *'
- echo '********************************************************************'
- echo
- read -p "Press Enter to restart: " _
- reboot
-fi
-
-# paths in /dev have "/" instead of "!" for cciss devices
-tgtdrive=$(echo $tgtdrive | sed -e 's/!/\//')
-
-# source
-if 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
-fi
-
-vgremove -ff os
-dd if=/dev/zero of=/dev/${tgtdrive} bs=10M count=10
-sleep 3
-hdparm -z /dev/${tgtdrive}
-parted -s /dev/${tgtdrive} mklabel gpt
-parted -a none -s /dev/${tgtdrive} unit MiB mkpart primary 0 24
-parted -s /dev/${tgtdrive} set 1 bios_grub on
-parted -a none -s /dev/${tgtdrive} unit MiB mkpart primary fat16 24 224
-parted -s /dev/${tgtdrive} set 2 boot on
-parted -a none -s /dev/${tgtdrive} unit MiB mkpart primary 224 424
-sleep 3
-hdparm -z /dev/${tgtdrive}
-
-# partition
-
-# This adds support for the p seperator required for cciss devices
-if echo ${tgtdrive} | grep -q -e cciss ; then
- bootdev=${tgtdrive}p
-else
- bootdev=${tgtdrive}
-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 "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=1 --grow --name=var --fstype=xfs" >> /tmp/partition.ks
-
-# bootloader
-echo "bootloader --location=mbr --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
-# and it simply thinks that the cylinder number has negative value.
-# Here we just set geometry manually so that grub thinks that disk
-# size is equal to 1G.
-# 130 cylinders * (16065 * 512 = 8225280 bytes) = 1G
-echo "%post --nochroot --log=/mnt/sysimage/root/anaconda-post-partition.log" > /tmp/post_partition.ks
-echo "echo \"device (hd0) /dev/${tgtdrive}\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo \"geometry (hd0) 130 255 63\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo \"root (hd0,2)\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo \"install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf\" >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "echo quit >> /tmp/grub.script" >> /tmp/post_partition.ks
-echo "cat /tmp/grub.script | chroot /mnt/sysimage /sbin/grub --no-floppy --batch" >> /tmp/post_partition.ks
-
-%end
-
-%packages --nobase --excludedocs
-@Core
-authconfig
-bind-utils
-cronie
-crontabs
-curl
-daemonize
-dhcp
-docker-io
-fuelmenu
-gdisk
-lrzip
-lsof
-man
-mlocate
-nmap-ncat
-ntp
-openssh-clients
-policycoreutils
-rsync
-ruby21-puppet
-ruby21-rubygem-netaddr
-ruby21-rubygem-openstack
-selinux-policy-targeted
-strace
-subscription-manager
-sysstat
-system-config-firewall-base
-tcpdump
-telnet
-vim-enhanced
-virt-what
-wget
-yum
-
-%include /tmp/post_partition.ks
-
-# POSTINSTALL SECTION
-# HERE ARE COMMANDS THAT WILL BE LAUNCHED JUST AFTER
-# INSTALLATION ITSELF COMPLETED
-%post
-echo -e "modprobe nf_conntrack_ipv4\nmodprobe nf_conntrack_ipv6\nmodprobe nf_conntrack_tftp\nmodprobe nf_nat_tftp" >> /etc/rc.modules
-chmod +x /etc/rc.modules
-echo -e "net.nf_conntrack_max=1048576" >> /etc/sysctl.conf
-mkdir -p /var/log/coredump
-echo -e "kernel.core_pattern=/var/log/coredump/core.%e.%p.%h.%t" >> /etc/sysctl.conf
-chmod 777 /var/log/coredump
-echo -e "* soft core unlimited\n* hard core unlimited" >> /etc/security/limits.conf
-
-# Mount installation media in chroot
-%post --nochroot --log=/mnt/sysimage/root/anaconda-post-before-chroot.log
-#!/bin/sh
-
-SOURCE="/mnt/sysimage/tmp/source"
-
-for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-
-mkdir -p "${SOURCE}"
-
-case "${repo}" in
- nfs:*)
- nfs_url="${repo#nfs:}"
- mount -t nfs "${nfs_url}" "${SOURCE}"
- ;;
- *)
- if [ -d "/mnt/source" ]; then
- mount -o bind "/mnt/source" "${SOURCE}"
- fi
- ;;
-esac
-
-%post --log=/root/anaconda-post-after-chroot.log
-#!/bin/bash
-
-set -x
-
-function save_cfg {
- scrFile="/etc/sysconfig/network-scripts/ifcfg-$device"
- search="domain $domain\nsearch $domain"
- sed -i -e 's#^\(HOSTNAME=\).*$#\1'"$hostname"'#' /etc/sysconfig/network
- grep -q "^\s*$ip\s+$hostname" /etc/hosts || echo "$ip $hostname" >> /etc/hosts
- echo "${search}\nnameserver 127.0.0.1" > /etc/resolv.conf
- [ $dns1 ] && echo -e "${search}\nnameserver $dns1" > /etc/resolv.conf
- [ $dns1 ] && echo -e "${search}\nnameserver $dns1" > /etc/dnsmasq.upstream
- [ $dns2 ] && echo "nameserver $dns2" >> /etc/resolv.conf
- [ $dns2 ] && echo "nameserver $dns2" >> /etc/dnsmasq.upstream
-
- echo DEVICE=$device > $scrFile
- echo ONBOOT=yes >> $scrFile
- echo NM_CONTROLLED=no >> $scrFile
- echo HWADDR=$hwaddr >> $scrFile
- echo USERCTL=no >> $scrFile
- echo PEERDNS=no >> $scrFile
- if [ $ip ]; then
- echo BOOTPROTO=static >> $scrFile
- echo IPADDR=$ip >> $scrFile
- echo NETMASK=$netmask >> $scrFile
- else
- echo BOOTPROTO=dhcp >> $scrFile
- fi
- scrDHCPFile="/etc/sysconfig/network-scripts/ifcfg-$dhcp_interface"
- #Ignore gateway and set up DHCP if it is used, otherwise apply it
- if [ $dhcp_interface ] && [ "$dhcp_interface" != "$device" ]; then
- echo "DEVICE=$dhcp_interface" > $scrDHCPFile
- echo "BOOTPROTO=dhcp" >> $scrDHCPFile
- echo "ONBOOT=yes" >> $scrDHCPFile
- echo "USERCTL=no" >> $scrDHCPFile
- else
- echo GATEWAY=$gw >> /etc/sysconfig/network
- fi
-}
-
-# Default FQDN
-hostname="nailgun.mirantis.com"
-
-for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-hostname=$hostname
-domain=${hostname#*.}
-ip=$ip
-netmask=$netmask
-gw=$gw
-device="eth0"
-hwaddr=`ifconfig $device | grep -i hwaddr | sed -e 's#^.*hwaddr[[:space:]]*##I'`
-dhcp_interface=$dhcp_interface
-save_cfg
-
-# Mounting installation source
-SOURCE=/tmp/source
-FS=/tmp/fs
-
-echo
-mkdir -p ${SOURCE}
-mkdir -p ${FS}
-
-if 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
-
-OPENSTACK_VERSION=`cat ${SOURCE}/openstack_version`
-
-# ----------------------
-# UNPACKING REPOSITORIES
-# ----------------------
-
-wwwdir="/var/www/nailgun"
-repodir="${wwwdir}/${OPENSTACK_VERSION}"
-
-# Copying Centos files
-mkdir -p ${repodir}/centos/x86_64
-cp -r ${SOURCE}/images ${repodir}/centos/x86_64
-cp -r ${SOURCE}/isolinux ${repodir}/centos/x86_64
-cp -r ${SOURCE}/repodata ${repodir}/centos/x86_64
-cp -r ${SOURCE}/Packages ${repodir}/centos/x86_64
-cp ${SOURCE}/.treeinfo ${repodir}/centos/x86_64
-
-# Copying Ubuntu files
-mkdir -p ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/conf ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/db ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/dists ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/indices ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/pool ${repodir}/ubuntu/x86_64
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/linux ${repodir}/ubuntu/x86_64/images
-cp -r ${SOURCE}/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz ${repodir}/ubuntu/x86_64/images
-
-# make links for backward compatibility
-ln -s ${repodir}/centos ${wwwdir}/centos
-ln -s ${repodir}/ubuntu ${wwwdir}/ubuntu
-
-# Copying bootstrap image
-mkdir -p ${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/
-
-# TODO(ikalnitsky): investigate why we need this
-cp ${SOURCE}/puppet-slave.tgz ${wwwdir}/
-
-# place modules and manifests
-tar zxf ${SOURCE}/puppet-slave.tgz -C /etc/puppet/${OPENSTACK_VERSION}/modules
-cp /etc/puppet/${OPENSTACK_VERSION}/modules/osnailyfacter/examples/site.pp /etc/puppet/${OPENSTACK_VERSION}/manifests/site.pp
-cp ${SOURCE}/centos-versions.yaml ${SOURCE}/ubuntu-versions.yaml /etc/puppet/${OPENSTACK_VERSION}/manifests/
-
-# make links for backward compatibility
-pushd /etc/puppet
-ln -s ${OPENSTACK_VERSION}/manifests/ /etc/puppet/manifests
-ln -s ${OPENSTACK_VERSION}/modules/ /etc/puppet/modules
-popd
-
-cp ${SOURCE}/send2syslog.py /bin/send2syslog.py
-mkdir -p /var/lib/hiera
-touch /var/lib/hiera/common.yaml /etc/puppet/hiera.yaml
-
-# Deploy docker images and ctl tools if we built ISO with docker containers support
-[ -d "${SOURCE}/docker" ] && cp -r ${SOURCE}/docker ${wwwdir}/docker
-
-# Prepare local repository specification
-rm /etc/yum.repos.d/CentOS*.repo
-cat > /etc/yum.repos.d/nailgun.repo << EOF
-[nailgun]
-name=Nailgun Local Repo
-baseurl=file:/var/www/nailgun/${OPENSTACK_VERSION}/centos/x86_64
-gpgcheck=0
-EOF
-
-# Disable subscription-manager plugins
-sed -i 's/^enabled.*/enabled=0/' /etc/yum/pluginconf.d/product-id.conf || :
-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
-
-# 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
-chmod 0777 /usr/local/sbin/bootstrap_admin_node.sh
-cp ${SOURCE}/bootstrap_admin_node.conf /etc/init/bootstrap_admin_node.conf
-echo "ENABLED=1" > /etc/sysconfig/bootstrap_admin_node
-
-# Copying version.yaml file. It contains COMMIT_SHA of last commit.
-RELEASE=$(awk '/release/{gsub(/"/, "");print $2}' ${SOURCE}/version.yaml)
-mkdir -p /etc/nailgun /etc/fuel/${RELEASE} /etc/fuel/release_versions
-cp ${SOURCE}/version.yaml /etc/nailgun/version.yaml
-cp ${SOURCE}/version.yaml /etc/fuel/${RELEASE}/version.yaml
-ln -s /etc/fuel/${RELEASE}/version.yaml /etc/fuel/version.yaml
-cp ${SOURCE}/version.yaml /etc/fuel/release_versions/`cat ${SOURCE}/openstack_version`.yaml
-
-# Generete Fuel UUID
-uuidgen > /etc/fuel/fuel-uuid
-
-###Run fuel menu
-[ -z "$showmenu" ] && showmenu="no"
-cat > /root/.showfuelmenu << EOF
-#Set to yes to run Fuel Setup
-#Set to no to accept default settings
-showmenu=$showmenu
-EOF
-
-# Prepare custom /etc/issue logon banner and script for changing IP in it
-cat > /etc/issue << EOF
-#########################################
-# Welcome to the Fuel server #
-#########################################
-Server is running on \m platform
-
-Fuel UI is available on:
-http://:8000
-
-Default administrator login: root
-Default administrator password: r00tme
-
-Default Fuel UI login: admin
-Default Fuel UI password: admin
-
-Please change root password on first login.
-
-EOF
-
-
-cat >> '/etc/rc.local' << EOF
-first=yes
-for ip in \$(ip -o -4 addr | grep "eth." | awk '{print \$4 }' | cut -d/ -f1); do
-if [ "\$first" = "yes" ]; then
- ipstr="Fuel UI is available on: http://\$ip:8000"
- first=no
-else
- ipstr=\$(printf "%s\n%25s%s" "\$ipstr" " " "http://\$ip:8000")
-fi
-done
-tmpissue=\$(mktemp)
-while read -r line; do
- if [[ "\$line" =~ "Fuel UI is available on" ]]; then
- echo -e "\$ipstr" >> \$tmpissue
- elif [[ "\$line" =~ :8000$ ]]; then
- :
- else
- echo -e "\$line" >> \$tmpissue
- fi
-done < /etc/issue
-mv "\$tmpissue" /etc/issue
-
-EOF
-
-
-# Unmounting source
-umount -f ${SOURCE}
-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
-
-# 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.
-sed -i /etc/rc.d/init.d/ntpdate -e 's/\([ $RETVAL -eq 0 ] && success || \)failure/\1success/'
-
-# Disabling splash
-sed -i --follow-symlinks -e '/^\skernel/ s/rhgb//' /etc/grub.conf
-sed -i --follow-symlinks -e '/^\skernel/ s/quiet//' /etc/grub.conf
-
-# Disabling console clearing
-sed -i 's/getty/getty --noclear/' /etc/init/tty.conf
-
-# Disabling starting first console from start-ttys service
-sed -i --follow-symlinks -e 's/ACTIVE_CONSOLES=.*/ACTIVE_CONSOLES=\/dev\/tty\[2-6\]/' /etc/sysconfig/init
-
-# Copying default bash settings to the root directory
-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 \ No newline at end of file
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()