Eventually hacking will move to 2.0.0 (diskimage-builder
is holding it back), and when it does there will be a few
errors to fix. We can get ahead of it so it doesn't
break us with some small changes for these items:
F601 dictionary key $item repeated with different values
F632 use ==/!= to compare str, bytes, and int literals
E501 line too long
While doing this noticed the lower-constraints.txt for
hacking was set at 0.12.0, when test-requirements.txt
had it at 1.1.0, so fixed that as well.
Change-Id: I80d2a5f97e7a4896a8fa765c1971c8bb7e72d211
Avoid getting the same amphora all the time if its loadbalancer
stuck in PENDING state and could not be failovered.
Story: 2007340
Task: 38877
Change-Id: I2f680a00be695c3828166e6803882765af79b79e
When only setting tags to an existing load balancer, the amphora driver
would try to apply QoS policy on VRRP ports even if no policy is
defined. This raised an NetworkException that led load balancers to go
into ERROR.
Task: 37589
Story: 2006922
Change-Id: I48315f8f293811e1d99584ea36da05c4211cf275
The network delta calculations were all based on the static configured
amp_boot_network_list which is not correct if it's overridden by the AZ.
Change-Id: Ia930e17c76cd601ac005de10fb03231a19f1a776
If the AZ system is being used and there is also a default boot network
set in the main config, the nova driver would not pick the right
interface when translating the amphora info for amps in custom AZs.
This affects the step that fetches the lb_network_ip (the management
address) from nova, immediately before the step that updates the
database with the correct IP. That IP is then used in the rest of the
amphora creation flow, which pulls in that address and uses it to
connect to the amp.
Change-Id: Ie4869035a557ebcddea2fce693067c82fbd2d2a9
The MapLoadbalancerToAmphora task performs some database queries but
doesn't catch any exception from it.
In case something goes wrong with the database or the query, this commit
catchs any exception from the DB call, logs it and then returns None to
switch to the next decider branch (boot a new amphora).
Story 2007320
Task 38831
Change-Id: Ifb6c34426e0927534d332a8bbf2c66aac6c002c5
Now that we are python3 only, we should move to using the built
in version of mock that supports all of our testing needs and
remove the dependency on the "mock" package.
This patch moves all references to "import mock" to
"from unittest import mock". It also cleans up some new line
inconsistency.
Change-Id: I72520a2ca010c2c27315d9dff839a4f9d7540b6b
This patch adds a warning box to the load balancer cookbook clarifying
that the health monitor type of 'PING' should only be used in specific
cases.
This was called out in release notes, but was not clear in the cookbook.
Change-Id: I6b95891bec82e01c44b288cbe9796b1f87a07c32
Add a section to the basic cookbook that explains how to setup a UDP
load balancer with UDP-CONNECT health monitor.
And fix typos
Change-Id: Ib67a5c9437e3190f640a953c30f791cb34690910
This patch adds a periodic job to build the amphora image using the
released version of diskimage-builder (our other jobs use Git master).
This job will not publish the produced image, it is only to test the
build.
Change-Id: I611d9cd5a519abc6a330ec2c46a2f5a1fdb89313
Use `-g` to select the current Git branch to use for the amphora
build. This has historically been confusing for people, and this should
make it a little easier.
Change-Id: Iab01faaa17507c7bea399db7ee8f27f88d8de183
When we create amphora for specific loadbalancer it would be
good to get info about mapping pair loadbalancer-amphora as
soon as possible.
For example, if admin needs to debug connectivity issues with amphora
VMs - loadbalancer_id won't be set until AmphoraComputeConnectivityWait
task succeeds (which is never for such case) so they have to go to worker
logs to understand which amphora is related to a currently creating
loadbalancer.
Co-Authored-By: Ann Taraday <akamyshnikova@mirantis.com>
Change-Id: I865445af34bc63b90d965ef5e2c8f9f49aa9c2f3
Jobs like the barbican and active-standby were not being run in CI
because of the irrelevant-files list set in octavia-tempest-plugin. We
need to override that list in the octavia project.
This patch also adds spare pool and active-standby (replacing the
iptables-based one) jobs to the check and gate queues.
Change-Id: I26cbf5d39dc8857026dda58eb705e6b1fc807544
This commit forces the use of LUKS1 in cryptsetup.
Centos uses LUKS2 by default in cryptsetup, ubuntu uses LUKS1.
Formating a LUKS2 block device is way longer than formating a LUKS1
device (15 sec vs 8 sec in my env) and LUKS2 doesn't provide any
significant features for octavia (it only improves recovery and
metadata).
The commit aslo limits the creation of more than 1 block ram device
(amphora doesn't need 16 ram devices), which reduces startup time.
Change-Id: I5cdc0a9ccc01548f195eed80f2ee2848a1a93e17
Split _get_delete_load_balancer_flow, create
separate methods for store generation.
Change-Id: I71117717a7fdff349473c43975ad639c0448713e
Story: 2005072
Task: 30807
Fixed endpoints logs for listener, pool and member as well.
Rework _get_create_amp_for_lb_subflow due to issue with taskflow
decider and retry subflow.
Retry subflow was not ignored properly for spare amphorae case,
so _get_create_amp_for_lb_subflow has been split to
3 separate subflows each of them linked to graph flow.
This is work around and can be removed when proper mechanism
implemeneted in taskflow library. (added several todos about it).
Change-Id: Ibd114fa14123e6de6c5d6f260e32cf7f2b28805a
Story: 2005072
Task: 30814
This takes care of the last details for dropping py27
support by adding a proper min version of python in setup.cfg.
Change-Id: I693db277d802b2a54084cc1be11d8ce04ad9be2e
We do not need to log exception info about AmpConnectionRetry as
this is expected exception, which enables retry process for
AmphoraComputeConnectivityWait task.
Change-Id: Ib40345fc441cf916c3542bfddbf8ac812159cd2e
Story: 2005072
Code was not using the correct filenames for the 'route',
'route6', 'rule' and 'rule6' files on Red Hat images.
Changed to use config option 'agent_server_network_file'
if it's specified, else the file of the correct name, and
added unit tests for each.
Change-Id: I335287da66524d026f0c42086d885b478c568bbd
Task: 37881
Story: 2007051
The pool and listener can't be combined arbitrarily. We need to add
some constraints in protocol side.
Story: 2003500
Tasks: 24777
Co-Authored-By: Carlos Goncalves <cgoncalves@redhat.com>
Change-Id: Ifed862639d3fc3de23ace4c7ceaea1a4eca62749
Currently we only allow argv parameters to be passed into our wsgi
app. This means that some wsgi wrappers (such as pbr's script)
may not allow the octavia API to accept parameters such as
--config-file.
This patch attempts to pull in the sys.argv if none was passed into
the wsgi setup_app method.
Change-Id: I67cf32aac8aa8d8123ec8ca1ab433ff23fb1ffa2
The diskimage-create.sh tool will now default to CentOS 8 when building
CentOS-based amphora images.
This patch also removes leftover references to support for Ubuntu Trusty
and Xenial.
Change-Id: I3aba59c8dd86aeeee28cc6a67af93697912fb55b