208 Commits

Author SHA1 Message Date
Mate Lakat
abe56ee90f xenapi: Setup and Rotate text console logs
This patch installs the cronjob that rotates/sets up the text console
logs of the guests.

Related to blueprint xenapi-server-log

Change-Id: Ie4c778b54f69519fbb80aa0d9822383f55a1e2f9
2013-07-24 16:54:55 +01:00
Jenkins
1f0efadccf Merge "xenapi: preinstall python netaddr" 2013-07-15 16:19:23 +00:00
Jenkins
25d3ecf23e Merge "xenapi: xe network-attach for OVS bridge creation" 2013-07-15 15:03:22 +00:00
Jenkins
0ee1367a6d Merge "xenapi: Exit immediately if zipball download fails" 2013-07-15 14:03:27 +00:00
Mate Lakat
f34cb85135 xenapi: preinstall python netaddr
On our CI system, the devstack instance was reporting errors, that are
related to devstack's address_in_net function - that requires the python
netaddr library to be installed. This patch preinstalls this python
package.

Fixes bug 1097667

Change-Id: I8af199427f06cfdf0a68d96d87fe3e541199dca7
2013-07-12 17:11:07 +01:00
Euan Harris
a3ec804ad9 manage-vdi: Wait until devices have been created before mounting
kpartx creates partition devices asynchronously - it may exit before
the devices have been created.  This may cause a subsequent mount call
to fail, because the device it is trying to mount does not yet exist.
kpartx now has a -s option which makes it wait for the devices to be
created before returning, but the version XenServer's dom0 doesn't have
this option.   Work around this by retrying the mount.

When dom0's kpartx is updated, we will be able to use the -s option.

Change-Id: I823a8eac4f3a2ef313d06e21da0f38ed46d7386a
2013-07-11 15:50:32 +01:00
Euan Harris
6f0017161f xenapi: Exit immediately if zipball download fails
If install_os_domU.sh fails to download the Xapi plugins zipball
correctly it ignores the error and continues the installation.
This could damage the hypervisor's filesystem, as it may delete
files or overwrite them with garbage.

Change-Id: I9f6dc31b977592e2818e37b2d310c2a5dc477364
Fixes: bug #1195640
2013-07-11 12:05:44 +01:00
Jenkins
3c98af20fc Merge "devstack: Add paths specific to XenServer Core" 2013-07-10 20:30:39 +00:00
Mate Lakat
d8511034e6 xenapi: xe network-attach for OVS bridge creation
For Neutron we need an additional OVS bridge to be present. The xe
network-create command did not create the bridge immediately. A
workaround was applied to attach a network interface to that network,
forcing xapi to create the underlying OVS bridge. It turned out, that
the xe network-attach command could be used instead, so the workaround
is removed and replaced with the proper solution by this patch.

Fixes bug 1197305

Change-Id: I10cc763531b71238f0bc12a12de985f8f35d7e27
2013-07-10 15:48:52 +01:00
Euan Harris
12229a77a5 devstack: Add paths specific to XenServer Core
* XenServer Core keeps its Xapi plugins in a different path to XenServer,
   in order to comply with the Filesystem Hierarchy Standard.

 * XenServer Core mounts devices under /dev/xen/blktap-2 in dom0,
   whereas XenServer mounts them under /dev/sm.

Change-Id: I0a66cd03f000f19c8ff63a8ae4231c00fda88380
2013-07-10 14:05:22 +01:00
Jenkins
4ef0c71914 Merge "xenapi: cleanup VM Installation" 2013-07-09 00:13:30 +00:00
Mark McClain
b05c876994 update for name change to Neutron
Note: Nova and Horizon are not updated until those projects have
migrated.

Change-Id: I256ef20e7caadd9c96e6dd908c5d8b69ca5c4aeb
2013-07-07 00:15:11 -04:00
Jenkins
16bfac4e76 Merge "Fix spelling mistakes" 2013-07-02 14:19:30 +00:00
Joe Gordon
4640026cc1 Fix spelling mistakes
git ls-files | misspellings -f -
Source: https://github.com/lyda/misspell-check

Change-Id: I7d63578734ca5cc1ec865a7d024c1a013d1ada87
2013-06-30 04:32:27 -07:00
Jenkins
cf225101fb Merge "Create the /images directory used by the resize functionality." 2013-06-27 20:45:46 +00:00
Jenkins
4a6529ae37 Merge "xenapi: Cleanup networking" 2013-06-27 18:56:50 +00:00
Bob Ball
39aeda23b2 Create the /images directory used by the resize functionality.
XenServer's resize uses /images as a known-path for each hypervisor.
This is a symlink to the storage repository so disks can be moved between
the /images path and the storage repository efficiently.

Change-Id: I13b39dbf5537ad45160c1af4cc10bd867b7f89c1
2013-06-24 10:51:42 +01:00
Mate Lakat
2f524bd905 xenapi: cleanup VM Installation
VM installation created a machine with multiple network interfaces. This
is a needless complexity at that point, we only need one interface. This
change removes the complex network interface setup from
install-os-vpx.sh script, so that only one network interface is created,
which is connected to the selected network (management by default). This
change also removes a lot of non-used code from install-os-vpx.sh
Specify the network to be used for ubuntu netinstall with:

    UBUNTU_INST_BRIDGE_OR_NET_NAME

defaults to $MGT_BRIDGE_OR_NET_NAME.

This change also includes:
 - use precise as default

Related to blueprint xenapi-devstack-cleanup

Change-Id: Ib0a0a316e849f2c2651305ea657c84820cd2bb3b
2013-06-20 15:22:58 +01:00
Mate Lakat
5a56cd6283 xenapi: Cleanup networking
OpenStack VM had 4 interfaces, from which eth0 was connected to HIMN (Host
Internal Management Network), and not used at all. The reason for not
using this interface according to johngarbutt is:
 - VNC console would not work
 - migrations would not work
 - many other things
This change removes the interface, thus devstack is providing the
same architecture as described in the official documentation, YAGNI
applied on the HIMN:

    http://goo.gl/dmrNF

The change also modifies some defaults, so it's easier to get started:
 - The Ubuntu VM is network-installed through the management network
 - OS VM is getting its address on the management network through DHCP
 - Default Public IP addresses aligned to stack.sh defaults
 - OS Services are listening on Management Interface

Related to blueprint xenapi-devstack-cleanup

Change-Id: I73c9751ade6f4786b8b682a1994cb87f0a624379
2013-06-20 14:43:14 +01:00
Mate Lakat
68ac03c7f2 xenapi: separate disk for cinder volumes
Some kernels have lockup issues while serving cinder volumes from
file-loopback-lvm kind of cinder setup. This patch provides a way to
create an additional drive to the OpenStack VM, and use that to store
cinder volumes, thus eliminating the lockup issue. It will help when
testing XenServer. Now, you can specify devices for stack-volumes
through:

    VOLUME_BACKING_DEVICE

In case you are using CINDER_MULTI_LVM_BACKEND, you can use

    VOLUME_BACKING_DEVICE2

as well.

Xenserver:
Should you whish to use a 10 gig disk backend for your cinder volumes,
specify:

    XEN_XVDB_SIZE_GB=10
    VOLUME_BACKING_DEVICE=/dev/xvdb

Citrix is using this approach on its internal CI system to run tests
against OpenStack. This is a workaround for this bug:

  https://bugs.launchpad.net/cinder/+bug/1023755

Related to blueprint xenapi-devstack-cleanup

Change-Id: Iee633d2704185bfbf9234882654c47b850fa168a
2013-06-19 13:56:33 +01:00
Mate Lakat
8ff33ce75f xenapi: kernel_cmdline moved out from template
The kernel's cmdline was set during the initial devstack machine
installation. Thus, during second runs, the kernel's cmdline was not
updated. This patch extracts append_kernel_cmdline, and configures
domU's kernel cmdline every time. As some networking parameters are
passed through the kernel cmdline, this patch makes it possible to
change the network configuration, even if a cached devstack exists.

Related to blueprint xenapi-devstack-cleanup

Change-Id: I3b7175f4e83326c3e28825ac50625f6bd2a9a029
2013-05-31 10:45:46 +01:00
Mate Lakat
f652e0fb6d xenapi - quantum: L2 agents for dom0 and domU
This patch makes it easier to support the all-in-one installation of
XenServer with Quantum:
- separate agents for domU and dom0 openvswitches. The domU agent's name
  is "q-domua", and the dom0 agent is called "q-agt"
- create a physnet1 physical network to connect those openvswitches

Note: This patch depends on the quantum patch:

    https://review.openstack.org/15022

For a diagram, see:
    http://goo.gl/BuAdg

Change-Id: Iff851438553528b9051edd380ecbb2c0415cbf78
2013-05-24 18:23:53 +01:00
Mate Lakat
9e32677927 xenapi - cleanup network configuration
The Xenserver/XCP part of devstack was configuring the hypervisor's
connectivity to the outer world, by adding VLANs, and physical
interfaces to the virtual networks. It added a lot of complexity, and
made it hard to get started with XenServer. This patch removes that
extra complexity, so it is left as an exercise for the user.

Related to blueprint blueprint xenapi-devstack-cleanup

Change-Id: If3367335c3da8621d0afe1f6cae77511fbdbb3e2
2013-05-24 12:07:56 +01:00
Jenkins
b4057a4c50 Merge "xenapi - use management network to reach OS VM" 2013-05-24 11:04:04 +00:00
Mate Lakat
d3740f70b5 xenapi: Ubuntu installation repository/proxy fix
Get rid of UBUNTU_INST_REPOSITORY, use UBUNTU_INST_HTTP_HOSTNAME and
UBUNTU_INST_HTTP_DIRECTORY instead. User can also specify
UBUNTU_INST_HTTP_PROXY to utilize a proxy for the OpenStack VM
installation. The answer file will be edited to contain the specified
values. Also get rid of the magic, undocumented MIRROR variable.

This is related to blueprint xenapi-devstack-cleanup

Change-Id: Ic9fc564c4ad0f43e2e536854335ebe14791d0255
2013-05-14 11:37:07 +01:00
Mate Lakat
8644676846 xenapi - use management network to reach OS VM
Devstack used the HOST_IP_IFACE to reach the OpenStack VM through ssh.
This patch changes this behavior, so that the IP address of the
interface connected to the management network will be used.

Related to blueprint xenapi-devstack-cleanup

Change-Id: I7f34d973870792d60a33ea512901d9b0d422150b
2013-05-12 18:41:40 +01:00
Mate Lakat
0b3804bff7 xenapi - cleanup
Add error on unitialised variable to the scripts. This way some issues
were identified. Also modify README with fresh variables. The patch
includes:
 - Add SWIFT_HASH to the README
 - Add XENAPI_CONNECTION_URL to the README
 - Add VNCSERVER_PROXYCLIENT_ADDRESS to the README
 - Introduce UBUNTU_INST_IFACE which is the OpenStack VM interface used
   for the netinstall. It defaults to eth3. Previously this parameter
   was set by the combination of HOST_IP_IFACE and the undocumented
   NETINSTALL_IP
 - get rid of NETINSTALL_IP
 - xenrc includes CLEAN_TEMPLATES
 - xenrc no longer tries to change directory
 - remove chrooting from prepare_guest.sh (STAGING_DIR was always / )
 - remove DO_TGZ variable from prepare_guest.sh
 - use arguments to call prepare_guest.sh, instead of env vars
 - Fix backslash escaping in prepare_guest_template.sh

NOTE: networking is about to be addressed in a separate change.

Related to blueprint xenapi-devstack-cleanup

Change-Id: Ie9a75321c7f41cc9a0cc051398d1e6ec2c88adfa
2013-05-12 17:27:13 +01:00
Bob Ball
2634be00b8 Correcting comment for HOST_IP_IFACE
Change-Id: I4c3438dc1168401c193841976cf8ba8534b33679
Fixes: bug #1174455
2013-04-29 23:35:57 +01:00
Mate Lakat
fe586b1cbe xenapi: /boot/guest should point to local SR
Fixes bug 1037516

This patch creates a directory os-guest-kernels inside the local SR, and
sets up /boot/guest to be a symlink to that directory. This way
OpenStack won't pollute Dom0's filesystem.

Change-Id: If8dfe24355bd782a401fed0f2c4b423efd9c11ba
2013-04-03 15:33:33 +01:00
Mate Lakat
57e3da9b76 xenapi: Extract plugin installation functions
This change extracts the plugin installation functions, and covers the
extracted functions with tests. Use:

    ./test_funtions.sh run_tests

to run the tests.

Change-Id: I1d78d9e8cc4d52ee2df83d07e4c74dda4805f21a
2013-03-25 15:12:58 +00:00
Jenkins
fcb578edfb Merge "XenAPI: run DomU on a virtual kernel" 2013-03-14 21:15:58 +00:00
Mate Lakat
6e207ce25c XenAPI: run DomU on a virtual kernel
Fixes bug 1154506.

Change-Id: I6e2f576a6de19db70f2a88278f9c043a433f4cec
2013-03-13 09:42:58 +00:00
Mate Lakat
a8bf0f23e0 Small Refactors
Rename TOP_DIR to THIS_DIR, change the order of variable definitions.

Change-Id: I96c12c5102e658ec76ab5176c3207fb641dae078
2013-03-07 18:37:31 +00:00
Bob Ball
7fcc157b3f Remove excessive verbosity to make log files easier to debug
Change-Id: I8e10c706662b6e82e3d00aeaa436dbe0ec6a0ffd
2013-02-20 15:56:25 +00:00
Mate Lakat
ec06efc607 Disable non-dhcp resolv.conf
Fixes: bug #1119268
Change-Id: Icf7d420a31eb7a0cb46b2e59a4328f6b640deb57
2013-02-08 10:50:34 +00:00
Jenkins
f96b762a84 Merge "Improved feedback for domU install on XS" 2013-02-02 01:20:29 +00:00
Bob Ball
a814f22ce4 Minor fix to readme - corrected indentation for some commands
Change-Id: I0a16c59d258be4ce8bb8cdebfb3d1cbc30ce9d54
2013-01-31 15:21:43 +00:00
Bob Ball
63c6c2b006 Improved feedback for domU install on XS
Change-Id: I5b9d07493eb334169fb2643047a014f56ee265fa
2013-01-29 13:23:49 +00:00
Dean Troyer
74759aa17a Remove DEFAULT_STACK_USER, just use STACK_USER
STACK_USER needs to be set for more than just stack.sh, there
was no real distinction for using DEFAULT_STACK_USER instead
of just setting STACK_USER directly in stackrc and allowing it
to be overridden in localrc.

Change-Id: I9e8d70db29bb421f1ce3dbf40a5ad299cc7ea785
2013-01-25 11:09:17 -06:00
Maru Newby
2298ca4f70 Add limited support for Quantum+OVS on XS/XCP.
* Add priliminary support for running the OVS L2 and DHCP agents
   in domU:
   * Configure Nova to use the correct vif driver and integration
     bridge.
   * Configure the ovs agent to target the dom0 integration bridge.
   * Install a xapi plugin supporting dom0 execution of ovs agent
     commands.
 * Config doc: http://wiki.openstack.org/QuantumDevstackOvsXcp
 * Supports blueprint xenapi-ovs

Change-Id: If5ab07daab1dc3918004eb4bfb6fed6cab0a71fd
2013-01-14 21:33:49 +00:00
Attila Fazekas
91b8d13eda Fix "sudo: sorry, you must have a tty to run sudo"
On many systems the requiretty sudoers option is turned on by default.
With "requiretty" option the sudo ensures the user have real tty access.

Just several "su" variant has an option for skipping the new session creation step.

Only one session can posses a tty, so after a "su -c" the sudo will not
work.

We will use sudo instead of su, when we create the stack account.

This change adds new variable the STACK_USER for
 service username.

Change-Id: I1b3fbd903686884e74a5a22d82c0c0890e1be03c
2013-01-11 09:15:30 +01:00
Mate Lakat
9efcf6042c xenapi: Enhance devstack progress monitoring
Fixes bug 1091299

XenServer - devstack install monitors a log file by tailing it, to see,
if the devstack installation is finished. In some cases this script does
not detect, that the startup script is finished, and just waiting,
causing build failures with timeouts. With this change, the
install_os_domU script monitors, if the run.sh script is still running,
thus guaranteed to exit as soon as run.sh is done.

Change-Id: I24a7a46e93ce26be024096828c7954bc694af2b2
2012-12-19 10:57:45 +00:00
John Garbutt
72cffd56bf Make the standard devstack logging work with XenServer
Fixes bug 1087387

Stop redirecting the output in devstack to ensure when
you configure LOGFILE that the devstack scripts keep working

Change-Id: I00dce315f5f79c4fc351d9ab11c504274d998fce
2012-12-06 18:19:29 +00:00
Mate Lakat
da33982947 Remove hardwired ansolabs urls
Fixes bug 1078618.

The files are no longer available on ansolabs' servers. The files were
put on github, and this change modifies the location used in devstack.

Change-Id: I1f512ad3b52d6b04d0e28ce6a532e11bfede1462
2012-11-14 12:47:17 +00:00
Stef T
f993b2353f Enable Xen/DevStackDomU to have larger disk
* Size of xvda can be specified via xenrc

  * Fixes bug 1076430

Change-Id: Ia4ffef98b01fa9572e43c46275a132b2b1e5f689
2012-11-08 10:49:32 -05:00
Maru Newby
3a87eddc7f Added options to improve offline usage.
* NOVA_ZIPBALL_URL can be set for a XS/XCP install to point to a
   non-standard zipball location.
 * PIP_USE_MIRRORS (default True) can be set to False to stop pip
   from attempting to use mirrors (useful for when using an offline
   eggproxy).

Change-Id: I01a9944fe4c13c8cc8323a703f598bc498491b73
2012-11-07 19:49:12 +00:00
Andrew Melton
98ab500c2c prepare_guest_template.sh fails when there are multiple xs-tools iso's in ISO_DIR
In the case of two iso's ('xs-tools-6.0.2.iso' and 'xs-tools-6.0.2-1111.iso'),
TOOLS_ISO gets set to 'xs-tools-6.0.2-1111.iso xs-tools-6.0.2.iso' This causes
'mount -o loop xs-tools-6.0.2-1111.iso xs-tools-6.0.2.iso $TMP_DIR' to get
called, which fails as it's meant to be called with only one file. This fix
simply sets TOOLS_ISO to the first iso that ls returns.

Change-Id: Id4d883e2b1e33b233c9ee907016b4ce117c28021
2012-09-12 14:06:47 -04:00
Jenkins
7d8f036662 Merge "Install XenServer tools from the iso on XenServer" 2012-08-16 17:15:08 +00:00
John Garbutt
b6c8714408 Install XenServer tools from the iso on XenServer
Fixes bug 1032122 by ensuring, where possible, we use the tools
shipped with XenServer rather than downloading the tools from
images.ansolabs.com

Change-Id: I4592eca315b4700e73097d678309d00323923c8b
2012-08-03 17:57:41 +01:00
John Garbutt
d8f1a87a45 Make it easier to use Precise or Oneric with XenServer DevStack
This is a partial fix for bug 1009937

Change-Id: I1fc7059cd812bce1539a5050f60717db4cbd81ef
2012-08-03 12:44:08 +01:00