tripleo-incubator/scripts/takeovernode
divakar-padiyar-nandavar ff0bd1b140 Added changes to accommodate rename of incubator.
Made changes to documentation and scripts to accommodate the changes
required as part of moving the module incubator from stackforge to
openstack.

Change-Id: I41cc86d2792c6e8f9d2f01936f252daf4d407bc9
2013-07-29 20:54:30 -06:00

74 lines
2.4 KiB
Bash
Executable File

#!/bin/bash
#
# Copyright 2012 Hewlett-Packard Development Company, L.P.
# All Rights Reserved.
#
# 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.
# Initial cut - no functions, JFDI.
if [ -z "$1" ]; then
echo "No host supplied" >&2
exit 1
fi
if [ -z "$2" ]; then
echo "No image id supplied" >&2
exit 1
fi
#ref image=481ddf40-8f9c-4175-a993-c11b070d6653
# NOT SAFE against /etc races.
commands="sudo su -
apt-get -y install python-pip qemu-utils
pip install python-glanceclient
rm /tmp/image.qcow2
http_proxy= /usr/local/bin/glance -v --os-username demo --os-password nomoresecrete --os-tenant-name demo --os-auth-url http://glance.tripleo.org:5000/v2.0 --os-image-url http://glance.tripleo.org:9292/ image-download $2 --file /tmp/image.qcow2
ls -lh /tmp/
modprobe nbd max_part=16
rmdir /tmp/newimage
mkdir -p /tmp/newimage
qemu-nbd -c /dev/nbd1 /tmp/image.qcow2
mount /dev/nbd1 /tmp/newimage
rm -rf /tmp/recover
mkdir -p /tmp/recover/ssh
cp -ta /tmp/recover /etc/mtab /etc/hosts
cp -a /etc/ssh/ssh_host_*key* /tmp/recover/ssh/
[ -e "/tmp/newimage/boot" ] && rsync -axHAXv /tmp/newimage/ / --exclude=/tmp --delete-after | tee -a /tmp/rsync.log
cp -at /etc /tmp/recover/*
# Rewrites e.g. /dev/nbd0 -> a FS UUID from the taken over system
# XXX: TODO: Relabel the taken over system rootfs label to match root=LABEL=cloudimg-rootfs
# XXX: TODO: make the built images use the label, not the device.
update-grub
grub-install /dev/vda
reboot -n
"
# Rewrites e.g. /dev/nbd0 -> a FS UUID from the taken over system
echo "$commands" | ssh ubuntu@$1
# TODO:
# permit either:
# reboot -n
# or (staying online)
# retrigger cloud-init
# then free up the device....
# apt-get install qemu-utils
# sudo umount /tmp/newimage
# sudo qemu-nbd -d /dev/nbd1
#
#ssh stack@host / ubuntu@host?
# for the bootstrap image:
# Add eth1 via modprobe dummy && dummy0 - edit localrc and /etc/network/interfaces
#sudo ifup dummy0
#tripleo-incubator/scripts/demo
#$profit