Skip to content

Commit 8df3823

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Make devstack work with xcp-xapi package on Ubuntu 12.04"
2 parents 9b6a4bc + 030fb23 commit 8df3823

File tree

5 files changed

+40
-22
lines changed

5 files changed

+40
-22
lines changed

stack.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1705,7 +1705,7 @@ fi
17051705
# For Example: EXTRA_OPTS=(foo=true bar=2)
17061706
for I in "${EXTRA_OPTS[@]}"; do
17071707
# Attempt to convert flags to options
1708-
add_nova_opt ${I//-}
1708+
add_nova_opt ${I//--}
17091709
done
17101710

17111711

@@ -1716,8 +1716,9 @@ if [ "$VIRT_DRIVER" = 'xenserver' ]; then
17161716
read_password XENAPI_PASSWORD "ENTER A PASSWORD TO USE FOR XEN."
17171717
add_nova_opt "connection_type=xenapi"
17181718
XENAPI_CONNECTION_URL=${XENAPI_CONNECTION_URL:-"http://169.254.0.1"}
1719+
XENAPI_USER=${XENAPI_USER:-"root"}
17191720
add_nova_opt "xenapi_connection_url=$XENAPI_CONNECTION_URL"
1720-
add_nova_opt "xenapi_connection_username=root"
1721+
add_nova_opt "xenapi_connection_username=$XENAPI_USER"
17211722
add_nova_opt "xenapi_connection_password=$XENAPI_PASSWORD"
17221723
add_nova_opt "flat_injected=False"
17231724
# Need to avoid crash due to new firewall support

tools/xen/build_xva.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,13 @@ else
118118
sed -e "s,@ETH3_NETMASK@,$PUB_NETMASK,g" -i $INTERFACES
119119
fi
120120

121+
if [ "$ENABLE_GI" == "true" ]; then
122+
cat <<EOF >>$INTERFACES
123+
auto eth0
124+
iface eth0 inet dhcp
125+
EOF
126+
fi
127+
121128
# Gracefully cp only if source file/dir exists
122129
function cp_it {
123130
if [ -e $1 ] || [ -d $1 ]; then

tools/xen/scripts/manage-vdi

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,64 +7,74 @@ vm="$2"
77
device="${3-0}"
88
part="${4-}"
99

10-
xe_min()
11-
{
10+
function xe_min() {
1211
local cmd="$1"
1312
shift
1413
xe "$cmd" --minimal "$@"
1514
}
1615

16+
function run_udev_settle() {
17+
which_udev=$(which udevsettle) || true
18+
if [ -n "$which_udev" ]; then
19+
udevsettle
20+
else
21+
udevadm settle
22+
fi
23+
}
24+
1725
vm_uuid=$(xe_min vm-list name-label="$vm")
1826
vdi_uuid=$(xe_min vbd-list params=vdi-uuid vm-uuid="$vm_uuid" \
1927
userdevice="$device")
2028

2129
dom0_uuid=$(xe_min vm-list is-control-domain=true)
2230

23-
get_mount_device()
24-
{
31+
function get_mount_device() {
2532
vbd_uuid=$1
2633

2734
dev=$(xe_min vbd-list params=device uuid="$vbd_uuid")
2835
if [[ "$dev" =~ "sm/" ]]; then
2936
DEBIAN_FRONTEND=noninteractive \
3037
apt-get --option "Dpkg::Options::=--force-confold" --assume-yes \
31-
install kpartx || true &> /dev/null
32-
mapping=$(kpartx -av "/dev/$dev" | sed -ne 's,^add map \([a-f0-9\-]*\).*$,\1,p' | sed -ne "s,^\(.*${part}\)\$,\1,p")
38+
install kpartx &> /dev/null || true
39+
mapping=$(kpartx -av "/dev/$dev" | sed -ne 's,^add map \([a-z0-9\-]*\).*$,\1,p' | sed -ne "s,^\(.*${part}\)\$,\1,p")
3340
if [ -z "$mapping" ]; then
3441
echo "Failed to find mapping"
3542
exit -1
3643
fi
37-
echo "mapper/${mapping}"
44+
echo "/dev/mapper/${mapping}"
3845
else
3946
echo "/dev/$dev$part"
4047
fi
4148
}
4249

43-
open_vdi()
44-
{
50+
function clean_dev_mappings() {
51+
dev=$(xe_min vbd-list params=device uuid="$vbd_uuid")
52+
if [[ "$dev" =~ "sm/" ]]; then
53+
kpartx -dv "/dev/$dev"
54+
fi
55+
}
56+
57+
function open_vdi() {
4558
vbd_uuid=$(xe vbd-create vm-uuid="$dom0_uuid" vdi-uuid="$vdi_uuid" \
4659
device=autodetect)
4760
mp=$(mktemp -d)
4861
xe vbd-plug uuid="$vbd_uuid"
4962

50-
which_udev=$(which udevsettle) || true
51-
if [ -n "$which_udev" ]; then
52-
udevsettle
53-
else
54-
udevadm settle
55-
fi
63+
run_udev_settle
5664

5765
mount_device=$(get_mount_device "$vbd_uuid")
5866
mount "$mount_device" "$mp"
5967
echo "Your vdi is mounted at $mp"
6068
}
6169

62-
close_vdi()
63-
{
70+
function close_vdi() {
6471
vbd_uuid=$(xe_min vbd-list vm-uuid="$dom0_uuid" vdi-uuid="$vdi_uuid")
6572
mount_device=$(get_mount_device "$vbd_uuid")
73+
run_udev_settle
6674
umount "$mount_device"
6775

76+
clean_dev_mappings
77+
6878
xe vbd-unplug uuid=$vbd_uuid
6979
xe vbd-destroy uuid=$vbd_uuid
7080
}

tools/xen/templates/interfaces.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,3 @@ auto eth2
2121
iface eth2 inet static
2222
address @ETH2_IP@
2323
netmask @ETH2_NETMASK@
24-
25-
auto eth0
26-
iface eth0 inet dhcp

tools/xen/xenrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,8 @@ MGT_BR=${MGT_BR:-""}
3838
MGT_VLAN=${MGT_VLAN:-101}
3939
MGT_DEV=${MGT_DEV:-eth0}
4040

41+
# Guest installer network
42+
ENABLE_GI=true
43+
4144
# Source params
4245
cd ../.. && source ./stackrc && cd $TOP_DIR

0 commit comments

Comments
 (0)