XenServer: Add XenServer support
Upstreaming several changes from XenServer CI: - Use tty0 as console - thus the user can see what's happening during installation over VNC console. - Set the number of VCPUs to 6 for the DomU appliance - Add prepare_node_xenserver.sh script. - Use testing xva 1.1.4 which has trusty. Change-Id: I56fc4e1af12f3f13fd1aa0b772bd8734b412d3d5
This commit is contained in:
parent
2bb19f20ca
commit
f941684439
@ -312,7 +312,7 @@ function generate_xs_installer_grub_config() {
|
||||
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 console=hvc0 make-ramdisk=/dev/sda1 answerfile=$answerfile install
|
||||
module $bootfiles/vmlinuz xencons=hvc console=tty0 make-ramdisk=/dev/sda1 answerfile=$answerfile install
|
||||
module $bootfiles/install.img
|
||||
}
|
||||
EOF
|
||||
@ -403,7 +403,9 @@ function start_ubuntu_on_next_boot() {
|
||||
|
||||
bootfiles="$1"
|
||||
|
||||
sed -ie 's,default xe-serial,default ubuntu,g' $bootfiles/extlinux.conf
|
||||
sed -ie 's,default xe,default ubuntu,g' $bootfiles/extlinux.conf
|
||||
|
||||
log_extlinux $bootfiles/extlinux.conf
|
||||
}
|
||||
|
||||
function start_xenserver_on_next_boot() {
|
||||
@ -411,7 +413,18 @@ function start_xenserver_on_next_boot() {
|
||||
|
||||
bootfiles="$1"
|
||||
|
||||
sed -ie 's,default ubuntu,default xe-serial,g' $bootfiles/extlinux.conf
|
||||
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() {
|
||||
@ -474,6 +487,8 @@ function configure_networking() {
|
||||
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")
|
||||
|
@ -19,5 +19,5 @@
|
||||
|
||||
./convert_node_to_xenserver.sh \
|
||||
password \
|
||||
http://downloads.vmd.citrix.com/OpenStack/xenapi-in-the-cloud-appliances/1.0.1.xva \
|
||||
http://downloads.vmd.citrix.com/OpenStack/xenapi-in-the-cloud-appliances/1.1.4.xva \
|
||||
devstack
|
||||
|
44
nodepool/scripts/prepare_node_xenserver.sh
Executable file
44
nodepool/scripts/prepare_node_xenserver.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
# Copyright (C) 2011-2013 OpenStack Foundation
|
||||
#
|
||||
# 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.
|
||||
|
||||
|
||||
HOSTNAME=$1
|
||||
|
||||
function tsfilter {
|
||||
$@ 2>&1 | awk '
|
||||
{
|
||||
cmd ="date +\"%Y-%m-%d %H:%M:%S.%3N | \""
|
||||
cmd | getline now
|
||||
close("date +\"%Y-%m-%d %H:%M:%S.%3N | \"")
|
||||
sub(/^/, now)
|
||||
print
|
||||
fflush()
|
||||
}'
|
||||
}
|
||||
|
||||
set -o pipefail
|
||||
tsfilter ./prepare_node_devstack.sh "$HOSTNAME"
|
||||
|
||||
# After the node has been prepared, the hypervisor needs to be halted to make
|
||||
# sure that the filesystem is in a consistent state.
|
||||
sudo -u domzero \
|
||||
ssh \
|
||||
-o StrictHostKeyChecking=no \
|
||||
-o UserKnownHostsFile=/dev/null \
|
||||
root@192.168.33.2 \
|
||||
halt -p </dev/null
|
Loading…
Reference in New Issue
Block a user