2484 Commits

Author SHA1 Message Date
Zuul
d81257d4cf Merge "Increment versioning with pbr instruction" 2018-10-16 05:59:19 +00:00
Zuul
ed301d7fa2 Merge "Add API versioning to the api-ref" 2018-10-14 13:43:59 +00:00
Sean McGinnis
dd1b1be815 Increment versioning with pbr instruction
With moving away from required milestone releases, the version numbers
calculated by PBR on the master branch will not work for those testing
upgrades from the last stable release. More details can be found in the
mailing list post here:

    http://lists.openstack.org/pipermail/openstack-dev/2018-October/135706.html

This is an empty commit that will cause PBR to increment its calculated
version to get around this.

PBR will see the following which will cause it to increment the version:

Sem-Ver: feature

Please merge this patch as soon as possible to support those testing
upgrades.

Change-Id: Id29359e81c002cc302b81a8779f363a4a2ba5474
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2018-10-12 13:10:02 -05:00
German Eichberger
df17903ab8 Delete zombie amphorae when detected
Zombie amphorae will be deleted by the system to lighten the load on
operators if the amphora record is still in the database.

Story: 2003912
Task: 26800

Change-Id: If133a3d36a9381bcca9f7d00f5c1531885907940
2018-10-12 00:00:06 +01:00
Michael Johnson
9aea3501d1 Add API versioning to the api-ref
This patch documents the new parameters added, by API version greater
than 2.0.

Change-Id: Ieb2c30653e832b9fa726f8430da603945fd10cc2
2018-10-10 16:24:36 -07:00
Adam Harwell
2c88c553ae HTTPS HMs need the same validation path as HTTP++
Second take on this patch, didn't realize the Create and the Update
paths were different. Same exact change as the other patch, but in the
update validation method.

For reference: https://review.openstack.org/#/c/604924/

Change-Id: I916ccb7658d4849b3c208405ec40fc1a0eab4ba7
2018-10-04 16:08:00 -07:00
Zuul
2ea3ed8c48 Merge "HTTPS HMs need the same validation path as HTTP" 2018-10-03 16:17:20 +00:00
Zuul
a0112c4b37 Merge "Support REDIRECT_PREFIX action for L7Policy" 2018-10-02 11:27:03 +00:00
Zuul
687a0e8472 Merge "Separate the thread pool for health and stats update" 2018-10-01 19:41:57 +00:00
Michael Johnson
9b6aa47c03 Fix an upgrade issue for CentOS 7 amphora
A recent patch[1] (stein master) added the http-reuse option to the
haproxy template for pools. This feature is not available in the HAProxy
version included with CentOS 7, 1.5.x. This could cause an upgrade issue
if the control plane was upgraded to Stein, but the cloud still had older
CentOS based amphora.

This patch corrects that issue by checking the HAProxy version in the
amphora and adjusting the template if it finds an older HAProxy.

This patch also updates the test_health_check_stale_amphora test to
not wait (sleep) for the full heartbeat_timeout.

[1] https://review.openstack.org/#/c/598379/

Change-Id: I3d990d1d3cd93dbeced9edc53f9c166610dafcd0
Story: 2003901
Task: 26775
2018-09-28 16:37:22 -07:00
sapd
62192dba3a Support REDIRECT_PREFIX action for L7Policy
Currently, Octavia only support three actions for L7Policy,
in this patch we will implement new action for L7Policy.

Story: 2003700

Change-Id: Ie99591ede097b566294ebdb673c460442dd6d942
2018-09-28 18:10:39 +07:00
Zuul
7fa83ef8e6 Merge "Fix the API list performance regression" 2018-09-26 08:32:38 +00:00
Zuul
b4c323db16 Merge "Pass through DIB_LOCAL_ELEMENTS from localrc" 2018-09-26 04:11:02 +00:00
Zuul
89d992773e Merge "Fix health manager performance regression" 2018-09-25 23:16:49 +00:00
Michael Johnson
951f018efe Pass through DIB_LOCAL_ELEMENTS from localrc
This patch allows us to specify special DIB elements via the localrc.
An octavia-tempest-plugin patch[1] linked to this will use this
setting in the gates to configure DIB to use the infra package mirrors.

[1] https://review.openstack.org/#/c/601332

Change-Id: I7444e8941c7175d92c50f1714a87b4181b983829
2018-09-24 16:35:33 -07:00
Adam Harwell
7dd6f8b846 HTTPS HMs need the same validation path as HTTP
Change-Id: I2fd51664336dca51f134b3fccd3e8c936b809839
2018-09-24 15:14:17 -07:00
Michael Johnson
d08578d8fd Remove duplicate check gate jobs
We had a bad merge that duplicated some of the v2 check gate jobs.
This patch corrects that.

Change-Id: Ibe60e78d1c1dc6a978eaf80e16124b372aff6360
2018-09-24 11:24:03 -07:00
Zuul
48e0986051 Merge "Updates README-Vagrant.md to use OSC commands" 2018-09-20 22:27:35 +00:00
Michael Johnson
f15b43ddf4 Fix the API list performance regression
This patch fixes the Octavia v2 API "list" performance regression.

It also corrects some database model forward reference issues.

Co-Authored-By: Adam Harwell <flux.adam@gmail.com>
Change-Id: Ic110e0e73938743c1aba01aa28f393bae7141cbd
Story: 2002933
Task: 22920
2018-09-19 14:02:38 -07:00
German Eichberger
78ba1970f8 Updates the operator docs with the new lb failover command
Since Pike we have the failopver command on the load balancer and
this should be used instead of dsabling the port. Added other
minor updates.

Change-Id: I606518d8d9a52104872a08ee18bd6be62c100de3
2018-09-19 10:37:56 -07:00
ckji
756a17ce3a Updates README-Vagrant.md to use OSC commands
Change-Id: I255520474a38147722bc75f868ef6c7fccbcba97
2018-09-17 16:58:08 +08:00
Zuul
aee5c6e10e Merge "Gate on octavia-dsvm-base based jobs and housekeeping" 2018-09-15 02:29:09 +00:00
Zuul
182c942b5d Merge "Support DNF package manager in diskimage-create" 2018-09-15 00:46:10 +00:00
Zuul
d1168a496b Merge "Add the missing markup for the hyperlink title" 2018-09-14 23:37:17 +00:00
Zuul
4155922a74 Merge "Set some amphora driver optimizations" 2018-09-14 23:25:05 +00:00
Zuul
e2bdb0adf4 Merge "Update amphora-agent to report UDP listener health" 2018-09-14 23:14:31 +00:00
Zuul
1fd65c9acf Merge "Validate member address for batch update members" 2018-09-14 03:18:49 +00:00
Zuul
7c9ef40c2c Merge "Make health checks resilient to DB outages" 2018-09-13 19:32:49 +00:00
Carlos Goncalves
326713c54c Gate on octavia-dsvm-base based jobs and housekeeping
In Rocky, octavia-tempest-plugin (v2) got a significant bump in test coverage
surprassing existing tempest tests in Octavia repo (v1). The direction
we are pursuing is to move to v2 only anyway and drop v1 altogether once
neutron-lbaas is dropped. Hence, we should also gate on octavia v2 jobs.

This patch also proposes gating on octavia-v2-dsvm-scenario-centos-7 job
and octavia-v2-dsvm-scenario-ubuntu-bionic as check job.

In addition, this patch cleans up remaining leftovers when transitioned
to Zuul v3, as well removes jobs octavia-v1-dsvm-scenario-multinode and
octavia-v1-dsvm-py3x-scenario-multinode from gate list and nuke
octavia-v1-dsvm-scenario-lxd.

Depends-On: https://review.openstack.org/#/c/600118

Change-Id: I7d2d8223e0b876257dd6a639fc92cbb11f0d6338
2018-09-12 04:35:18 +00:00
Carlos Goncalves
92473ce210 Make health checks resilient to DB outages
Octavia is struggling with proper handling of DB connectivity issues
bringing down all running loadbalancers. Octavia tries to failover
amphorae and can fail in one of the following stages:

1. Octavia can't create new amphora because Nova isn't ready yet after
   DB outage. Nova-API throws 500, Octavia nukes amphora instance and
   won't try to recreate it again.
2. Octavia tries to recreate amphora instance but it gets stuck in
   PENDING_CREATE forever.
3. Octavia fails completely reporting DB connection issues, leaving some
   amphoras in error, some in pending_delete as bellow: It affects also
   HA deployments.

This patch fixes that by wrapping the DB check for health, waiting for
the connection to be re-established and sleeping off the full
"heartbeat_timeout" interval.

Story: 2003575
Task: 24871

Change-Id: I7b30cd31e1ce0cf9dab61484f4404f1c6ccddd5e
2018-09-11 12:21:22 -06:00
Lingxian Kong
e943b39822 Validate member address for batch update members
We added the configuration option for reserved IP addresses that cannot
be used for load balancer member addresses, but the validation for
batch update members is missing.

This patch should also be backported to stable branches.

Change-Id: Ibd3145cfd8b92a494f7cceff10414d6e153136e9
Story: 2003413
2018-09-09 00:48:25 +12:00
Lingxian Kong
dbad641cde Fix batch update members
When batch update members request only contains existing members
update, octavia-api raises exception because 'pool_id' is missing.

This patch should backport to stable branches.

Change-Id: I43a9af83a6615d3bffb7ec9c69f8d0b66c03fc97
Story: 2003608
Task: 24940
2018-09-09 00:23:04 +12:00
Zuul
c7395e0488 Merge "Disable KVM at limestone (again)" 2018-09-08 03:29:23 +00:00
Carlos Goncalves
90ec2ae622 Support DNF package manager in diskimage-create
DNF is the next upcoming major version of Yum. It has been the default
package manager since Fedora 22. This patch tries to use DNF if
available, and falls back to Yum.

Change-Id: Ic011ef8281eb99ae010c61f47a8423bc186c25b7
2018-09-08 02:52:27 +02:00
Michael Johnson
9d7c14295e Disable KVM at limestone (again)
There appears to be a kernel regression that is leading to KVM failures
again. This patch adds limestone to the exclusion list based on job
failures[1].

[1] http://logs.openstack.org/32/600332/3/check/octavia-v1-dsvm-scenario/ \
    467a1e6/logs/libvirt/qemu/instance-00000001.txt.gz

Change-Id: I356c32c27f9803226e9a449c2f81aa1d04af9671
2018-09-07 15:04:59 -07:00
Michael Johnson
f13a2e6546 Fix health manager performance regression
When running stress tests against the Octavia Health Manager it was
observed that the scalability and performance of the health manager has
degraded.
It was observed that the ORM layer was forming poorly optimized queries,
putting excessive load on the database engine and unnecessary code paths
were executing for each heartbeat message.
This patch optimizes the health manager processing of amphora-agent
heartbeat messages by optimizing the database requests, pool processing,
and event streamer code paths.

Change-Id: I2f75715b09430ad139306d9196df0ec5d7a63da8
Story: 2001896
Task: 14381
2018-09-07 14:33:18 -07:00
Zuul
e99d0d60f4 Merge "Raise minimum coverage to 90%" 2018-09-07 09:39:38 +00:00
Zuul
ac0a5fc503 Merge "Use openstack-tox-cover template" 2018-09-07 03:25:21 +00:00
Zuul
336f1acb5e Merge "Validate member address for lb graph creation" 2018-09-07 02:14:00 +00:00
Michael Johnson
57046cf2b9 Raise minimum coverage to 90%
It's time to raise the bar for Octavia coverage. We have been at >= 90%
coverage for a while now, so I'm comfortable proposing raising the
minimum to 90%.

Change-Id: Icd9024d076d3d1c13e35e7e293af3c4fc8406ddf
2018-09-06 16:40:48 -07:00
Andreas Jaeger
f513a91da8 Use openstack-tox-cover template
Use openstack-tox-cover template, this runs the cover job as non-voting
in the check queue only.

Change-Id: I11ca9d9454d69e10e3c881ce85b6c287f57900bf
2018-09-06 20:36:52 +02:00
Andreas Jaeger
de57799490 Update zuul/projects.yaml
Remove all branch specifiers, the project has zuul.d backported and
branch specifiers are not needed.

Use new template for lower-constraints jobs.

Remove queue name from experimental queue, this is not needed.

Change-Id: I80e9a8efcc163e389c8d114063921e43a4b48039
2018-09-05 08:56:23 +02:00
Lingxian Kong
809915c4b1 Validate member address for lb graph creation
We added the configuration option for reserved IP addresses that cannot
be used for load balancer member addresses, but the validation for lb
graph creation is missing.

This patch should also be backported to stable branches.

Change-Id: I5ba30d29e7a35b370f21d9f68ec43efed74dd363
Story: 2003413
Task: 24555
2018-09-05 02:02:33 +00:00
Michael Johnson
2170cc6c45 Update amphora-agent to report UDP listener health
Currently the amphora-agent is not reporting UDP listener health
when the UDP listener does not have a pool and members.
This patch changes that behavior to report the listener as healthy
if the keepalived process is started and running in the amphora.

This patch also introduces message versioning for the health
heartbeat messages.

It also corrects a few assertEqual tests that had the reference and
actual values backwards.

Change-Id: Ifc28b4991852e59c0d27b4ab3d1afc4e9965e88b
Story: 2003592
Task: 24911
2018-08-31 13:34:57 -07:00
Michael Johnson
53772f5320 Set some amphora driver optimizations
This patch adds a few optimizations when using the amphora driver.

1. It increases the amp_active_retries from 10 to 30. This increases
the time we wait for nova to mark an instance "ACTIVE". The old default
of 10 was one minute forty seconds, but in some clouds it's been observed
that the nova schedule can get overloaded and take longer than a minute
forty to schedule the instance. Setting this to 30 means we will wait
five minutes for nova to schedule the instance.
2. It enables TCP kernel splicing in HAProxy. This has been shown to
reduce the CPU overhead for very high rate TCP load balancers.
3. Finally it enables "safe" HTTP keepalives on the backend member
connections [1]. This increases the request rate possible while using HTTP
protocol listeners and members.

[1] http://cbonte.github.io/haproxy-dconv/1.6/configuration.html#4-http-reuse

Change-Id: I3af009cac9a9edc8aef793b52c6a1488fde2c59b
2018-08-31 10:34:39 -07:00
Michael Johnson
96b9450e60 Re-enable flow diagrams
OpenStack requirements has added pydot to global requirements.
Even though this isn't the proper fix (still pending networkx 2.2 release)
this will resolve the dependency issue for us, so re-enabling our
flow diagrams.

Change-Id: I49856c8fbd7cb6302be4ec97a14b2c10682cf504
2018-08-30 10:14:06 -07:00
Ann Taraday
2a2b308a39 Fix passphrase None errors
At this moment if ca_private_key_passphrase is None loadbalancer
cannot be created due to AttributeError.
Current change adds check for None before encoding.

Story: 2003588

Task: 24896

Change-Id: I40063aa2f96534c12b284f72d16c9f5a72ad1486
2018-08-30 09:47:54 +00:00
Nguyen Hai
aed0867de4 add python 3.6 unit test job
This is a mechanically generated patch to add a unit test job running
under Python 3.6 as part of the python3-first goal.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: I16151350b32ccc0493cbde3d73feb984c8e3047a
Story: #2002586
Task: #24316
2018-08-25 21:29:54 +00:00
Zuul
27013b166b Merge "switch documentation job to new PTI" 2018-08-24 20:49:50 +00:00
Zuul
87f78e27a1 Merge "import zuul job settings from project-config" 2018-08-24 18:56:34 +00:00