From e674d5b4b1dd5fbf9b532d5b6fd5669d15208659 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Mon, 2 Mar 2020 16:23:02 +1100 Subject: [PATCH] Remove nodepool/scripts None of these are relevant any more, remove them. Change-Id: I76acbd08acda20c88ff9fd9148e3918b78d6c6c6 --- nodepool/scripts/afs-slug.sh | 51 -- nodepool/scripts/convert_node_to_xenserver.sh | 612 ------------------ nodepool/scripts/install_xenserver.sh | 27 - .../scripts/xenserver_helper_initramfs_hook | 29 - .../xenserver_helper_initramfs_premount | 49 -- 5 files changed, 768 deletions(-) delete mode 100755 nodepool/scripts/afs-slug.sh delete mode 100755 nodepool/scripts/convert_node_to_xenserver.sh delete mode 100755 nodepool/scripts/install_xenserver.sh delete mode 100644 nodepool/scripts/xenserver_helper_initramfs_hook delete mode 100644 nodepool/scripts/xenserver_helper_initramfs_premount diff --git a/nodepool/scripts/afs-slug.sh b/nodepool/scripts/afs-slug.sh deleted file mode 100755 index bd33103a6f..0000000000 --- a/nodepool/scripts/afs-slug.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -xe - -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# This script generates a descriptor slug to use with AFS, composed of the -# operating system, its version, and the processor architecture. - -# Pull in the os release. -# ID is 'fedora', 'centos', 'ubuntu' -# VERSION_ID is '23', '7', '14.04' -# Nothing else is useful and/or reliable across distros -source /etc/os-release - -################################################################################ -# Generate an OS Release Name -OS_TYPE=$ID - -################################################################################ -# Generate a version string. -OS_VERSION=$VERSION_ID -if [ "$OS_TYPE" != "ubuntu" ]; then - OS_VERSION=$(echo $OS_VERSION | cut -d'.' -f1) -fi - -# openSUSE Tumblweed is a rolling release model distribution, so it has -# no version - set it to tumbleweed -if [ "$OS_TYPE" = "opensuse" ] && [[ "$PRETTY_NAME" =~ "Tumbleweed" ]]; then - OS_VERSION="tumbleweed" -fi - -################################################################################ -# Get the processor architecture. -# x86_64, i386, armv7l, armv6l -OS_ARCH=$(uname -m) - -################################################################################ -# Build the name -AFS_SLUG="$OS_TYPE-$OS_VERSION-$OS_ARCH" -AFS_SLUG=$(echo "$AFS_SLUG" | tr '[:upper:]' '[:lower:]') - -export AFS_SLUG diff --git a/nodepool/scripts/convert_node_to_xenserver.sh b/nodepool/scripts/convert_node_to_xenserver.sh deleted file mode 100755 index 90072d1919..0000000000 --- a/nodepool/scripts/convert_node_to_xenserver.sh +++ /dev/null @@ -1,612 +0,0 @@ -#!/bin/bash - -# Copyright (C) 2011-2014 OpenStack Foundation -# Copyright (c) 2014 Citrix Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# -# See the License for the specific language governing permissions and -# limitations under the License. - -# Installation -# ~~~~~~~~~~~~ -# 1.) Start an Ubuntu HVM instance in the Rackspace cloud. -# 2.) Copy the files from this directory to the instance. -# 3.) Execute this script on the instance with 3 parameters: -# - First parameter is the password for the XenServer -# - Second parameter is a URL to an xva appliance to be installed. For -# building such an appliance, see: -# https://github.com/citrix-openstack/openstack-xenapi-testing-xva -# - Third parameter should be the name-label for the appliance. -# 4.) Poll the public IP through ssh, and Wait until the file -# "$FILE_TO_TOUCH_ON_COMPLETION" exists -# -# -# Snapshots -# ~~~~~~~~~ -# 1.) Delete "$FILE_TO_TOUCH_ON_COMPLETION" -# 2.) Create snapshot -# 3.) When booting instances from the snapshot, poll -# "$FILE_TO_TOUCH_ON_COMPLETION" -# -# -# Details -# ~~~~~~~ -# WARINING: This script is a workaround, and should only be used for test -# purposes. -# -# This script will install itself as a boot-time script, and will be executed -# on each system startup. It shrinks the actual Ubuntu installation, and will -# install a XenServer on the remaining space. This script will also be -# installed as a startup script in XenServer. After the installation, whenever -# the instance is restarted, Ubuntu will boot, the networking parameters will -# be copied to a file, and the instance will be automatically rebooted into -# XenServer, where the networking will be adjusted, according to the saved -# parameters. This trickery is needed, because config drive does not include -# the networking parameters. -# -# The appliance will be accessible through the public IP of the instance, -# and dom0 could be accessed from the instance, on the IP address: -# 192.168.33.2 -# -# Logging -# ~~~~~~~ -# All the output of this script is logged to $0.log - -set -eux - -THIS_FILE="$(readlink -f $0)" -THIS_DIR="$(dirname $THIS_FILE)" -INSTALL_DIR="$(dirname $THIS_FILE)" -STATE_FILE="${THIS_FILE}.state" -LOG_FILE="${THIS_FILE}.log" -ADDITIONAL_PARAMETERS="$@" - -XENSERVER_PASSWORD="$1" -STAGING_APPLIANCE_URL="$2" -APPLIANCE_NAME="$3" -XENSERVER_ISO_URL="$4" -FILE_TO_TOUCH_ON_COMPLETION="/var/run/xenserver.ready" - -# It is assumed, that the appliance has a user, DOMZERO_USER, and by -# writing the /local/domain/$DOMID/authorized_keys/$DOMZERO_USER xenstore -# key, the key's contents will be copied into this user's authorized_keys file -DOMZERO_USER=domzero - -# Do not change this variable, as this path is hardcoded into XenServer's -# installer. The installer will look for this directory on the device -# specified by the boot parameter make-ramdisk, and copy the contents of this -# directory to ramdisk. -XSINST_DIRECTORY="/xsinst" - -function main { - case "$(get_state)" in - "START") - dump_disk_config - run_this_script_on_each_boot - download_xenserver_files /root/xenserver.iso - download_appliance "$STAGING_APPLIANCE_URL" - create_ramdisk_contents /root/xenserver.iso - extract_xs_installer /root/xenserver.iso /opt/xs-install - generate_xs_installer_grub_config /opt/xs-install \ - file:///tmp/ramdisk/answerfile.xml - configure_grub - update-grub - create_resizing_initramfs_config - update-initramfs -u - set_state "SETUP_INSTALLER" - reboot - ;; - "SETUP_INSTALLER") - dump_disk_config - delete_resizing_initramfs_config - update-initramfs -u - store_cloud_settings "$XSINST_DIRECTORY/cloud-settings" - store_authorized_keys "$XSINST_DIRECTORY/authorized_keys" - set_xenserver_installer_as_nextboot - set_state "XENSERVER_FIRSTBOOT" - reboot - ;; - "XENSERVER_FIRSTBOOT") - wait_for_xapi - forget_networking - transfer_settings_to_appliance "/root/cloud-settings" - add_boot_config_for_ubuntu /mnt/ubuntu/boot /boot/ - start_ubuntu_on_next_boot /boot/ - set_state "UBUNTU" - sync - create_done_file_on_appliance - ;; - "UBUNTU") - mount_dom0_fs /mnt/dom0 - wait_for_networking - store_cloud_settings /mnt/dom0/root/cloud-settings - store_authorized_keys /mnt/dom0/root/.ssh/authorized_keys - start_xenserver_on_next_boot /mnt/dom0/boot - set_state "XENSERVER" - reboot - ;; - "XENSERVER") - wait_for_xapi - forget_networking - transfer_settings_to_appliance "/root/cloud-settings" - start_ubuntu_on_next_boot /boot/ - set_state "UBUNTU" - sync - create_done_file_on_appliance - ;; - esac -} - -function set_state { - local state - - state="$1" - - echo "$state" > $STATE_FILE -} - -function get_state { - if [ -e "$STATE_FILE" ]; then - cat $STATE_FILE - else - echo "START" - fi -} - -function create_resizing_initramfs_config { - cp "$THIS_DIR/xenserver_helper_initramfs_hook" \ - /usr/share/initramfs-tools/hooks/resize - chmod +x /usr/share/initramfs-tools/hooks/resize - - cp "$THIS_DIR/xenserver_helper_initramfs_premount" \ - /usr/share/initramfs-tools/scripts/local-premount/resize - chmod +x /usr/share/initramfs-tools/scripts/local-premount/resize -} - -function delete_resizing_initramfs_config { - rm -f /usr/share/initramfs-tools/hooks/resize - rm -f /usr/share/initramfs-tools/scripts/local-premount/resize -} - -function run_this_script_on_each_boot { - cat > /etc/init/xenserver.conf << EOF -start on stopped rc RUNLEVEL=[2345] - -task - -script - /bin/bash $THIS_FILE $ADDITIONAL_PARAMETERS >> $LOG_FILE 2>&1 -end script -EOF -} - -function create_done_file_on_appliance { - while ! echo "sudo touch $FILE_TO_TOUCH_ON_COMPLETION" | bash_on_appliance; do - sleep 1 - done -} - -function download_xenserver_files { - local tgt - - tgt="$1" - - wget -qO "$tgt" "$XENSERVER_ISO_URL" -} - -function download_appliance { - local appliance_url - - appliance_url="$1" - - wget -qO /root/staging_vm.xva "$appliance_url" -} - -function print_answerfile { - local repository - local postinst - local xenserver_pass - - repository="$1" - postinst="$2" - xenserver_pass="$3" - - cat << EOF - - -sda -us -$xenserver_pass -$repository - -192.168.34.2 -255.255.255.0 -192.168.34.1 - -UTC - - -EOF -} - -function print_postinst_file { - local rclocal - rclocal="$1" - - cat << EOF -#!/bin/sh -touch \$1/tmp/postinst.sh.executed -cp \$1/etc/rc.d/rc.local \$1/etc/rc.d/rc.local.backup -cat $rclocal >> \$1/etc/rc.d/rc.local -cp /tmp/ramdisk/cloud-settings \$1/root/ -cp /tmp/ramdisk/authorized_keys \$1/root/.ssh/ -EOF -} - -function print_rclocal { - cat << EOF -# This is the contents of the rc.local file on XenServer -mkdir -p /mnt/ubuntu -mount /dev/sda1 /mnt/ubuntu -mkdir -p $(dirname $INSTALL_DIR) -[ -L $INSTALL_DIR ] || ln -s /mnt/ubuntu${INSTALL_DIR} $INSTALL_DIR -/bin/bash $THIS_FILE $ADDITIONAL_PARAMETERS >> $LOG_FILE 2>&1 -EOF -} - -function create_ramdisk_contents { - local isofile - local target_dir - - isofile="$1" - target_dir="$XSINST_DIRECTORY" - - mkdir "$target_dir" - ln "$isofile" "$target_dir/xenserver.iso" - print_rclocal > "$target_dir/rclocal" - print_postinst_file "/tmp/ramdisk/rclocal" > "$target_dir/postinst.sh" - print_answerfile \ - "file:///tmp/ramdisk" \ - "file:///tmp/ramdisk/postinst.sh" \ - "$XENSERVER_PASSWORD" > "$target_dir/answerfile.xml" -} - -function extract_xs_installer { - local isofile - local targetpath - - isofile="$1" - targetpath="$2" - - local mountdir - - mountdir=$(mktemp -d) - mount -o loop $isofile $mountdir - mkdir -p $targetpath - cp \ - $mountdir/install.img \ - $mountdir/boot/xen.gz \ - $mountdir/boot/vmlinuz \ - $targetpath - umount $mountdir -} - -function generate_xs_installer_grub_config { - local bootfiles - local answerfile - - bootfiles="$1" - answerfile="$2" - - cat > /etc/grub.d/45_xs-install << EOF -#!/bin/sh -exec tail -n +3 \$0 -menuentry 'XenServer installer' { - multiboot $bootfiles/xen.gz dom0_max_vcpus=1-2 dom0_mem=max:752M com1=115200,8n1 console=com1,vga - module $bootfiles/vmlinuz xencons=hvc console=tty0 make-ramdisk=/dev/sda1 answerfile=$answerfile install - module $bootfiles/install.img -} -EOF - chmod +x /etc/grub.d/45_xs-install -} - -function configure_grub { - sed -ie 's/^GRUB_HIDDEN_TIMEOUT/#GRUB_HIDDEN_TIMEOUT/g' /etc/default/grub - sed -ie 's/^GRUB_HIDDEN_TIMEOUT_QUIET/#GRUB_HIDDEN_TIMEOUT_QUIET/g' \ - /etc/default/grub - # sed -ie 's/^GRUB_TIMEOUT=.*$/GRUB_TIMEOUT=-1/g' /etc/default/grub - sed -ie 's/^.*GRUB_TERMINAL=.*$/GRUB_TERMINAL=console/g' /etc/default/grub - sed -ie 's/GRUB_DEFAULT=0/GRUB_DEFAULT=saved/g' /etc/default/grub -} - -function set_xenserver_installer_as_nextboot { - grub-set-default "XenServer installer" -} - -function store_cloud_settings { - local targetpath - - targetpath="$1" - - cat > $targetpath << EOF -ADDRESS=$(grep -m 1 "address" /etc/network/interfaces | sed -e 's,^ *,,g' | cut -d " " -f 2) -NETMASK=$(grep -m 1 "netmask" /etc/network/interfaces | sed -e 's,^ *,,g' | cut -d " " -f 2) -GATEWAY=$(grep -m 1 "gateway" /etc/network/interfaces | sed -e 's,^ *,,g' | cut -d " " -f 2) -MACADDRESS=$(ifconfig eth0 | sed -ne 's/.*HWaddr \(.*\)$/\1/p' | tr -d " ") -NAMESERVERS=$(cat /etc/resolv.conf | grep nameserver | cut -d " " -f 2 | sort | uniq | tr '\n' , | sed -e 's/,$//g') -EOF -} - -function store_authorized_keys { - local targetpath - - targetpath="$1" - - cp /root/.ssh/authorized_keys $1 -} - -function wait_for_xapi { - while ! [ -e /var/run/xapi_init_complete.cookie ]; do - sleep 1 - done -} - -function forget_networking { - xe host-management-disable - IFS=, - for vlan in $(xe vlan-list --minimal); do - xe vlan-destroy uuid=$vlan - done - - unset IFS - IFS=, - for pif in $(xe pif-list --minimal); do - xe pif-forget uuid=$pif - done - unset IFS -} - -function add_boot_config_for_ubuntu { - local ubuntu_bootfiles - local bootfiles - - ubuntu_bootfiles="$1" - bootfiles="$2" - - local kernel - local initrd - - kernel=$(ls -1c $ubuntu_bootfiles/vmlinuz-* | head -1) - initrd=$(ls -1c $ubuntu_bootfiles/initrd.img-* | head -1) - - cp $kernel $bootfiles/vmlinuz-ubuntu - cp $initrd $bootfiles/initrd-ubuntu - - cat >> $bootfiles/extlinux.conf << UBUNTU -label ubuntu - LINUX $bootfiles/vmlinuz-ubuntu - APPEND root=/dev/xvda1 ro quiet splash - INITRD $bootfiles/initrd-ubuntu -UBUNTU -} - -function start_ubuntu_on_next_boot { - local bootfiles - - bootfiles="$1" - - sed -ie 's,default xe,default ubuntu,g' $bootfiles/extlinux.conf - - log_extlinux $bootfiles/extlinux.conf -} - -function start_xenserver_on_next_boot { - local bootfiles - - bootfiles="$1" - - sed -ie 's,default ubuntu,default xe,g' $bootfiles/extlinux.conf - - log_extlinux $bootfiles/extlinux.conf -} - -function log_extlinux { - local extlinux_conf - - extlinux_conf="$1" - - echo "ACTUAL STATE OF EXTLINUX IS" - cat $extlinux_conf -} - -function mount_dom0_fs { - local target - - target="$1" - - mkdir -p $target - mount /dev/xvda2 $target -} - -function wait_for_networking { - while ! ping -c 1 xenserver.org > /dev/null 2>&1; do - sleep 1 - done -} - -function bash_on_appliance { - local vm_ip - local vm - - vm=$(xe vm-list name-label="$APPLIANCE_NAME" --minimal) - - [ -n "$vm" ] - - # Wait until appliance is accessible - while ! ping -c 1 "${vm_ip:-}" > /dev/null 2>&1; do - vm_ip=$(xe vm-param-get param-name=networks uuid=$vm | sed -e 's,^.*0/ip: ,,g' | sed -e 's,;.*$,,g') - sleep 1 - done - - ssh \ - -q \ - -i /root/dom0key \ - -o UserKnownHostsFile=/dev/null \ - -o StrictHostKeyChecking=no \ - -o BatchMode=yes \ - "$DOMZERO_USER@$vm_ip" bash -e -u -s -x -- "$@" -} - -function configure_networking { - local network_settings - - network_settings="$1" - - . "$network_settings" - - xe pif-introduce \ - device=eth0 host-uuid=$(xe host-list --minimal) mac=$MACADDRESS - - PIF=$(xe pif-list device=eth0 --minimal) - HOST_INT_NET=$(xe network-list name-label="Host internal management network" --minimal) - - ORIGINAL_MGT_NET=$(xe pif-param-get param-name=network-uuid uuid=$PIF) - NEW_MGT_NET=$(xe network-create name-label=mgt name-description=mgt) - NEW_MGT_VLAN=$(xe vlan-create vlan=100 pif-uuid=$PIF network-uuid=$NEW_MGT_NET) - NEW_PIF=$(xe pif-list VLAN=100 device=eth0 --minimal) - VM=$(xe vm-list name-label="$APPLIANCE_NAME" --minimal) - APP_IMPORTED_NOW="false" - if [ -z "$VM" ]; then - VM=$(xe vm-import filename=/mnt/ubuntu/root/staging_vm.xva) - xe vm-param-set name-label="$APPLIANCE_NAME" uuid=$VM - xe vm-param-set VCPUs-max=6 uuid=$VM - xe vm-param-set VCPUs-at-startup=6 uuid=$VM - APP_IMPORTED_NOW="true" - fi - DNS_ADDRESSES=$(echo "$NAMESERVERS" | sed -e "s/,/ /g") - - xe pif-reconfigure-ip \ - uuid=$PIF \ - mode=static \ - IP=0.0.0.0 \ - netmask=0.0.0.0 - - xe pif-reconfigure-ip \ - uuid=$NEW_PIF \ - mode=static \ - IP=192.168.33.2 \ - netmask=255.255.255.0 \ - gateway=192.168.33.1 \ - DNS=192.168.33.1 - - xe host-management-reconfigure pif-uuid=$NEW_PIF - - # Purge all vifs of appliance - IFS=, - for vif in $(xe vif-list vm-uuid=$VM --minimal); do - xe vif-destroy uuid=$vif - done - unset IFS - - # Create vifs for the appliance - xe vif-create vm-uuid=$VM network-uuid=$HOST_INT_NET device=0 - xe vif-create vm-uuid=$VM network-uuid=$ORIGINAL_MGT_NET mac=$MACADDRESS \ - device=1 - xe vif-create vm-uuid=$VM network-uuid=$NEW_MGT_NET device=2 - - xe vm-start uuid=$VM - - # Wait until appliance is accessible - while ! ping -c 1 "${VM_IP:-}" > /dev/null 2>&1; do - VM_IP=$(xe vm-param-get param-name=networks uuid=$VM | sed -e 's,^.*0/ip: ,,g' | sed -e 's,;.*$,,g') - sleep 1 - done - - if [ "$APP_IMPORTED_NOW" = "true" ]; then - rm -f /root/dom0key - rm -f /root/dom0key.pub - ssh-keygen -f /root/dom0key -P "" -C "dom0" - DOMID=$(xe vm-param-get param-name=dom-id uuid=$VM) - - # Authenticate temporary key to appliance - xenstore-write /local/domain/$DOMID/authorized_keys/$DOMZERO_USER \ - "$(cat /root/dom0key.pub)" - xenstore-chmod -u /local/domain/$DOMID/authorized_keys/$DOMZERO_USER r$DOMID - - while ! echo "true" | bash_on_appliance; do - echo "waiting for key to be activated" - sleep 1 - done - - # Remove authorized_keys updater - echo "echo \"\" | crontab -" | bash_on_appliance - - # Create an ssh key for domzero user - echo "ssh-keygen -f /home/$DOMZERO_USER/.ssh/id_rsa -C $DOMZERO_USER@appliance -N \"\" -q" | bash_on_appliance - fi - - # Update network configuration - { - cat << EOF -sudo tee /etc/network/interfaces -auto lo -iface lo inet loopback - -auto eth0 -iface eth0 inet dhcp - -auto eth1 -iface eth1 inet static - address $ADDRESS - netmask $NETMASK - gateway $GATEWAY - dns-nameservers $DNS_ADDRESSES - -auto eth2 - iface eth2 inet static - address 192.168.33.1 - netmask 255.255.255.0 -EOF - } | bash_on_appliance - - tmpdomzerokey=$(mktemp) - - # Enable domzero user to log in to dom0 - echo "cat /home/$DOMZERO_USER/.ssh/id_rsa.pub" | bash_on_appliance > $tmpdomzerokey - - # Update ssh keys and reboot, so settings applied - { - echo "sudo tee /root/.ssh/authorized_keys" - cat /root/.ssh/authorized_keys - } | bash_on_appliance - - echo "sudo reboot" | bash_on_appliance - - cat $tmpdomzerokey >> /root/.ssh/authorized_keys -} - -function transfer_settings_to_appliance { - local network_settings - - network_settings="$1" - - configure_networking "$network_settings" - /opt/xensource/libexec/interface-reconfigure rewrite -} - -function dump_disk_config { - echo "DUMPING Primary disk's configuration" - sfdisk -d /dev/xvda -} - -main diff --git a/nodepool/scripts/install_xenserver.sh b/nodepool/scripts/install_xenserver.sh deleted file mode 100755 index ed264e39fb..0000000000 --- a/nodepool/scripts/install_xenserver.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -xe - -# Copyright (C) 2011-2013 OpenStack Foundation -# Copyright (c) 2014 Citrix Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# -# See the License for the specific language governing permissions and -# limitations under the License. - -XENSERVER_XVA_URL=${NODEPOOL_XENSERVER_XVA_URL:-http://downloads.vmd.citrix.com/OpenStack/xenapi-in-the-cloud-appliances/prod_ci} -XENSERVER_ISO_URL=${NODEPOOL_XENSERVER_ISO_URL:-http://downloadns.citrix.com.edgesuite.net/akdlm/8159/XenServer-6.2.0-install-cd.iso} - -./convert_node_to_xenserver.sh \ - password \ - "$XENSERVER_XVA_URL" \ - devstack \ - "$XENSERVER_ISO_URL" diff --git a/nodepool/scripts/xenserver_helper_initramfs_hook b/nodepool/scripts/xenserver_helper_initramfs_hook deleted file mode 100644 index 328b197cdf..0000000000 --- a/nodepool/scripts/xenserver_helper_initramfs_hook +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -set -e - -PREREQ="" - -prereqs () { - echo "${PREREQ}" -} - -case "${1}" in - prereqs) - prereqs - exit 0 - ;; -esac - -. /usr/share/initramfs-tools/hook-functions - -copy_exec /sbin/resize2fs -copy_exec /sbin/e2fsck -copy_exec /usr/bin/expr -copy_exec /sbin/tune2fs -copy_exec /bin/grep -copy_exec /usr/bin/tr -copy_exec /usr/bin/cut -copy_exec /sbin/sfdisk -copy_exec /sbin/partprobe -copy_exec /bin/sed diff --git a/nodepool/scripts/xenserver_helper_initramfs_premount b/nodepool/scripts/xenserver_helper_initramfs_premount deleted file mode 100644 index 3f7dc9b874..0000000000 --- a/nodepool/scripts/xenserver_helper_initramfs_premount +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -e - -set -ex - -PREREQ="" - -# Output pre-requisites -prereqs() -{ - echo "$PREREQ" -} - -case "$1" in - prereqs) - prereqs - exit 0 - ;; -esac - -. /scripts/functions - -log_begin_msg "Resize started" -touch /etc/mtab - -tune2fs -O ^has_journal /dev/xvda1 -e2fsck -fp /dev/xvda1 -resize2fs /dev/xvda1 4G - -# Number of 4k blocks -NUMBER_OF_BLOCKS=$(tune2fs -l /dev/xvda1 | grep "Block count" | tr -d " " | cut -d":" -f 2) - -# Convert them to 512 byte sectors -SIZE_OF_PARTITION=$(expr $NUMBER_OF_BLOCKS \* 8) - -sfdisk -d /dev/xvda | sed -e "s,[0-9]\{8\},$SIZE_OF_PARTITION,g" > /tmp/new_layout - -while ! cat /tmp/new_layout | sfdisk /dev/xvda; do - sleep 1 -done - -while ! partprobe /dev/xvda; do - sleep 1 -done - -tune2fs -j /dev/xvda1 - -sync - -log_end_msg "Resize finished"