This patch makes sure we consistently update the member operating status
when the user adds/removes a health monitor from a pool.
Change-Id: I71184d66ee035b9afbfee62e9a0ebb5147c2b47e
Under certain conditions if an error occurred during an API request the
lock session could be left open. This patch corrects that by extending the
try block to include all calls with the lock open.
The test case was creating a second pool on a listener, which results in
a 409 conflict error, but the lock was left open.
Change-Id: I81e08775c515602f315aa8da32ff342f96c4a676
Currently there are two haproxy-octavia elements, haproxy-octavia and
haproxy-octavia-ubuntu in the Octavia project. The have minimal changes
between them, so this patch merges them into one element with a
backward compatible element left for haproxy-octavia-ubuntu.
Change-Id: I990802726d24e319988bfb614b3bf3fb560512b4
When trying to exit health_manager the terminal
would hang due to a child process using time.sleep().
Now the process uses futurist.periodics to schedule
when to run which allows it to quickly and gracefully
exit.
Also handles the `failover_amphora` not working out or being
cancelled correctly and logging the statistics of those occurences
instead of incorrectly assuming everything always works out.
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>
Co-Authored-By: Joshua Harlow <jxharlow@godaddy.com>
Change-Id: I870edaab73ab20a9322c8bc1bd2514897417d12a
This will enable a number of possible features that need to select
amphorae based on their availability zone.
This would allow for quick-lookups on large lists and could be stale,
but it would be expected that future code that uses this would check
with nova for an update if it needs fully accurate data.
Having it be explicitly "cached" should take care of concerns about
users (operators, in this case) being confused about correctness.
Using simply the word "zone" should address concerns about commonality
between compute providers.
Change-Id: I8e26f99bca3496a454ba7bae2570f517e07d5fc2
Story: 2001221
Task: 5732
Zuul now supports including the file extension on the playbook path
and omitting the extension is now deprecrated. Update references
to include the extension.
Change-Id: I9335e07095ec7d2821441f70ce2a73d626bc2291
OVH infra hosts are causing "KVM: entry failed, hardware error 0x0"
failures where instances fail to start (cirros, etc.).
This patch excludes OVH instances from kvm enablement until the issue is
resolved.
This patch also fixes an issue with a unit test failing after
cryptography 2.1 was released.
Co-Authored-By: Adam Harwell <flux.adam@gmail.com>
Change-Id: I630f513092c61d9785efe49d42aa3cfdc05a927e
This patch cleans up the zuul v3 config for the EOL of newton and
migrates the functional tests to use openstack-tox parent.
Change-Id: Id4a97e81d8664fd789776f1fa729d7b969ae0ffc
This adds a way to configure the event streamer transport URL
so it can post to a different queue, e.g. Neutron's
Change-Id: I69d3d6d30e33878052f2c56b8c79a14cc4ec1b24
This patch corrects a bug in the load balancer locking that would
modify the child object provisioning status even though it is returning
that the load balancer is currently immutable.
Change-Id: I017bdcd902327d0cc363a6edb34c5eaeb9fd42e8
Story: 2001258
Task: 5788
When the user attempts to delete a load balancer, without the cascade option,
the load balancer is locked in "PENDING_DELETE" prior to the check for child
objects. The child object check will return the error to the user, but would
leave the load balancer locked in "PENDING_DELETE".
This patch corrects the order to do the validation prior to locking the
load balancer in "PENDING_DELETE".
Change-Id: If1694743d098b1c1337601770a7b3466a43dda07
Story: 2001256
Task: 5786
Function 'tempest.test.services()' has moved to
'tempest.common.utils.services()' in version 'Pike'.
This commit update tests accordingly.
Change-Id: I27ae5aa786cf3a3c5c654644c23f59fde7693e6b
pylint will be added in fllow up patch
************* Module octavia.api.handlers.controller_simulator.handler
E: 56,21: Too many positional arguments for method call (too-many-function-args)
E: 59,21: Too many positional arguments for method call (too-many-function-args)
E: 93,26: Too many positional arguments for method call (too-many-function-args)
E: 96,26: Too many positional arguments for method call (too-many-function-args)
E:119,24: Too many positional arguments for method call (too-many-function-args)
E:122,24: Too many positional arguments for method call (too-many-function-args)
E:150,20: Too many positional arguments for method call (too-many-function-args)
************* Module octavia.api.v2.types.load_balancer
E: 58,17: Bad first argument 'BaseLoadBalancerType' given to super() (bad-super-call)
************* Module octavia.controller.worker.tasks.amphora_driver_tasks
E:310, 8: Unsupported logging format character 'a' (0x61) at index 31 (logging-unsupported-format)
************* Module octavia.controller.worker.tasks.database_tasks
E:1437,12: Unexpected keyword argument 'provisioning_status' in method call (unexpected-keyword-arg)
E:1437,12: No value for argument 'pool_dict' in method call (no-value-for-parameter)
Change-Id: I2554a5f94f70058000ce33460fbfc6021e735eeb
This patch creates neutron client alternatives to the cookbook guides and
updates the L7 cookbook to use the OpenStack Client (OSC) instead of the
neutron client.
Change-Id: Ibaec9fda6c1ba84edcf404625b6a4c4fa990d7a4
The Octavia API-REF did not specify the HTTP response codes users
will receive when using the L7 policy actions REDIRECT_TO_URL and
REJECT. This patch details those response codes.
Change-Id: Ibc2345deac518c49ece458e1bf09759cab25fa92