784 Commits

Author SHA1 Message Date
Dean Troyer
8c2ce6ea72 Virtual environment groundwork
Introduce the tooling to build virtual environments.

* tools/build_venv.sh: build a venv
* introduce lib/stack to house functionality extracted from stack.sh that
  is needed in other places, such as Grenade; start with stack_install_service
  to wrap the venv install mechanics
* declare PROJECT_VENV array to track where project venvs should be installed
* create a venv for each project defined in PROJECT_VENV in stack_install_service()

Change-Id: I508588c0e2541b976dd94569d44b61dd2c35c01c
2015-02-18 20:19:38 -06:00
Dean Troyer
b1d8e8e274 Build wheel cache for venvs
Building a bunch of virtual envs later is going to be tedious if we do not
pre-cache certain annoying-to-build packages.

* tools/build_wheels.sh: pre-build some wheels for annoying package installs
* list distro package dependencies in files/*/venv
* list packages to pre-build as wheels in files/venv-requirements.txt
* install database Python modules when setting up the database

Change-Id: Idff1ea69a5ca12ba56098e664dbf6924fe6a2e47
2015-02-18 15:13:00 -06:00
Jenkins
2e9d32baf2 Merge "XenAPI: Recommend using xl console rather than vncviewer" 2015-02-18 12:57:32 +00:00
Bob Ball
e356d8cff6 XenAPI: Recommend using xl console rather than vncviewer
Some vncviewers do not support the -via option, so default to suggesting
xl console.  XenCenter continues to be an option for those running
Windows.

Change-Id: I1e53fd33d309e30a60031965e589167dcbacfbbe
2015-02-17 15:05:34 +00:00
Jenkins
9f362d3ab6 Merge "XenAPI: Move where os-vpx is set" 2015-02-16 22:04:23 +00:00
Jenkins
b2b19040d4 Merge "XenAPI: Move some boot-time functions to install-time" 2015-02-16 21:49:17 +00:00
Jenkins
314723962b Merge "Make EC2 compatible with current AWS CLI." 2015-02-12 17:48:54 +00:00
Bob Ball
0df75a7288 XenAPI: Move where os-vpx is set
os-vpx is only true after we know it's not a JEOS we're creating
Move the location we set the os-vpx flag to as we're starting to
prepare the VM for devstack

Change-Id: If736f3a7de171b8090b0bb905e04accb70470a90
2015-02-12 11:59:46 +00:00
Bob Ball
5b9adb60de XenAPI: Move some boot-time functions to install-time
The boot-time script (prepare_guest.sh) is one of the less reliable parts
of the install process.  This change enables SSH into the host as well as
reporting of the IP address.  This significantly helps debugging issues
now and enables moving of all other setup code to being executed over SSH.

Change-Id: I1555f1d91353ba8b75e2de4607df33ee20307a6e
2015-02-11 11:15:02 +00:00
Bob Ball
347e30877b XenAPI: Use round-robin mirror for Ubuntu
ANL has discontinued their Ubuntu mirror.  Update the target
to be the official round-robin mirror which should be more stable long-term

Change-Id: I1271301d96a44888f45664537435e31dd38ff30d
2015-02-09 12:02:51 +00:00
Andrey Pavlov
0ea8b72a20 Make EC2 compatible with current AWS CLI.
Nova listens for EC2 calls now at the URL without path -
http://some.server.com:8773/
I was made in review -
https://review.openstack.org/#/c/152496/

So I suggest to change EC2 urls in keystone catalog.

Change-Id: Ia2975ce0f6a30eed6016733e12c98b5f97648307
Closes-Bug: 1417555
2015-02-06 22:51:07 +03:00
Jenkins
a08590dbf2 Merge "XenAPI: Replace remaining instances of 'devstack.succeeded'" 2015-02-02 15:38:12 +00:00
Jenkins
481d50d80c Merge "Switch on curl retry options for fetching get-pip.py" 2015-01-29 06:51:52 +00:00
Attila Fazekas
1f316beb20 Remove rhel6 and py26 support
el6 is shipped with Python 2.6.x which is not expected
to be supported with the openstack kilo release.

For el6 support we need to do lot of thing differently,
which makes the code more complicated.

This change removes el6 and py26 support from devstack.

This change also removed a discontinued (1 year ago)
openSUSE 12.2 code path, which used a similar codepath as el6.

Several comment related to el6 also removed or modified.

Change-Id: Iea0b0c98a5e11fd85bb5e93c099f740fe05d2f3a
2015-01-27 09:22:52 +01:00
Bob Ball
f35e95706c XenAPI: Replace remaining instances of 'devstack.succeeded'
Commit I05990c7154366350b0f9cc3e6c70d6f34238486f was incomplete
and left two references to the, now replaced, devstack.succeeded.

The impact of this is that the XVA always claims that devstack failed
to run when actually the run may have been successful

Change-Id: Ie4ac673011d77a9edc8923db94d914efe9f45d5d
2015-01-26 14:13:02 +00:00
Davanum Srinivas
f5b4154251 Switch on curl retry options for fetching get-pip.py
Let's retry a few times before giving up.

Related-Bug: #1413034

Change-Id: I7c5c1a3936b5c08c5de43edc569b5a53d11b55a7
2015-01-22 07:57:42 -05:00
Jenkins
7fba9c9912 Merge "XenAPI: Use SCREEN_LOGDIR rather than assuming a static value" 2015-01-21 08:12:15 +00:00
Jenkins
77aca755b1 Merge "XenAPI: Fix another race condition" 2015-01-21 08:12:06 +00:00
Bob Ball
1e3a5d2d6c XenAPI: Use SCREEN_LOGDIR rather than assuming a static value
This value was defined in Citrix's install-devstack-xen script, so
only worked for those using that script.

Change-Id: Iab63389f41760865f2b67f6dccd57d774e889905
2015-01-16 14:50:40 +00:00
Bob Ball
0686dae661 XenAPI: Fix another race condition
Fix it properly this time by forcing a PID from run.sh and using that to track.

A second issue is that upstart may run services twice, introduce a flock test
to ensure that we only run stack.sh once as running in parallel causes issues.

Change-Id: I05990c7154366350b0f9cc3e6c70d6f34238486f
2015-01-16 13:53:47 +00:00
Sean Dague
537532931d Make changes such that -o nounset runs
This makes a bunch of variable cleanups that will let -o nounset
function, for the time being we hide nounset behind another setting
variable so that it's not on by default.

Because this is bash, and things are only executed on demand, this
probably only works in the config it was run in. Expect cleaning up
all the paths to be something that takes quite a while.

This also includes a new set of unit tests around the trueorfalse
function, because my change in how it worked, didn't. Tests are good
m'kay.

Change-Id: I71a896623ea9e1f042a73dc0678ce85acf0dc87d
2015-01-15 13:06:14 -05:00
Kashyap Chamarthy
7c9df1017c Remove Fedora 19 as supported distribution
Fedora 19 will reach its end of life on 6-JAN-2015

  https://lists.fedoraproject.org/pipermail/announce/2014-December/003243.html

Remove it as a supported distribution and add Fedora 21

  - stack.sh: Remove Fedora 19 from list of 'supported' distributions.
  - tools/fixup_stuff.sh: Remove Fedora 19. Also remove the workaround
    of disabling firewalld for Fedora 21.

Change-Id: If92b87d2f9a2bb95469730cda201a7981670f727
2015-01-06 11:42:26 +01:00
Adam Gandelman
130efefe6c Call sudo /w -H in install_pip.sh as well
We updated other usage of sudo to pass -H when installing pip things,
to avoid creating a .cache directory in $STACK_USER's $HOME that is
owned by root. get-pip.py also ends up creating a ~/.cache, so we
need to update sudo usage there as well.

Closes-bug: #1405626
Related-bug: #1405732

Change-Id: If791b9b25d6a4280dab19117004184e57e78d038
2014-12-27 14:09:07 -08:00
Jeremy Stanley
6ec66bb3d1 Install prettytable>=0.7 to satisfy pip 6/PEP 440
Also use sudo -H with pip so that it doesn't create a ~stack/.cache
other things can't write to as the stack user later.

Change-Id: I2134c7d8f58f8b83f33150c9ed86d87f8ccba2f3
2014-12-23 01:05:42 +00:00
Jeremy Stanley
35b5283a8f Comment option to enable Setuptools warnings
Change-Id: I9fc247ab343c2cea0a8a5b7a3823b5525d6c311f
2014-12-18 17:41:43 +00:00
Jeremy Stanley
b7ebc4765a Revert "Pin version of setuptools"
This reverts commit 3b782d304ec2073a6406c37b9e1a76c8aecfc9a3.

The blockers for setuptools 8 compatibility should all be resolved
now.

Change-Id: I6d2d63746f98f0f885816395f36022a2706fb9c5
2014-12-18 17:09:25 +00:00
Ruslan Kamaldinov
3b782d304e Pin version of setuptools
Latest release of setuptool 8.0 made several versions used in
requirements.txt of OpenStack projects invalid. Instances:
* SQLAlchemy>=0.8.4,<=0.8.99,>=0.9.7,<=0.9.99 in oslo.db 1.2.0
* python-neutronclient 2.3.9.40.g9ed73c0 in openstackclient

Cap '<8.0' is set as a temporary fix until a better solution
comes up.

Change-Id: I4cfe2e4c86474ec9bf69a3c2007c0277288ea2b6
2014-12-13 23:19:34 +03:00
Bob Ball
be485221b3 XenAPI: Simplify installed packages
Remove duplicate packages.
pip is handled by devstack, so don't try and install it here.

Change-Id: I6f22e0f86ae071d30bf69de9ed5dec6b28ebc92b
2014-12-12 13:14:46 +00:00
Bob Ball
f3b49e23b0 XenAPI: Add another plugin directory
Buildroot on 64-bit systems may use /usr/lib64 to store the XAPI plugins
Add this as an option to search for.

The list is getting of acceptable paths is getting longer but some work is going
on in XAPI to allow us to query for this path, which will mean we can get
rid of this list in future.

Change-Id: I79aafb6a86032c7ab04937c9e9bec08661ecdefa
2014-12-09 17:37:03 +00:00
Jenkins
e7c144649a Merge "Fix tools upload_image.sh utility" 2014-12-09 17:14:55 +00:00
Jenkins
5853160c6e Merge "Simplify docs build" 2014-12-09 05:12:16 +00:00
Gary Kotton
ffc1f8d426 Fix tools upload_image.sh utility
The utility would fail due to the fact that the GLANCE_SERVICE_PROTOCOL
was not set.

Change-Id: Iff0b59274fa909895abd70c3a6d1da63dbd70483
Closes-bug: #1396567
2014-12-04 04:59:26 -08:00
Jenkins
9b4b2913f9 Merge "Log early boot of Ironic VMs to serial with sgabios" 2014-11-18 15:21:36 +00:00
Adam Gandelman
ffd66ad77f Log early boot of Ironic VMs to serial with sgabios
This adds sgabios to the list of packages for Ironic and configures
the libvirt domain to redirect BIOS messages to serial via sgabios,
when console logging is enabled.  The sgabios package in Ubuntu
currently has an apparmor bug, so that is worked around here.

This allows visibility into early boot of Ironic nodes and should
help get to the bottom of a frequent failure we're seeing in the gate.

Change-Id: Ifd18851e2d23d198d36e67883a81afc6a92d2a58
Related-Bug: #1393099
2014-11-17 12:32:27 -08:00
Dean Troyer
b3fdb1c935 Simplify docs build
Remove unnecessary old code from tools/build_docs.sh; it now only builds
docs for the current branch in the current working directory.

Fix the merging if the git log changes into changes.html.

Change-Id: I965dc3383b6317807ca0d47fe42648a19e96b57b
2014-11-17 12:45:12 -06:00
Monty Taylor
0eed532ce3 Remove nose things
We don't use nose anywhere in anything related to devstack. The only
legitimate OpenStack things that are still nose are horizon and swift
unittests, and it turns out we don't really run those in devstack.

Change-Id: I215e0f3664f269e0e1b8f5d5f9c70553dededddd
2014-11-17 11:10:16 +11:00
Jenkins
1827b48766 Merge "Only sysctl reserverd ports when available." 2014-11-03 15:49:22 +00:00
Chmouel Boudjnah
8fceb49820 Only sysctl reserverd ports when available.
Only set the keystone reserved ports when available, on some system
(like when running under containers) where this sysfs interface is not
exposed we are almost pretty sure these ports would be exclusive for our
devstack.

Change-Id: I06d7d227ae94d564c91c16119e4bbbcc6564a280
2014-10-31 13:57:02 +01:00
Jenkins
0f765ff21a Merge "XenAPI: workaround for unsupp. associative arrays" 2014-10-31 11:23:36 +00:00
Jenkins
b95c4e65ec Merge "XenAPI: Remove non-used functions" 2014-10-31 11:23:33 +00:00
Jenkins
ca6156bc03 Merge "XenAPI: move Neutron plugin install to domU" 2014-10-31 11:23:29 +00:00
Jenkins
918f68b8bd Merge "XenAPI: Always update proxy settings" 2014-10-31 10:30:42 +00:00
Mate Lakat
518fb760d3 XenAPI: workaround for unsupp. associative arrays
Dom0's bash does not support associative arrays, however we source
`functions` and therefore our scripts fail. This change breaks the
dependency of dom0 tools on domU functions.

Fixes bug: 1379804

Change-Id: I229e2d5f07070a9236ec612d4032c94c4361a9f6
2014-10-29 18:10:43 +01:00
Mate Lakat
dec5ca0f20 XenAPI: Remove non-used functions
Remove the no-longer used functions that were used to download plugins
to dom0.

Change-Id: I8dfd476781b683a8378efdae45d3cb1b46e7063c
2014-10-29 17:31:45 +01:00
Mate Lakat
6df648920c XenAPI: move Neutron plugin install to domU
Use the same mechanism as used for nova plugin installation, thus
avoiding the need for variables in dom0. This change will also help to
move XenServer CI to neutron in the future, as the dom0 part of the
script is not executed there.

With this change, the neutron related network will always be created and
attached even if the user wants to use nova-network.

Change-Id: I8669c94e9f0aacce2990469dbabde1ff702a2769
2014-10-29 17:31:26 +01:00
Jenkins
da61a1f711 Merge "Remove internal bash8" 2014-10-22 18:14:58 +00:00
Jenkins
167dd5fd69 Merge "Move generation of baremetal VM names to lib/ironic" 2014-10-22 01:45:36 +00:00
Dean Troyer
50e9b9e25b Remove internal bash8
We use the one installed from pypi in the tox venv, so dump
the original.  Fix up run_tests.sh.

Change-Id: I6b0aa1da9bfa4d742a7210e6ff800d72492a2178
2014-10-21 08:30:25 -05:00
Adam Gandelman
22ec45e63a Move generation of baremetal VM names to lib/ironic
The create-nodes script currently receives a total # of VMs to create
and creates them all, generating their names on the fly.  This moves
that name generation to lib/ironic and makes the script create only
single VMs as directed.  This centralizes the naming of things to
lib/ironic and will make it easier to reference these things elsewhere.

Change-Id: I98e61f7188e027e690303e32aff7cd2347f6d2c2
2014-10-20 13:42:39 -07:00
Mate Lakat
e35785d910 XenAPI: Always update proxy settings
If a user wants to re-use an xva just with different proxy settings, he
can now do it, as this change will always update /etc/apt/apt.conf to
reflect the settings in the user's localrc.

Change-Id: I8a6e9c88304bc887ea8269d946e89a5ba258b126
2014-10-17 13:21:18 +02:00