summaryrefslogtreecommitdiffstats
path: root/fuel/prototypes/auto-deploy/deploy/functions
diff options
context:
space:
mode:
Diffstat (limited to 'fuel/prototypes/auto-deploy/deploy/functions')
-rwxr-xr-xfuel/prototypes/auto-deploy/deploy/functions/common.sh67
-rwxr-xr-xfuel/prototypes/auto-deploy/deploy/functions/dea-api.sh171
-rwxr-xr-xfuel/prototypes/auto-deploy/deploy/functions/deaParse.py85
-rwxr-xr-xfuel/prototypes/auto-deploy/deploy/functions/deploy_env.sh140
-rwxr-xr-xfuel/prototypes/auto-deploy/deploy/functions/install_iso.sh91
-rw-r--r--fuel/prototypes/auto-deploy/deploy/functions/isolinux.cfg.patch14
-rw-r--r--fuel/prototypes/auto-deploy/deploy/functions/ks.cfg.patch19
-rwxr-xr-xfuel/prototypes/auto-deploy/deploy/functions/patch-iso.sh85
8 files changed, 0 insertions, 672 deletions
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/common.sh b/fuel/prototypes/auto-deploy/deploy/functions/common.sh
deleted file mode 100755
index 6947d79..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/common.sh
+++ /dev/null
@@ -1,67 +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
-##############################################################################
-
-# Common functions
-
-error_exit () {
- echo "Error: $@" >&2
- exit 1
-}
-
-ssh() {
- SSHPASS="r00tme" sshpass -e ssh -o UserKnownHostsFile=${tmpdir}/known_hosts \
- -o StrictHostKeyChecking=no -o ConnectTimeout=15 "$@"
-}
-
-scp() {
- SSHPASS="r00tme" sshpass -e scp -o UserKnownHostsFile=${tmpdir}/known_hosts \
- -o StrictHostKeyChecking=no -o ConnectTimeout=15 "$@"
-}
-
-
-fuel () {
- ssh root@`dea getFuelIp` "fuel $@"
-}
-
-
-# TODO: Move numberOfNodes into the DEA API
-numberOfNodes() {
- fuel node | tail -n +3 | grep -v "^$" | wc -l
-}
-
-# TODO: Move numberOfNodesUp into the DEA API
-numberOfNodesUp() {
- fuel node | tail -n +3 | grep -v "^$" | grep True | wc -l
-}
-
-# Currently not used!
-# Wait for node count to increase
-waitForNode() {
- local cnt
- local initCnt
- local expectCnt
-
- initCnt=`numberOfNodesUp`
- expectCnt=$[initCnt+1]
- while true
- do
- cnt=`numberOfNodesUp`
- if [ $cnt -eq $expectCnt ]; then
- break
- elif [ $cnt -lt $initCnt ]; then
- error_exit "Node count decreased while waiting, $initCnt -> $cnt"
- elif [ $cnt -gt $expectCnt ]; then
- error_exit "Node count exceeded expect count, $cnt > $expectCnt"
- fi
- sleep 10
- echo -n "[${cnt}]"
- done
- echo "[${cnt}]"
-}
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/dea-api.sh b/fuel/prototypes/auto-deploy/deploy/functions/dea-api.sh
deleted file mode 100755
index 61d670f..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/dea-api.sh
+++ /dev/null
@@ -1,171 +0,0 @@
-#!/bin/bash
-##############################################################################
-# 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
-##############################################################################
-
-
-
-########################################################################
-# Internal functions BEGIN
-
-
-
-dea_f_err()
-{
- local rc
- local cmd
-
- rc=$1
- shift
-
- if [ -n "$rc" ]; then
- echo "Error ($rc): $@" >&2
- else
- echo "Error: $@" >&2
- fi
-}
-
-dea_f_run()
-{
- $@
- rc=$?
- if [ $rc -ne 0 ]; then
- dea_f_err $rc "Error running $@"
- return $rc
- fi
-}
-
-# Internal functions END
-########################################################################
-
-true=0
-false=1
-
-# API: Get the DEA API version supported by this adapter
-dea_getApiVersion ()
-{
- echo "1.0"
-}
-
-
-# API: Node numbering is sequential.
-
-
-# API: Get the role for this node
-# API: Argument 1: node id
-dea_getNodeRole()
-{
- $DEAPARSE $DEAFILE getNodeRole $@
-
-}
-
-# API: Get IP address of Fuel master
-dea_getFuelIp()
-{
- $DEAPARSE $DEAFILE getProperty fuel ADMIN_NETWORK ipaddress
-}
-
-# API: Get netmask Fuel master
-dea_getFuelNetmask()
-{
- $DEAPARSE $DEAFILE getProperty fuel ADMIN_NETWORK netmask
-}
-
-# API: Get gateway address of Fuel master
-# FIXME: This is currently not in the DEA, so make the gatway the ..1
-# FiXME: of the IP
-dea_getFuelGateway()
-{
- $DEAPARSE $DEAFILE getProperty fuel ADMIN_NETWORK ipaddress | \
- sed 's/.[0-9]*$/.1/'
-}
-
-# API: Get gateway address of Fuel master
-dea_getFuelHostname()
-{
- $DEAPARSE $DEAFILE getProperty fuel HOSTNAME
-}
-
-# API: Get DNS address of Fuel master
-dea_getFuelDns()
-{
- $DEAPARSE $DEAFILE getProperty fuel DNS_UPSTREAM
-}
-
-# API: Convert a normal MAC to a Fuel short mac for --node-id
-dea_convertMacToShortMac()
-{
- echo $1 | sed 's/.*..:..:..:..:\(..:..\).*/\1/' | tr [A-Z] [a-z]
-}
-
-
-# API: Get property from DEA file
-# API: Argument 1: search path, as e.g. "fuel ADMIN_NETWORK ipaddress"
-dea_getProperty()
-{
- $DEAPARSE $DEAFILE getProperty $@
-}
-
-# API: Convert DHA node id to Fuel cluster node id
-# API: Look for lowest Fuel node number, this will be DHA node 1
-# API: Argument: node id
-dea_getClusterNodeId()
-{
- local baseId
- local inId
- local fuelIp
-
- inId=$1
- fuelIp=`dea_getFuelIp`
-
- baseId=`ssh root@${fuelIp} fuel node | tail -n +3 | awk '{ print $1 }'| sed 's/ //g' | sort -n | head -1`
- echo "$[inId + baseId - 1]"
-}
-
-# API: Entry point for dea functions
-# API: Typically do not call "dea_node_zeroMBR" but "dea node_ZeroMBR"
-# API:
-# API: Before calling dea, the adapter file must gave been sourced with
-# API: the DEA file name as argument
-dea()
-{
- if [ -z "$DEAFILE" ]; then
- error_exit "dea_setup has not been run"
- fi
-
-
- if type dea_$1 &>/dev/null; then
- cmd=$1
- shift
- dea_$cmd $@
- return $?
- else
- error_exit "No such function dea_$1 defined"
- fi
-}
-
-if [ "$1" == "api" ]; then
- egrep "^# API: |dea.*\(\)" $0 | sed 's/^# API: /# /' | grep -v dea_f_ | sed 's/)$/)\n/'
-else
- deatopdir=$(dirname $(readlink -f $BASH_SOURCE))
- DEAPARSE="$deatopdir/deaParse.py"
- DEAFILE=$1
-
- if [ ! -f $DEAFILE ]; then
- error_exit "No such DEA file: $DEAFILE"
- else
- echo "Adapter init"
- echo "$@"
- echo "DEAPARSE: $DEAPARSE"
- echo "DEAFILE: $DEAFILE"
- fi
-fi
-
-
-
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/deaParse.py b/fuel/prototypes/auto-deploy/deploy/functions/deaParse.py
deleted file mode 100755
index 7ca6501..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/deaParse.py
+++ /dev/null
@@ -1,85 +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
-##############################################################################
-
-import yaml
-import re
-import sys
-import os
-
-def test(arr):
- print "Nodes"
- nodes = doc["nodes"]
- for node in nodes:
- print "Node %d " % node["id"]
- print " Mac: %s" % node["adminMac"]
- print " Role: %s" % node["role"]
-
-def getNodeRole(arg):
- for node in doc["nodes"]:
- print node
- try:
- if node["role"] == arg[0]:
- print doc["id"]
- except KeyError:
- exit(1)
-
-def getNodes(arg):
- for node in doc["nodes"]:
- print node["id"]
-
-
-def getProperty(arg):
- result = doc
- for level in arg:
- result = result[level]
- print result
-
-def getNodeRole(arg):
- for node in doc["nodes"]:
- if int(arg[0]) == node["id"]:
- print node["role"]
-
-def getNode(arg):
- id=arg[0]
- key=arg[1]
- for node in doc["nodes"]:
- if int(node["id"]) == int(id):
- print node[key]
-
- # for node in doc["nodes"]:
- # if int(node["id"]) == int(arg[0]):
- # print node
-
-infile = sys.argv[1]
-
-if not os.path.exists(infile):
- sys.stderr.write("ERROR: The file "+infile+" could not be opened\n")
- sys.exit(1)
-
-
-f1 = open(infile, 'r')
-doc = yaml.load(f1)
-f1.close()
-
-cmd = sys.argv[2]
-args = sys.argv[3:]
-
-if cmd == "getProperty":
- getProperty(args)
-elif cmd == "getNodeRole":
- getNodeRole(args)
-elif cmd == "getNode":
- getNode(args)
-elif cmd == "get":
- get(args)
-else:
- print "No such command: %s" % cmd
- exit(1)
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/deploy_env.sh b/fuel/prototypes/auto-deploy/deploy/functions/deploy_env.sh
deleted file mode 100755
index e650f4d..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/deploy_env.sh
+++ /dev/null
@@ -1,140 +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
-##############################################################################
-
-# Deploy!
-scp -q $deafile root@${fuelIp}:. || error_exit "Could not copy DEA file to Fuel"
-echo "Uploading build tools to Fuel server"
-ssh root@${fuelIp} rm -rf tools || error_exit "Error cleaning old tools structure"
-scp -qrp $topdir/tools root@${fuelIp}:. || error_exit "Error copying tools"
-
-echo "Uploading templating tols to Fuel server"
-ssh root@${fuelIp} rm -rf create_templates || error_exit "Error cleaning old create_templates structure"
-scp -qrp $topdir/../create_templates root@${fuelIp}:. || error_exit "Error copying create_templates"
-
-# Refuse to run if environment already present
-envcnt=`fuel env | tail -n +3 | grep -v '^$' | wc -l`
-if [ $envcnt -ne 0 ]; then
- error_exit "Environment count is $envcnt"
-fi
-
-# Refuse to run if any nodes are up
-nodeCnt=`numberOfNodesUp`
-if [ $nodeCnt -ne 0 ]; then
- error_exit "Nodes are up (node count: $nodeCnt)"
-fi
-
-# FIXME: Add support for CentOS creation here
-# Extract release ID for Ubuntu environment
-ubuntucnt=`fuel release | grep Ubuntu | wc -l`
-if [ $ubuntucnt -ne 1 ]; then
- error_exit "Not exacly one Ubuntu release found"
-fi
-
-# FIXME: Make release a property in the dea.yaml and use that instead!
-ubuntuid=`fuel release | grep Ubuntu | awk '{ print $1 }'`
-
-# Create environment
-envName=`dea getProperty environment_name` || error_exit "Could not get environment name"
-envMode=`dea getProperty environment_mode` || error_exit "Could not get environment mode"
-
-fuel env create --name $envName \
- --rel $ubuntuid \
- --mode $envMode \
- --network-mode neutron \
- --net-segment-type vlan \
- || error_exit "Error creating environment"
-
-envId=`ssh root@${fuelIp} fuel env | tail -n +3 | awk '{ print $1 }'` \
- || error_exit "Could not get environment id"
-
-echo "Running transplant #1"
-ssh root@${fuelIp} "cd tools; ./transplant1.sh ../`basename $deafile`" \
- || error_exit "Error running transplant sequence #1"
-
-# Start VMs
-strategy=`dha getPowerOnStrategy` || error_exit "Could not get power on strategy"
-if [ $strategy == "all" ]; then
- echo "Starting all nodes at once"
- poweredOn=0
- for id in `dha getAllNodeIds`
- do
- if [ $id -ne $fuelNodeId ]; then
- echo "Setting boot order pxe disk for node $id"
- dha nodeSetBootOrder $id "pxe disk" || "Could not set boot order for node"
- echo "Powering on node $id"
- dha nodePowerOn $id || error_exit "Could not power on node"
- poweredOn=$[poweredOn + 1]
- fi
- done
- # Wait for all nodes to be accounted for
- echo "Waiting for $poweredOn nodes to come up"
- while true
- do
- nodesUp=`numberOfNodesUp`
- echo -n "[${nodesUp}]"
- if [ $nodesUp -eq $poweredOn ]; then
- break
- fi
- sleep 10
- done
- echo "[${nodesUp}]"
-else
- # Refuse to run if any nodes are defined
- totalNodeCnt=`numberOfNodes`
- if [ $totalNodeCnt -ne 0 ]; then
- error_exit "There are already ${totalNodeCnt} defined nodes, can not run power on in sequence!"
- fi
- echo "Starting nodes sequentially, waiting for Fuel detection until proceeding"
- for id in `dha getAllNodeIds`
- do
- if [ $id -ne $fuelNodeId ]; then
- echo "Setting boot order pxe disk for node $id"
- dha nodeSetBootOrder $id "pxe disk" || "Could not set boot order for node"
- echo "Powering on node $id"
- dha nodePowerOn $id || error_exit "Could not power on node"
- # Wait for node count to increase
- waitForNode
- fi
- done
-fi
-
-# Set roles for detected hosts
-for id in `dha getAllNodeIds`
-do
- # If not a Fuel node
- if [ $fuelNodeId -ne $id ]; then
- longMac=`dha getNodePxeMac $id` || \
- error_exit "Could not get MAC address for node $id from DHA"
- shortMac=`dea convertMacToShortMac $longMac`
- role="`dea getNodeRole $id`"
- echo "Setting role $role for Fuel node $shortMac (DEA node $id)"
- fuel node set --node-id $shortMac --role $role --env $envId \
- || error_exit "Could not set role for $node"
- fi
-done
-
-# Run pre-deploy with default input
-# Need to set terminal as script does "clear" and needs curses support
-ssh root@${fuelIp} "TERM=vt100 /opt/opnfv/pre-deploy.sh < /dev/null" \
- || error_exit "Pre-deploy failed"
-
-# Inject node network config (will override pre-deploy Astute settings but we
-# want to catch pre-deploy provisioning changes)
-# TODO: There needs to be a function to adjust the NTP settings for clients
-# TODO: to that of the actual set of controllers in this deployment.
-echo "Running transplant #2"
-ssh root@${fuelIp} "cd tools; ./transplant2.sh ../`basename $deafile`" \
- || error_exit "Error running transplant sequence #2"
-
-
-# Deploy
-echo "Deploying!"
-ssh root@${fuelIp} "fuel deploy-changes --env $envId" >/dev/null 2>&1 || error_exit "Deploy failed"
-echo "Deployment completed"
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/install_iso.sh b/fuel/prototypes/auto-deploy/deploy/functions/install_iso.sh
deleted file mode 100755
index 2ec510b..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/install_iso.sh
+++ /dev/null
@@ -1,91 +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
-##############################################################################
-
-fuelIp=`dea getFuelIp` || error_exit "Could not get fuel IP"
-fuelNodeId=`dha getFuelNodeId` || error_exit "Could not get fuel node id"
-
-
-if dha nodeCanZeroMBR $fuelNodeId; then
- echo "Node $fuelNodeId capable of zeroing MBR so doing that..."
- dha nodeZeroMBR $fuelNodeId || error_exit "Failed to zero Fuel MBR"
- dha nodeSetBootOrder $fuelNodeId "disk iso"
-elif dha nodeCanSetBootOrderLive; then
- echo "Node can change ISO boot order live"
- dha nodeSetBootOrder $fuelNodeId "iso disk"
-else
- error_exit "No way to install Fuel node"
-fi
-
-sleep 3
-dha nodeEjectIso $fuelNodeId
-dha nodeInsertIso $fuelNodeId $isofile
-
-sleep 3
-dha nodePowerOn $fuelNodeId
-
-# Switch back boot order to disk, hoping that node is now up
-
-# FIXME: Can we do a smarter and more generic detection of when the
-# FIXME: kickstart procedure has started? Then th dha_waitForIsoBoot
-# FIXME: can be removed. Setting and IP already in the kickstart install
-# FIXME: and ping-wait for that?
-dha waitForIsoBoot
-
-dha nodeSetBootOrder $fuelNodeId "disk iso"
-
-# wait for node up
-echo "Waiting for Fuel master to accept SSH"
-while true
-do
- ssh root@${fuelIp} date 2>/dev/null
- if [ $? -eq 0 ]; then
- break
- fi
- sleep 10
-done
-
-# Wait until fuelmenu is up
-echo "Waiting for fuelmenu to come up"
-menuPid=""
-while [ -z "$menuPid" ]
-do
- menuPid=`ssh root@${fuelIp} "ps -ef" 2>&1 | grep fuelmenu | grep -v grep | awk '{ print $2 }'`
- sleep 10
-done
-
-# This is where we inject our own astute.yaml settings
-scp -q $deafile root@${fuelIp}:. || error_exit "Could not copy DEA file to Fuel"
-echo "Uploading build tools to Fuel server"
-ssh root@${fuelIp} rm -rf tools || error_exit "Error cleaning old tools structure"
-scp -qrp $topdir/tools root@${fuelIp}:. || error_exit "Error copying tools"
-echo "Running transplant #0"
-ssh root@${fuelIp} "cd tools; ./transplant0.sh ../`basename $deafile`" \
- || error_exit "Error running transplant sequence #0"
-
-
-
-# Let the Fuel deployment continue
-echo "Found menu as PID $menuPid, now killing it"
-ssh root@${fuelIp} "kill $menuPid" 2>/dev/null
-
-# Wait until installation complete
-echo "Waiting for bootstrap of Fuel node to complete"
-while true
-do
- ssh root@${fuelIp} "ps -ef" 2>/dev/null \
- | grep -q /usr/local/sbin/bootstrap_admin_node
- if [ $? -ne 0 ]; then
- break
- fi
- sleep 10
-done
-
-echo "Waiting for one minute for Fuel to stabilize"
-sleep 1m
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/isolinux.cfg.patch b/fuel/prototypes/auto-deploy/deploy/functions/isolinux.cfg.patch
deleted file mode 100644
index 298a057..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/isolinux.cfg.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-*** isolinux/isolinux.cfg.orig 2015-04-15 08:29:52.026868322 -0400
---- isolinux/isolinux.cfg 2015-04-15 08:30:34.350868343 -0400
-***************
-*** 19,22 ****
- menu label Fuel Install (^Static IP)
- menu default
- kernel vmlinuz
-! append initrd=initrd.img biosdevname=0 ks=cdrom:/ks.cfg ip=10.20.0.2 gw=10.20.0.1 dns1=10.20.0.1 netmask=255.255.255.0 hostname=fuel.domain.tld showmenu=no
---- 19,22 ----
- menu label Fuel Install (^Static IP)
- menu default
- kernel vmlinuz
-! append initrd=initrd.img biosdevname=0 ks=cdrom:/ks.cfg ip=10.20.0.2 gw=10.20.0.1 dns1=10.20.0.1 netmask=255.255.255.0 hostname=fuel.domain.tld showmenu=yes
-
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/ks.cfg.patch b/fuel/prototypes/auto-deploy/deploy/functions/ks.cfg.patch
deleted file mode 100644
index 1896957..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/ks.cfg.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-*** ks.cfg.orig Wed Apr 15 21:47:09 2015
---- ks.cfg Wed Apr 15 21:47:24 2015
-***************
-*** 35,41 ****
- 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}
---- 35,41 ----
- default_drive=`echo ${drives} ${removable_drives} | awk '{print $1}'`
-
- installdrive="undefined"
-! forceformat="yes"
- for I in `cat /proc/cmdline`; do case "$I" in *=*) eval $I;; esac ; done
-
- set ${drives} ${removable_drives}
diff --git a/fuel/prototypes/auto-deploy/deploy/functions/patch-iso.sh b/fuel/prototypes/auto-deploy/deploy/functions/patch-iso.sh
deleted file mode 100755
index d27dcdf..0000000
--- a/fuel/prototypes/auto-deploy/deploy/functions/patch-iso.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/bin/bash
-##############################################################################
-# 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
-##############################################################################
-
-exit_handler() {
- rm -Rf $tmpnewdir
- fusermount -u $tmporigdir 2>/dev/null
- test -d $tmporigdir && rmdir $tmporigdir
-}
-
-trap exit_handler exit
-
-error_exit() {
- echo "$@"
- exit 1
-}
-
-if [ $# -ne 8 ]; then
- error_exit "Input argument error"
-fi
-
-top=$(cd `dirname $0`; pwd)
-origiso=$(cd `dirname $1`; echo `pwd`/`basename $1`)
-newiso=$(cd `dirname $2`; echo `pwd`/`basename $2`)
-tmpdir=$3
-fuelIp=$4
-fuelNetmask=$5
-fuelGateway=$6
-fuelHostname=$7
-fuelDns=$8
-
-tmporigdir=${tmpdir}/origiso
-tmpnewdir=${tmpdir}/newiso
-
-test -f $origiso || error_exit "Could not find origiso $origiso"
-test -d $tmpdir || error_exit "Could not find tmpdir $tmpdir"
-
-
-if [ "`whoami`" != "root" ]; then
- error_exit "You need be root to run this script"
-fi
-
-echo "Copying..."
-rm -Rf $tmpnewdir || error_exit "Failed deleting old ISO copy dir"
-mkdir -p $tmporigdir $tmpnewdir
-fuseiso $origiso $tmporigdir || error_exit "Failed to FUSE mount ISO"
-cd $tmporigdir
-find . | cpio -pd $tmpnewdir || error_exit "Failed to copy FUSE ISO with cpio"
-cd $tmpnewdir
-fusermount -u $tmporigdir || error_exit "Failed to FUSE unmount ISO"
-rmdir $tmporigdir || error_exit "Failed to delete original FUSE ISO directory"
-chmod -R 755 $tmpnewdir || error_exit "Failed to set protection on new ISO dir"
-
-echo "Patching..."
-cd $tmpnewdir
-# Patch ISO to make it suitable for automatic deployment
-cat $top/ks.cfg.patch | patch -p0 || error_exit "Failed patching ks.cfg"
-rm -rf .rr_moved
-
-# Add dynamic Fuel content
-echo "isolinux.cfg before: `grep netmask isolinux/isolinux.cfg`"
-sed -i "s/ ip=[^ ]*/ ip=$fuelIp/" isolinux/isolinux.cfg
-sed -i "s/ gw=[^ ]*/ gw=$fuelGateway/" isolinux/isolinux.cfg
-sed -i "s/ dns1=[^ ]*/ dns1=$fuelDns/" isolinux/isolinux.cfg
-sed -i "s/ netmask=[^ ]*/ netmask=$fuelNetmask/" isolinux/isolinux.cfg
-sed -i "s/ hostname=[^ ]*/ hostname=$fuelHostname/" isolinux/isolinux.cfg
-sed -i "s/ showmenu=[^ ]*/ showmenu=yes/" isolinux/isolinux.cfg
-echo "isolinux.cfg after: `grep netmask isolinux/isolinux.cfg`"
-
-rm -vf $newiso
-echo "Creating iso $newiso"
-mkisofs -quiet -r \
- -J -R -b isolinux/isolinux.bin \
- -no-emul-boot \
- -boot-load-size 4 -boot-info-table \
- --hide-rr-moved \
- -x "lost+found" -o $newiso . || error_exit "Failed making iso"
-