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
|
exec tail -n +3 \$0
|
||||||
menuentry 'XenServer installer' {
|
menuentry 'XenServer installer' {
|
||||||
multiboot $bootfiles/xen.gz dom0_max_vcpus=1-2 dom0_mem=max:752M com1=115200,8n1 console=com1,vga
|
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
|
module $bootfiles/install.img
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
@ -403,7 +403,9 @@ function start_ubuntu_on_next_boot() {
|
|||||||
|
|
||||||
bootfiles="$1"
|
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() {
|
function start_xenserver_on_next_boot() {
|
||||||
@ -411,7 +413,18 @@ function start_xenserver_on_next_boot() {
|
|||||||
|
|
||||||
bootfiles="$1"
|
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() {
|
function mount_dom0_fs() {
|
||||||
@ -474,6 +487,8 @@ function configure_networking() {
|
|||||||
if [ -z "$VM" ]; then
|
if [ -z "$VM" ]; then
|
||||||
VM=$(xe vm-import filename=/mnt/ubuntu/root/staging_vm.xva)
|
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 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"
|
APP_IMPORTED_NOW="true"
|
||||||
fi
|
fi
|
||||||
DNS_ADDRESSES=$(echo "$NAMESERVERS" | sed -e "s/,/ /g")
|
DNS_ADDRESSES=$(echo "$NAMESERVERS" | sed -e "s/,/ /g")
|
||||||
|
@ -19,5 +19,5 @@
|
|||||||
|
|
||||||
./convert_node_to_xenserver.sh \
|
./convert_node_to_xenserver.sh \
|
||||||
password \
|
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
|
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