123 Commits

Author SHA1 Message Date
Nir Magnezi
2f5e3b4db8 Add placement services to devstack example files
As a followup to I273c3c8299ee329bed425f3e7cd4b583ed1187a4, adding
nova placement services which are mandatory starting Ocata.

Change-Id: I74adfd6aa3bc0cb1061427ef6d66fc8d3c20d776
2017-02-01 15:53:44 +02:00
Michael Johnson
2a7a3cd5c4 Fix octavia multinode setup for flavor and image
This patch fixes a few issues with the devstack setup on a multi-node
octavia gate.  It makes sure the flavor is present and configured on
both nodes and only clones diskimage-builder on the main node.

Change-Id: I4c24e22798235b6bf795e659516f6864768216a3
2017-01-13 19:43:18 +00:00
Jenkins
8683dd81aa Merge "Remove OSC deprecation warnings" 2017-01-11 02:11:10 +00:00
ZhaoBo
8eddb0fd22 Fix multi-typo error in Octavia
This patch fix some typo in Octavia.

Change-Id: I2699f85f07e3207a0438b8127e9992c553fa40fc
2017-01-05 11:56:20 +08:00
Gary Kotton
607b21b851 Remove OSC deprecation warnings
The src-ip is deprecated and we should use remote-ip

TrivialFix

Change-Id: I6f165d158abb88765f0e20a291be33de9f974b82
2017-01-01 00:56:55 -08:00
Lubosz "diltram" Kosnik
3ffcbeab64 Change bind_host IP address
Previously octavia API was binding to 127.0.0.1 and in Keystone
was specified other IP depending on the IP specified on host.
Bind to the service host address to enable keystone service catalog usage.

Change-Id: Iead0075c3ac4b2fbc733b8916503d0a8c68dd232
2016-12-16 20:14:09 +00:00
Gregory Haynes
3c5c13c69c Stop depending on tripleo-image-elements
There were only two elements we were using from this repo -
os-svc-install which we werent actually calling anywhere, we only
depended on it needelessly and sysctl. The sysctl element has been moved
in to dib as dib-sysctl so we can now stop depending on
tripleo-image-elements entirely.

Depends-On: If312d199388036d6f4103e94dca99249cb3bcbaf
Depends-On: Ia730850a48e2478fd5461710a9d2619408725cd8
Change-Id: Ie78c4f3ebe506214f0ce7c456fcbbee09d35ba2a
2016-12-15 13:17:18 -06:00
Gregory Haynes
316a13ac48 Add support for diskimage-builder tracing
Dib supports a -x argument to output additional tracing information.
Lets support this in our diskimage-create script.

Change-Id: Ifb9f29250475d53ae8c64deef4be01ef8bd584d4
2016-12-14 09:06:56 -08:00
Michael Johnson
24fcaabae5 Fix devstack plugin for KEYSTONE_CATALOG_BACKEND
Devstack has removed KEYSTONE_CATALOG_BACKEND from it's
repo: https://review.openstack.org/#/c/391380

Due to above change gate tests are failing, we should
remove it from octavia plugin as well. Refer below for
it's deprecation and removal:-
http://lists.openstack.org/pipermail/openstack-dev/2016-February/086272.html

Change-Id: I143b330ed37b42594ad60c434b868ad5762f62c8
Closes-Bug: #1644085
2016-11-28 16:54:19 +00:00
Dustin Lundquist
6ce85349c9 Enable IPv6 load balancer networks
This patch addresses several places where IPv6 and IPv6 link-local
addresses where not considered for communication between amphora and the
controller worker.

In the devstack plugin we permit both IPv4 and IPv6 for health
monitoring and the amphora REST API.

In the amphora's UDP health sender we parse the IP port string in a
manner which permits IPv6 addresses by splitting on the last colon
rather than every colon.

In the controller REST API driver we append an interface scope if using
IPv6 link-local addresses. This interface can be specified by an
operator is they are using an interface other than o-hm0, this only is
required if using IPv6 link-local addresses.

Change-Id: I9d07bec4ac105e8876fadb72a83a590ffd4d2e66
2016-11-23 12:03:42 -08:00
Jenkins
8fef2f04a7 Merge "Run amphora agent with gunicorn" 2016-11-23 17:05:19 +00:00
Lubosz "diltram" Kosnik
076e016bb2 Backend Keystone authentication
Change methods used in backend to authenticate with keystone.
Use autodetection mechanizm for API version and refactor config
options specified in Octavia.

Change-Id: Id0deee2714040d271f43a537c27f410e2f4e3ef2
Closes-Bug: #1620668
Closes-Bug: #1618691
2016-11-17 11:03:40 -06:00
Adam Harwell
48a1e7cbe9 Run amphora agent with gunicorn
Flask's default runner (werkzeug) is plagued with bugs.
If we use gunicorn instead, we should have many less problems!

Depends-On: I211dc771aa95147c0f1d9e6ac1a65a7e164b33c2
Change-Id: I59897167f9285bf013f8a155dd2ea4f799ac1d3f
2016-10-26 17:42:49 +02:00
Miguel Angel Ajo
da97896e8d Enable support for multinode in the gate hook
This deploys two controller nodes with an haproxy in
fron of the main API endpoint and workers on both
nodes: primary and subnode1.

Change-Id: Iecc38aa950e8b5a4c42db6b609820443efe437c2
Related-Bug: 1628481
2016-10-17 10:50:31 +02:00
Jenkins
fe267c46b3 Merge "Fixes pregenerated certificates validity to 50y" 2016-10-15 15:06:44 +00:00
Stephen Balukoff
ae5a3a99fb Update haproxy logging configuration
Use httplog for appropriate listeners in default amphora image, instead
of tcplog for everything.

Change-Id: I162862dace86556262d25cbe8ab10433139ffc89
2016-10-14 13:49:03 -07:00
Miguel Angel Ajo
257848697b Fixes pregenerated certificates validity to 50y
The existing pregenerated certificates (CA) were already expired
and not working on the multinode tests. Those pregenerated
certificates are used so all the nodes share the same CA.

This patch introduces a script to regenerate the certs in the
repo too.

Change-Id: I977c29e3d5867e22efd60d6bdda8a98a26559fc9
Closes-Bug: 1633436
2016-10-14 18:05:12 +02:00
Stephen Balukoff
253f4e3e43 Add linuxbridge support to devstack plugin
Our devstack plugin assumes the developer is using OVS in their
environment. However, there are sometimes cases where it's useful to run
tests using linuxbridge. This commit adds support for linuxbridge in the
development devstack environment.

Change-Id: Id8fa3f9882bd5dfee7ca5af7060b9c4624363a8e
Co-Authored-By: Dustin Lundqiust <dustin@null-ptr.net>
2016-10-12 15:49:19 -07:00
Dustin Lundquist
03cd2ec434 Scenario tests: improve test http server
Replacing existing bash and netcat based test HTTP server with a golang
implementation, to permit testing of connection limits. While desirable
to avoid introducing an additional testing dependency, employing golang
here solves several problems. The static linked binary works well with
CirrOS images for testing, since not other files need be included in the
CirrOS image. The implementation can scale to large number of
connections (5k in a m1.tiny instance, and in excess of the 20k limit
imposed by Apache Bench in a m1.large) and tracks the maximum number of
concurrent connections reached, this allows connection_limit testing.

Change-Id: Ib1320559142ca05177c5cb93f22baee401c17470
2016-10-12 12:41:04 -07:00
Jenkins
f8def392ef Merge "Update devstack plugin to use openstack client" 2016-10-11 20:02:43 +00:00
Michael Johnson
e2cdd21644 Update devstack plugin to use openstack client
The Octavia devstack plugin is using deprecated nova secgroup-list.
This patch updates the plugin.sh to use the new openstack client
where it can.

Change-Id: I000eff4b2692953fcdaac581aaafe683e9289388
Closes-Bug: #1631087
2016-10-11 18:17:36 +00:00
Jenkins
f1ece8ddd4 Merge "Fix nova image-list which is unavailable" 2016-10-06 09:07:03 +00:00
Miguel Angel Ajo
d537aed6dc Fix nova image-list which is unavailable
In Newton nova call to image-list was deprecated and
it's not available anymore.

I've switched the cli call to openstack image list which
does the job perfectly.

Change-Id: I2091328998d8b5fbf383f3d32b2d3c0cc24ca618
2016-10-04 11:15:53 +00:00
Monty Taylor
5fe67523cd
Use get-pip.py from cache if it exists
There are gate issues pulling get-pip from its upstream location on some
build hosts. However, it's pre-cached on the nodes, so use it if it's
there.

Change-Id: Iaa242331ed72212b05f2c817ffff5e68840cd97b
2016-09-30 07:51:46 -05:00
Michael Johnson
bc079c9d97 Use a cached get-pip.py if it is availble
Diskimage-builder has an element called pip-and-virtualenv that
specifies https://bootstrap.pypa.io/get-pip.py as the url to
dowload the get-pip.py file.  This patch checks if a version
is cached locally by infra on the gate hosts and will use that
location instead of downloading it.

Depends-On: I6f071984c1b26498223fc9a6f3528280ab064244

Change-Id: I78d77835b988d0076c10d205b25f0033ffbc01c7
2016-09-29 20:38:28 +00:00
Jenkins
d75e174e10 Merge "Adding introduction and developer quick start docs" 2016-09-26 23:50:19 +00:00
Stephen Balukoff
1360c197c9 Adding introduction and developer quick start docs
Octavia is currently missing any documentation designed to help
new developers and operators understand what we're doing with the project
or how to get started using and contributing to it. This patch set aims
to correct this problem.

Co-Authored-By: Michael Johnson <johnsomor@gmail.com>
Co-Authored-By: Leslie Lundquist <llundquist@us.ibm.com>
Closes-Bug: #1558368
Change-Id: Idaa37277bd342b644a463d4a0884ea40c2e8d4f5
2016-09-26 14:17:36 -07:00
ptoohill1
5e774f373a Octavia: Basic LoadBalancer Scenario Test
TESTING: Devstack plugin changes to run scenarios

Adds: Structure for tempest testing
Adds: Required tempest files and configuration for tempest testing
Adds: Octavia clients for communication with the API
Adds: Utilities for tempest testing
Adds: Mock session in method test_update_health_no_status_change of test_update_db

Co-Authored-By: Franklin Naval <franklin.naval@gmail.com>
Co-Authored-By: Madhusudhan Kandadai <madhusudhan.openstack@gmail.com>
Co-Authored-By: min wang <swiftwangster@gmail.com>

Change-Id: Ifd821ad0d94131e7dc42f2a52746ec094cf4153e
2016-09-23 22:50:05 +00:00
Michael Johnson
d7d062a47a Option to restrict amp glance image owner
This patch adds an optional configuration setting that allows an
operator to restrict the amphora glance image selection to a specific
owner id.  This is a recommended security setting for clouds that
allow user uploadable images.

Change-Id: I73347b5b3e868d13974cd6ca6bada9cdf75773fe
Closes-Bug: #1620629
2016-09-15 19:46:46 +00:00
Bernard Cafarelli
e683b78c39 DIB output filename and requirements fixes
Change default output directory to working directory (systemwide script
    would by default try to create images in /usr/bin)
Canonicalize output filename parameter, else relative paths would
    generate images in temporary directory)
Clean devstack plugin to use the -o option again
Fix yum package detection ("yum list" reports success if the package
    exists in enabled repositories)
Add python-pip to the needed packages (for later pip calls)

Change-Id: Iff22a83f4a73e7aa36ee892773c01f13738f7a43
2016-08-11 12:10:43 +02:00
chen-li
686357ad29 Use seperate security group for o-hm0 port in devstack
OCTAVIA_HM_LISTEN_PORT is used for amphore to talk with o-hm.
This port need to be enabled in security group.

Change-Id: I686e49a502a1abf9afa5fc6b10d444fda98dc0d5
2016-07-20 00:24:31 -05:00
Miguel Angel Ajo
50fd8be1fd Insert haproxy in front of all the o-api endpoints
The main octavia node will need the OCTAVIA_NODES setting
in the following format to setup the octavia API haproxy
in front of all of them.

OCTAVIA_NODES=main:<ip-address>,second:<ip-address>

Change-Id: I4a88dae4aa47c508559fd7464f127a23b089af2a
2016-07-09 11:33:35 +00:00
Miguel Angel Ajo
b47fcb2834 Allow deploying secondary worker and API nodes
This commit introduces a new parameter "OCTAVIA_NODE", which
is standalone by default. Only the main (for ha) or standalone
nodes create resources like accounts, the management network,
images, etc.

We also introduce a multinode vagrant configuration.

A follow up patch will introduce an haproxy in front of the octavia
API endpoints.

Change-Id: I835ee7e0e925232b55f3c14eeed98aeb0f0ce463
2016-07-09 11:33:08 +00:00
Elena Ezhova
a7ac7ad1cb Decrease default resource expiry age in DevStack setup
DevStack is used mostly for development purposes that
often involve frequent creation and deletion of resources.
That is why having a lot of stale resources like amphorae and
load balancers is quite confusing.

Keeping them around for a week makes sense in production but in
DevStack deployments it is reasonable to decrease expiry age
to 1 hour by default.

Change-Id: I1b78963256467175537caffd46a863da9f5fb018
2016-07-07 05:54:27 +00:00
Brandon Logan
f88e06b52f Use correct code version for amphora agent image
Change-Id: I3d5ad4d4904cf5fdf19124ad4d66e6c9cf16a93c
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>
2016-07-01 14:55:19 -07:00
Jenkins
00c5c7a7f0 Merge "Set device owner for health manager port" 2016-06-17 04:11:44 +00:00
Kobi Samoray
fda9f2cd60 Set device owner for health manager port
Devstack plugin creates the health manager port with no device owner.
This is unusual as this value usually has some meaningful value, and
although the port name is quite descriptive, a distro could use the
device owner value to lookup the health manager port.

Closes-bug: #1592007
Change-Id: I8f75c5f70837dbc2f66d3e34c52a39a25614ada3
2016-06-13 17:17:46 +03:00
chen-li
3194618372 Use transport_url instead of oslo_messaging_rabbit
Aviod warning message:
oslo_config.cfg [-] Option "rabbit_hosts" from group "oslo_messaging_rabbit"
is deprecated for removal.  Its value may be silently ignored in the future.

Change-Id: Ibe591f104367e3c3e8d26c7a22be25cf53991599
2016-06-13 02:50:02 -05:00
Jenkins
8c5670a2d4 Merge "Use RABBIT_USERID instead of 'guest'" 2016-06-09 14:02:58 +00:00
Jenkins
177d7c7f31 Merge "Disable dhclient requests the default route info" 2016-06-08 21:10:40 +00:00
Jenkins
74c2f81af1 Merge "health-manager listen port security group" 2016-06-08 21:02:53 +00:00
Jenkins
ca98690f70 Merge "Use glance image-list command in devstack/plugin.sh" 2016-06-08 18:49:45 +00:00
chen-li
189654e4b3 Use RABBIT_USERID instead of 'guest'
Change-Id: I1575dbb052456ade5953b3a42ec41bcacd737715
Closes-Bug: #1590225
2016-06-08 00:48:50 -05:00
chen-li
a345559d9b Disable dhclient requests the default route info
Closes-Bug: #1555235

Change-Id: I7a7e3a9361f7ce45f92ff52e98c547026f44cc0c
2016-06-08 00:14:16 -05:00
Kobi Samoray
501c6f96e8 health-manager listen port security group
Octavia health manager listen port should be at the same security group
as the Octavia members.

Change-Id: Ie0988dc95651abe78cbdd5dff1d958ed91af8ea1
2016-06-05 14:39:03 +00:00
Miguel Angel Ajo
c599f9b80f Use devstack RABBIT_HOST to point to rabbit, instead of localhost
Otherwise, in a multiple controller devstack deployment, all services
point to localhost, which won't work.

While we're at it I removed oslo_messaging_rabbit rabbit_port, since
rabbit_hosts option overrides the former setting.

Change-Id: Ib3c9b75a24ae9351ac7e6f2b4b748ccd6bcb2236
2016-06-02 13:52:29 +00:00
Miguel Angel Ajo
dee7043f2f Allow deployment with pre-generated ssh keys and certificates
This patch is part of a series that will allow the deployment
of a simple multinode octavia devstack, where the certs and
ssh keys are uniform over all the controllers.

Orchestrating the deployment of the same ssh keys or certificates
becomes difficult without making use of tools like ansible otherwise.

The provided certificate is valid for 10 years.

Change-Id: I45e8e54d58a725281636a61fdb769265de50d9ba
2016-06-02 13:40:39 +00:00
Elena Ezhova
8566a69eec Use glance image-list command in devstack/plugin.sh
image-list command is deprecated in novaclient, so use glanceclient
instead.

Change-Id: Iaeb7784754818eeb0da363f0bf76d1c3bb2d539f
2016-05-31 17:21:53 +03:00
Sergey Belous
b27a507b61 Small cleanup of plugin.sh
Remove uncommenting the 'username' option in sample config that actually
does not exist in config since commit 42c12d7e8c5b7dd4ba4f0c7630ad5124f63441e9

Change-Id: I6dc8aef8d2a9f12c6d0a067ecf0b63e532303255
2016-05-25 19:28:28 +03:00
Jenkins
7cc0bfb9fc Merge "Use the local /vagrant dir for copying the config and support scripts" 2016-05-25 05:59:17 +00:00