Background for this work can be read on the mailing list:
http://lists.openstack.org/pipermail/openstack-dev/2016-May/094063.html
Usage of the new Neutron is by setting the following in
ENABLED_SERVICES:
* neutron-api
* neutron-l3
* neutron-agent
* neutron-dhcp
* neutron-metadata-agent
For now, the new neutron library supports just the ML2 plugin, with the
Open vSwitch and Linux Bridge agents supported. All other Neutron
plugins should be creating their own DevStack plugin if they wish for
DevStack to support them. Many of them already do.
Other notable changes compared to neutron-legacy:
* Rely on the Neutron defaults, and force Neutron to make
sane defaults instead of all kinds of knobs in DevStack.
* Default to rootwrap daemon support
* Use the security group driver by default
* interface_driver can now use NEUTRON_AGENT (linuxbridge, openvswitch), since
they are entrypoints in neutron's setup.cfg
* Use NEUTRON_AGENT variable to determine which agent to run
Works with NEUTRON_AGENT set to either "linuxbridge" or "openvswitch"
Default is openvswitch for the time being.
* Set ML2 configuration for VXLAN support
* Remove Xen hypervisor stuff - it should be a plugin
* Move L3 crud into separate service file:
There's a lot of L3 configuration that was in the main neutron file, but
a lot of it is self contained and can be moved into its own file.
The new l3 service file will contain all the previous L3 plumbing and
configuration that the OpenStack Gate expects, while also eventually
moving the whole l3 network creation step into a single hook that can be
overridden by plugins.
* Introduce a check for a function "neutron_plugin_create_initial_networks" which
will become the mechanism through which different topologies, and
networking plugins can create and wire the initial networks that are
created during a stack.sh run.
The new lib/neutron is considered experimental, and followup patches
will build upon this one. Existing users of lib/neutron-legacy should
remain unharmed.
Co-Authored-By: Hirofumi Ichihara <ichihara.hirofumi@lab.ntt.co.jp>
Co-Authored-By: Dean Troyer <dtroyer@gmail.com>
Change-Id: I31b6362c6d9992f425f2dedbbeff2568390a93da
Encapsulate all the neutron specific things you have to do ping a
neutron guest into a separate script. Refactor the main ping_check so
all logic is contained within it.
Change-Id: Ic79d8e3a2473b978551a5635a11dba07e1020bb2
Preparing to refactor lib/neutron to support Neutron as the default
network config. lib/neutron will be renamed internally and refined
to support a couple of specific configurations.
Change-Id: I0d3773d14c4c636a4b915734784e7241f4d15474
Modify instance of `glance image-list` to `openstack image list`,
in an effort to migrate all commands to unified CLI.
Change-Id: Ieef661d209606e088fbf6a3a394f9a6577667618
Ironic on Devstack does not currently suppport security groups or
anything volume related. Add some special casing so exercises can
be run without error against the Ironic driver.
Change-Id: I2a54d8cca06fc17894e74b4401af9423cef95635
with I1c9bea2fdeebc4199c4f7d8fca4580a6fb7fed5b nova removed
docker from it's driver tree.
We shouldn't have driver support inside of devstack that's not
part of upstream projects (this has been a line we've been
pretty clear on with Neutron drivers in the past).
Remove docker driver accordingly.
Change-Id: Ib91d415ea1616d99a5c5e7bc3b9015392fda5847
Every once in a while I see this error running floating_ips.sh:
/devstack/exercises/floating_ips.sh:184:ping_check
/devstack/functions:356:_ping_check_neutron
/devstack/lib/neutron:904:die
[ERROR] /devstack/lib/neutron:904 [Fail] Could ping server
I think the problem is that it immediately tries to ping right
after the icmp rule is deleted. Add a timeout and check so we
at least wait one second.
Change-Id: I753ec257fa12f6d2ddff1a5b1909e32d8995e173
* Remove the check for neutron enabled on a block of variable settings, there
is no conflict and serves no purpose.
* Also floating_ips.sh and volume.sh needed to properly source lib/neutron
for do ping_check() to work properly.
The current error in check-devstack-dsvm-neutron is not related to this fix.
Change-Id: I1c458aaa787ffb98c945aefc3afa80c6861a405f
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
* 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
The cause of some gating failure looks like
because of getting ip address on instance.
However current exercise didn't log the return value.
In this commit, we add get_instance_ip function with
error hanlding support, and apply it on the execise.
Change-Id: I8e17ba68093faafe58a98eb780a032368eea38aa
1) Use the newer cell_type configuration option instead of overriding
the compute_api_class.
2) A nova-cells service is started for both the API cell (region) and
the compute cell (child). The screen names were both 'n-cell' which
caused both services to log to the same log file. The screen names have
been changed to n-cell-region and n-cell-child.
3) Security groups are not supported with cells. Multiple exercises are
patched to use the 'default' security group instead of creating a new
one. Additionally, if one uses the 'default' security group, do not try
to delete it, as one can never delete the default.
4) Disable the floating_ips and aggregates exercises when n-cell is
enabled, as they are not supported by cells.
5) Related to #4, disable the floating_ips tests within euca.sh
6) Update the README.md. No services need to be disabled, and one only
needs to enable the n-cell service.
Change-Id: I9782d1e3cda3c9dd3daefa15c043f5b06473cb87
This patch changes the default network name/floating pool from nova
to pubic as the name public makes more sense than nova for a public
network.
Change-Id: I4153750c08d1510dbad3051681e8c142a79fe1a1
It is hard to grep errors in current log. so in this patch,
I'm updating die function which also writes log for
screen_log_dir/error.log.
In future, we may categolize negative fault by using
this error.log.
Change-Id: I70a8cfe67ed408284f5c88c762c6bb8acb8ecdb2
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
* fix problem with deleting security groups too early in
floating_ips.sh and euca.sh
* create and clean up security groups
* cosmetic cleanups
Change-Id: Ie45e03f889c540ec83f27a02b10e787060c5d4d7
This patch adds several options to allow using OpenVZ virt layer.
- modifies stack.sh and stackrc to recognize a new VIRT_TYPE option
- set IMAGE_URLS to an openvz image, if VIRT_TYPE == openvz
It also makes a few changes to some tests so that some implicit
defaults (such as the guest user account) can be overridden.
Change-Id: I0dde2dffbf3848fac1dd27eb37af84c0ac73d9aa
* python-glanceclient overrides the old client shipped with glance in /usr/local/bin
* start adding exercises
Change-Id: I460ed5749bca69425f23d328c0537c2ef91f84a4
* Replace die_if_error() with the simpler die()
* Attempt to clean up unnecessary trace output
* Formatting cleanups on all exercise scripts
Change-Id: I72a542b3a59ee9bf12bee6bcc605edd7579205e0
* Test returns and exit codes on most command invocations
* Add start and end banners to make output easier to find in
long log files
* Adds die_if_error(), die_if_not_set() and is_set() to functions
* Add some function tests
Fixes bug 944593
Change-Id: I55e2962c5fec9aad237b674732b1e922ad37a62e
Related to bug 938853.
The patch for this bug prevents deleting security groups through the
OpenStack API if they are still in use. This patch for devstack updates
the floating_ips exercise script to wait until the VM has stopped before
deleting the security group.
Change-Id: If42f85934c2b92d4d001c419cabb09e2e3dc1aae
* Add proper test for swift in client-env.sh
* Remove all VERIFY variables; nothing beyond the 4 OS_ vars is set now
* Update exercises for Keystone 2.0 auth
* swift understands Keystone 2.0 auth now, don't download custom binary
* cleanup uploaded bundle in bundle.sh
Change-Id: I99c818d81534bbf93c0e142513acb80e5fe613ea
Add the OS_* env variables to mirror the NOVA_* vars; example:
setting OS_USERNAME will override NOVA_USERNAME in the clients and
tools, but if left unset it defaults to NOVA_USERNAME.
Adds exercises/client-env.sh to test operation of command-line
clients with only the OS_* variables set
Addresses bug 897304, http://wiki.openstack.org/CLIAuth
Change-Id: I72450153541072fe8026a82748cfcd1cf5ed31d8
floating_ips and volumes exercises both access Glance directly, but
assume it is running locally. To better accomodate exercising a
multi-host cloud, specify glance host via GLANCE_HOST setting which
defaults to HOST_IP to maintain current single-node functionality.
Change-Id: Iad06044af031083afa477204d446ada5161ca521
* increase some timeouts
* tolerate existing security groups and rules
* add optional DEFAULT_IMAGE_NAME to select the image to boot
* fix image lists via glance
Change-Id: I31ae743e602f69a2c9f872273273f542fc4afda3