47 Commits

Author SHA1 Message Date
Jenkins
7719d4aca8 Merge "Begin is_service_enabled() cleanup" 2014-02-12 07:19:11 +00:00
Dean Troyer
e4fa721322 Begin is_service_enabled() cleanup
This converts the special cases in the is_service_enabled() function to call
individual functions declared by the projects.  This allows projects that
are not in the DevStack repo and called via the extras.d plugin to handle
an equivalent service alias.

* Ceilometer
* Cinder
* Glance
* Neutron
* Nova
* Swift

TODO: remove the tests from is_service_enabled() after a transition period

Patch Set 2: Rebased

Change-Id: Ic78be433f93a9dd5f46be548bdbd4c984e0da6e7
2014-02-07 10:06:21 -06:00
Dean Troyer
1023ff7c3a Move ironic to plugin
Also adds an is_ironic_enabled() function to prepare for an upcoming
change in is_service_enabled().

Change-Id: I6e6e0e8b70221e231785ab27e9b5d4836933ac4c
2014-02-04 15:51:38 -06:00
Dean Troyer
fc744f9713 Convert trove to plugin
Also adds an is_trove_enabled() function to match
https://review.openstack.org/69497 changes for is_service_enabled().

Change-Id: Ic0408ff6d9816aec8a3506931470470342a5dcd7
2014-01-27 17:16:33 -06:00
Brant Knudson
0049c0c434 Make unstack.sh more like stack.sh
unstack.sh and stack.sh both have to "configure projects", but the
code was different. This change makes it so the 2 sections of the
files are the same.

Change-Id: Ia06f8bbfbe2a6e87fb406e34e13a39bd7fa9e5af
2014-01-16 18:16:48 -06:00
Gordon Chung
5eec5b6b80 command not found errors on unstack
- add lib/ceilometer and lib/heat to source list for when stop_heat
and stop_ceilometer functions are called.
- add lib/tls source to lib/keystone for when is_ssl_enabled_service
function called.

Change-Id: Ief05766e9cfda71fb6392c8a757d04751283414e
Closes-Bug: #1269047
2014-01-14 11:23:39 -05:00
Dean Troyer
9fc8792b0a Robustify service shutdown
* Save PID when using screen in screen_it()
* Add screen_stop()
* Call out service stop_*() in unstack.sh functions so screen_stop()
  can do its thing

Closes-bug: 1183449
Change-Id: Iac84231cfda960c4197de5b6e8ba6eb19225169a
2014-01-11 11:46:19 -06:00
Dean Troyer
cdf3d76647 Add stack phases to extras.d handling
Add hooks to stack.sh, unstack.sh and clean.sh to call the extras.d
scripts at multiple points in stack.sh.  This allows these scripts to
perform installation and startup tasks at similar times as they would
if integrated into stack.sh.

extras.d/70-tempest.sh is present as an example of the structure
of these scripts.

See extras.d/README.md for more information.

Change-Id: Ic1fe522559b94d204d6c0319a2e3d23684c8d028
2013-10-15 16:13:47 -05:00
Dean Troyer
23f69d83e5 Split the creation of $STACK_USER account out of stack.sh
Automatically creating a new user account is not always the right course
of action when stack.sh is running as root.  Plus, the re-exec did not
work correctly in some cases.

* Create tools/create-stack-user.sh to set up a suitable user
  for running DevStack
* Abort stack.sh and unstack.sh if running as root and suggest creating a
  suitable user account.

Change-Id: I5d967c00c89f32e861449234ea8fe19261cd9ae3
2013-10-04 16:36:00 -05:00
Nikhil Manchanda
0cccad43aa Added Trove (Database as a Service).
- Added changes to stackrc for the Trove Repos.
- Added support to devstack for "install", "configure",
  "init", and "run"

implements blueprint:trove-devstack-integration

Change-Id: Ib3f6daad33e629f764a174b80762c808ce8588e2
2013-09-11 23:48:07 +00:00
Jenkins
630d03e77a Merge "Basic support of Ironic" 2013-09-03 16:19:06 +00:00
Dean Troyer
2aa2a89cdb Add support for Docker as Nova hypervisor
* Add basic support for hypervisor plugins in lib/nova_plugins
* Add lib/nova_plugins/hypervisor-docker to use Docker as a Nova
  hypervisor.
* Add tools/install_docker.sh to install the Docker daemon and
  registry container, download base image and import
* Configure Nova to use docker plugin
* Add docker exercise and skip unsupported ones

Nova blueprint: new-hypervisor-docker

Change-Id: I9e7065b562dce2ce853def583ab1165886612227
2013-08-28 22:36:48 -05:00
Roman Prykhodchenko
ce696b60d7 Basic support of Ironic
Ironic is an OpenStack project than brings a
separate service for baremetal provisioning.
Currently Ironic is in incubation but it needs
to have basic support in devstack to provide
automatic deployment testing.

Change-Id: Ide65a1379fa207a6c8b2c7d9a4f9c874b10fd9ba
2013-08-22 12:30:51 +03:00
zhang-hare
d98a5d0a58 enable apache2 server as front end for swift
1.install apache and wsgi module
2.config apache2 vhost and wsgi files for proxy,
account, container and object server.
3.refactor apache functions from horizon and swift
into lib/apache

Change-Id: I3a5d1e511c5dca1e6d01a1adca8fda0a43d4f632
Implements: blueprint enable-apache-frontend-for-swift
2013-07-29 11:15:21 +08:00
Ian Wienand
31dcd3e7ab Use unique build dir for pip installs
There is a bug in pip [1] where it will choose to install a package
from an existing build-dir if it exists over the version actually
requested.

Thus if a prior component has installed a later version of the
package, the unpacked code is already in /tmp/$USER-pip-build; it gets
re-installed and manifests in a confusing error along the lines of

---
 Downloading/unpacking requests>=1.1,<1.2.3
   (from -r /home/stack//python-cinderclient/requirements.txt (line 5))
   Running setup.py egg_info for package requests
   Requested requests>=1.1,<1.2.3 (from -r
   /home/stack/python-cinderclient/requirements.txt (line 5)),
    but installing version 1.2.3
...
  error: Installed distribution requests 1.2.3 conflicts with
    requirement requests>=1.1,<1.2.3
---

I believe pip 1.4 fixes this problem, but it should always be safe to
specify a unique build-directory for pip installs to avoid picking up
old versions.

We also add a cleanup_tmp function for clearing out anything that
stack.sh might leave around when un-stacking, and add a catch-all for
the pip-build dir.

[1] https://github.com/pypa/pip/issues/709

Change-Id: I7ce919cddfd6d6175ae67bd864f82e256ebc7090
2013-07-19 10:44:50 +10: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
JordanP
614202fc40 On unstack : clean up network namespaces created by quantum
Also removes OVS ports

Fix Bug #1156837

Change-Id: Id4178c0a12a3ada76403a57a736a9c7a908d6a4a
2013-05-22 10:00:30 +02:00
Chmouel Boudjnah
0c3a5584c6 Enable swift by default.
- Set by default SWIFT_REPLICAS to 1 since this is the most common use
  case when using it in devstack.
- If we have swift_replicas to 1 launch the object container account and
  proxy servers in foreground in screen.
- Allow any s- services if we have just 'swift' in service enabled
  instead of having to specify all s- services to enable swift. This will be
  removed in the future.
- Set object server starting at 6013 instead of 6010 to not conflict
  with remote ssh x11 forwarding.

Change-Id: I890b6953b70283bfa0927fff0cf5e92f3c08455b
2013-03-06 13:16:37 +01:00
Sean Dague
f3fd44c4be Revert "Enable swift by default."
This reverts commit 5a5cbf7274a6a50bb766ec590cf885430ed5c5d0.

This breaks on a default openstack install on Ubuntu 12.10,
revert for now until this can be cleaned up to work out of the
box.

Change-Id: I185509cc30bd28e920cdab60fc92129949bd6b0d
2013-03-04 17:52:03 -05:00
Chmouel Boudjnah
5a5cbf7274 Enable swift by default.
- Set by default SWIFT_REPLICAS to 1 since this is the most common use
  case when using it in devstack.
- If we have swift_replicas to 1 launch the object container account and
  proxy servers in foreground in screen.
- Allow any s- services if we have just 'swift' in service enabled
  instead of having to specify all s- services to enable swift. This will be
  removed in the future.

Change-Id: I496f79e14f99bd7e9f2c7deee12a4b6e935c3a5b
2013-02-22 18:50:08 +01:00
Chmouel Boudjnah
43eb0b3159 Make sure to cleanup swift on unstack/relaunch.
- Fixes bug 1049553.

Change-Id: I9fef93d25512c014dfb882adf0e169487bf877d8
2013-01-12 20:10:34 +00:00
Dean Troyer
768295e9f1 Add mechanism to automatically load additional projects
This adds an extras.d directory to contain startup scripts that
stack.sh runs automatically at the end.  Similar to local.sh
except the scripts are sourced into the stack.sh process rather
than executed as a child process.  This gives them complete
access to the stack.sh environment.

Convert Tempest to use this format as an example.

Change-Id: Ibc95e6aaecf4211da948319eb452293ae4357780
2013-01-09 19:53:45 -06:00
Devananda van der Veen
7611c894b5 Add fake env support to baremetal
Use bm_poseur to create VM and network bridge
so that, in the absence of physical hardware,
baremetal driver still has something to manipulate.

Change-Id: Id80ede13a35e4380f358b47f08d41ff98ea9d70f
2012-12-28 10:56:17 -08:00
Jenkins
3dc18034d6 Merge "clean up cinder on an unstack" 2012-12-27 22:14:00 +00:00
Akihiro MOTOKI
66afb47cb9 Refactor quantum installation
* Move quantum installation to lib/quantum
* Refactor quantum configuration
* Move Quantum service account creation from keystone_data.sh to lib/quantum
* Define generic functions to install third party programs

* Minor cleanups related to Quantum
  * Kill dnsmasq which watches an interface 'ns-XXXXXX' in unstack.sh
  * Set default_floating_pool in nova.conf to make default flaoting pool
    work when PUBLIC_NETWORK_NAME is other than 'nova'
  * Make tempest work even when PRIVATE_NETWORK_NAME is other than 'private'

Change-Id: I4a6e7fcebfb11556968f53ab6a0e862ce16bb139
2012-12-26 23:41:38 +09:00
Sean Dague
252f2f533b clean up cinder on an unstack
cinder currently has issues that leave volumes around
after tempest tests. Make sure that cinder gets cleaned
up to a zero state on an unstack.sh so that we can reset
the environment.

Change-Id: I448340899bf0fae7d4d16fa26da17feafcef888f
2012-12-20 16:43:41 -05:00
Dean Troyer
c83a7e125f Add TLS support for keystone via proxy
* Adds lib/tls to create test CA/certs
* Start proxy if 'tls-proxy' is enabled
* Configure keystone service catalog for TLS
* Tear down proxy in unstack.sh
* Set auth protocol and ca-cert chain in openrc
* Add DATA_DIR to stackrc

This is the first in a series of patches to enable TLS support
for the service API endpoints.

Change-Id: Ia1c91dc8f1aaf94fbec9dc71da322559a83d14b6
2012-12-11 17:08:54 -06:00
Jenkins
2e69ba7918 Merge "move setup_quantum to stack.sh" 2012-12-06 16:44:09 +00:00
Nachi Ueno
8bc21f6476 move setup_quantum to stack.sh
sudo is only allowed in stack.sh on the CI, so move setup_quantum code
to the stack.sh.
also fixes quantum debug command setup for linuxbridge and ryu

Change-Id: I11bc0aa242a690e25acc088b3e9f483ceab38f26
2012-12-05 17:55:08 -08:00
Vincent Untz
c18b965152 Add is_ubuntu function
This replaces all of the [[ "$os_PACKAGE" = "deb" ]] tests, except when
those tests are before straight calls to dpkg.

Change-Id: I8a3ebf1b1bc5a55d736f9258d5ba1d24dabf04ea
2012-12-04 18:30:13 +01:00
Attila Fazekas
ece6a332b7 Refactor swift installation
* Optimize loops
* Move install steps to the lib/swift

Change-Id: Ie8a74b2627395620ccb0501171fa0150ee7497f2
2012-11-30 20:36:50 +01:00
Sean Dague
b562e6a710 move horizon logic to lib to clean up stack.sh
pre holiday refactor extrodinare, get the horizon code
over fully into lib/horizon so that all these fixes aren't
scattered through stack.sh

Change-Id: I7f26c5c6708d5693048eb7b1ce792122adbc7351
2012-11-26 10:24:09 -05:00
Joe Gordon
6fd2811726 Remove support for nova-volume
* nova-volume has been removed in Grizzly
* part of delete-nova-volume

Change-Id: Iba91d69950767823d77aaaa93243b0f476dbb04d
2012-11-14 13:21:58 -08:00
Terry Wilson
428af5a257 Add PostgreSQL support to devstack
This patch adds an interface for supporting multiple database backend
types and implemnts support for PostgreSQL. It also adds a function,
use_exclusive_service, which serves as a base for enabling a service
that conflicts with other services. The use_database function uses it,
and it might also be useful for selecting messaging backends.

MySQL is still selected by default. Tested on Fedora 17 and Ubuntu
12.04 with MySQL and PostgreSQL. Implements blueprint postgresql-support

Change-Id: I4b1373e25676fd9a9809fe70cb4a6450a2479174
2012-11-03 18:19:21 -04:00
Yoshihiro Kaneko
602cf9bd68 Add support for the Quantum Ryu plugin.
This patch allows using the Quantum Ryu plugin.
Ryu plugin lets Quantum link Open vSwitch and Ryu OpenFlow controller[1].

Ryu OpenFlow controller is not Openstack component, but I added some
processing that is related with Ryu to stack.sh for the convenience of
the person who intend to try the plugin.

Instructions for using Ryu plugin:
1. Enable services: "q-svc", "q-agt", "q-dhcp", "q-l3", "quantum", "ryu"
2. Set Q_PLUGIN to "ryu"
3. Set an internal network interface name to connect br-int on plural
   hosts to RYU_INTERNAL_INTERFACE (optional)

Example localrc:
  disable_service n-net
  enable_service q-svc q-agt q-dhcp q-l3 quantum ryu
  Q_PLUGIN=ryu
  RYU_INTERNAL_INTERFACE=eth1

[1] http://osrg.github.com/ryu/

Change-Id: Ic1da132fa421f1c70c10a319ee3239831b0f956f
2012-10-19 07:00:32 +00:00
Surya Prabhakar
a9c4a8aff2 kill throws an error while finding pid
in quantum dhcp agent section

Change-Id: I602df7875710336125cdbb8407ff293a8e7d448e
2012-10-06 19:41:36 +05:30
John Griffith
d53bedc6bb Enhance tgt cleanup in unstack.sh
*Check that tgt driver is in good state when we start
   if not try to just restart it

  *Remove targets based on iqn entries in persist files

  *Remove the persist files themeselves

  *Stop the tgt service

Updated to use *_STATE_DIR vars

Change-Id: I3ba9f2b8c099c7f290696760527fe2147d9b1d38
2012-09-14 16:01:19 -05:00
Josh Kearney
659eabfb6f Shut down rabbitmq-server when shutting down all services.
Fixes bug 978205.

Change-Id: I688887e4b4426db36438f2bf0e537956f4f94757
2012-09-06 15:10:38 -05:00
Dean Troyer
4a43b7bd90 Cosmetic, comment and text cleanups
* functions
* stack.sh
* stackrc
* unstack.sh

A recent commit to stack.sh broke the RST formatting done by shocco to
produce the HTML-formatted files on devstack.org.  A bunch of comment
and spacing fixes were done (ala pep8 if there were such a thing for
shell scripts).

The only non-comment changes made were to the content of some error
messages.

Fixes bug 1042271

Change-Id: Id1c74cf25c03c4f18ed741f8026e36b0d4a598dd
2012-08-28 21:12:47 -05:00
Chmouel Boudjnah
84394b9f8f Use keystoneauth middleware from swift.
- We have moved swift to keystone middleware to swift use it.
- Should be referenced now as keystoneauth.
- Make swift-init silently pass in unstack even when swift was not yet
  installed.

Change-Id: Ibf9443608b7aa81be5f48f555e95ff5f4c8065bd
2012-08-10 10:09:42 +00:00
Sascha Peilicke
5da67fe42f Use right service name when stopping tgt in unstack.sh
On non-deb systems, 'tgt' is 'tgtd'.

Change-Id: I357b47cf117a5e615eb4af9603b7c5670e5cff1c
2012-08-07 09:47:28 +02:00
Gary Kotton
722fe6732a Ensure that dnsmasq is terminated when running unstack.sh
If the Quantum dhcp-agent is enabled then we ensure that the dnsmasq
process is termated when running unstack.sh

Change-Id: I0aee8b806c61dff42400a3b8552b7c748e9c5adf
2012-07-18 14:36:17 -04:00
Dean Troyer
7d28a0e1fc Cleanup stack/unstack
* whitespace and comment cleanups only

Change-Id: I31b3057657bb3bc5c4e085886ef6ac561967706f
2012-07-06 09:26:15 -05:00
Dean Troyer
67787e6b4c Add cinder support
* using the new functional pattern: cinder_XXX functions are in
  lib/cinder
* enable with 'c-api,c-sch,c-vol' in ENABLED_SERVICES, n-vol is still the default
* exercises/volumes.sh runs for cinder and n-vol
* move config to /etc/cinder
* change volume_group to stack-volumes; this also renames the backing file
  to /opt/stack/data/stack-volumes-backing-file.
* removes osapi_volume from nova.conf enabled_apis
* integrates cinder + keystone
* launches c-sch
* tweaks for multi node
* move enabled_apis substitution to init_cinder

18Jun2010
* restored & rebased
* update setup.py to use setup_develop() in lib/cinder

Change-Id: I1e1aa4387031c56e4fa239eb73bea2af8cef0e38
2012-06-20 14:11:19 -06:00
Dean Troyer
eeaf266a79 Skip screen if not present
Change-Id: I018249c415fa91ca6461a8f9d236767aa57a8fbd
2012-06-14 09:11:38 -05:00
Dean Troyer
5218d451dc E) Add support for Fedora 16
Highlights:
* Add files/rpms/*
* get_packages() only loads deps for services that are enabled

11Apr2012
* change mod_wsgi cwd to $HORIZON_DIR
* fix horizon apache log file name and location

Note: This superceeds https://review.openstack.org/4364

Change-Id: I95486584561e4418907a6a4feb0ffbe4f4ea1843
2012-04-11 14:55:47 -05:00
Dean Troyer
f4d2395e76 Add unstack.sh
unstack.sh is a simple clean-up script to kill known running
OpenStack processes:
* quit devstack's screen session
* stop swift daemons
* stop apache
* remove volumes

Change-Id: I41b33817c4436e644c336e4e0673144ac0844c26
2012-03-28 18:05:12 -05:00