summaryrefslogtreecommitdiffstats
path: root/fuel/build/f_isoroot/f_bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'fuel/build/f_isoroot/f_bootstrap')
-rwxr-xr-xfuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh107
-rwxr-xr-xfuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh.orig108
-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/post-scripts/03_install_repo.sh19
5 files changed, 64 insertions, 194 deletions
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 8bdf5667c..348ce3cb4 100755
--- a/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh
+++ b/fuel/build/f_isoroot/f_bootstrap/bootstrap_admin_node.sh
@@ -1,5 +1,4 @@
#!/bin/bash
-FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ')
function countdown() {
local i
@@ -48,6 +47,9 @@ 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
@@ -55,51 +57,30 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
esac
fi
fi
-
-
#Reread /etc/sysconfig/network to inform puppet of changes
. /etc/sysconfig/network
hostname "$HOSTNAME"
-service docker start
-
-if [ -f /root/.build_images ]; then
- #Fail on all errors
- set -e
- trap fail EXIT
+### docker stuff
+images_dir="/var/www/nailgun/docker/images"
- echo "Loading Fuel base image for Docker..."
- docker load -i /var/www/nailgun/docker/images/fuel-images.tar
+# extract docker images
+mkdir -p $images_dir $sources_dir
+rm -f $images_dir/*tar
+pushd $images_dir &>/dev/null
- 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"
+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
- #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
+# 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
@@ -121,52 +102,4 @@ 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 8d21c1e72..7b6e6bd71 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,5 +1,4 @@
#!/bin/bash
-FUEL_RELEASE=$(grep release: /etc/fuel/version.yaml | cut -d: -f2 | tr -d '" ')
function countdown() {
local i
@@ -38,6 +37,9 @@ 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
@@ -45,51 +47,30 @@ if [[ "$showmenu" == "yes" || "$showmenu" == "YES" ]]; then
esac
fi
fi
-
-
#Reread /etc/sysconfig/network to inform puppet of changes
. /etc/sysconfig/network
hostname "$HOSTNAME"
-service docker start
-
-if [ -f /root/.build_images ]; then
- #Fail on all errors
- set -e
- trap fail EXIT
+### docker stuff
+images_dir="/var/www/nailgun/docker/images"
- echo "Loading Fuel base image for Docker..."
- docker load -i /var/www/nailgun/docker/images/fuel-images.tar
+# extract docker images
+mkdir -p $images_dir $sources_dir
+rm -f $images_dir/*tar
+pushd $images_dir &>/dev/null
- 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"
+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
- #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
+# 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
@@ -100,53 +81,4 @@ 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_bootstrap/post-scripts/01_fix_iommubug.sh b/fuel/build/f_isoroot/f_bootstrap/post-scripts/01_fix_iommubug.sh
new file mode 100755
index 000000000..79aa31a4a
--- /dev/null
+++ b/fuel/build/f_isoroot/f_bootstrap/post-scripts/01_fix_iommubug.sh
@@ -0,0 +1,9 @@
+#/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
new file mode 100755
index 000000000..bf7591bdc
--- /dev/null
+++ b/fuel/build/f_isoroot/f_bootstrap/post-scripts/02_fix_console_speed.sh
@@ -0,0 +1,15 @@
+#/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/post-scripts/03_install_repo.sh b/fuel/build/f_isoroot/f_bootstrap/post-scripts/03_install_repo.sh
deleted file mode 100755
index 427a55add..000000000
--- a/fuel/build/f_isoroot/f_bootstrap/post-scripts/03_install_repo.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#/bin/sh
-echo "Installing pre-build repo"
-if [ ! -d /opt/opnfv/nailgun ]; then
- echo "Error - found no repo!"
- exit 1
-fi
-
-mkdir -p /var/www/nailgun
-mv /opt/opnfv/nailgun/* /var/www/nailgun
-if [ $? -ne 0 ]; then
- echo "Error moving repos to their correct location!"
- exit 1
-fi
-rmdir /opt/opnfv/nailgun
-if [ $? -ne 0 ]; then
- echo "Error removing /opt/opnfv/nailgun directory!"
- exit 1
-fi
-echo "Done installing pre-build repo"