
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
74 lines
2.4 KiB
Bash
Executable File
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
|
|
|