Octavia v1 options have been dropped from upstream on Train. They have
no effect nowadays so no reason to futher carry it's codebase
Change-Id: I1c8f9723ca2ac2b468725c2954adcdaff54dbdf0
Move service to use uWSGI role instead of iternal task for uwsgi
deployment. This aims to ease the maintenance of uWSGI and speedup
metal deployments as the same uwsgi environment will be used
across all services.
Change-Id: Iaeb10f2e3018f8b19d47d5a557e6fc7beb0fb9cf
This patch aims to migrate service from usage of regular syslog files
to journald. We also disable uwsgi logging, since it dublicates
requests that are logged by service itself.
Depends-On: https://review.opendev.org/670824/
Change-Id: I8cfdd46a57a91ef3b1879bf85b03cced74234451
octavia provider network address pool is incorrectly identified
by net_name field of a provider network
.. code-block:: yaml
- network:
container_bridge: "br-lbaas"
container_type: "veth"
container_interface: "eth14"
host_bind_override: "eth14"
ip_from_q: "octavia"
type: "flat"
net_name: "octavia"
group_binds:
- neutron_linuxbridge_agent
- octavia-worker
- octavia-housekeeping
- octavia-health-manager
In the example ip_from_q and net_name confusingly have the same
value octavia. However ip_from_q refers to cidr_network i.e. address pool
and net_name refers to physical network.
container_network name "octavia_address" comes from ip_from_q value.
Change-Id: Ibbe4636e9b92f2967cbf89a585b8c84a8a56668c
The connection plugin no longer falls back on using the
inventory_hostname as the container_name. Set container_name as a host
var for each container in the test inventory.
Change-Id: I9ab81228a29133e7f50629db3b604eeab6bedf5a
1. Remove tests/test-configure-octavia.yml because the 'shade' package
does not need to be installed again - this is already done by the
role test preparation.
2. Remove the key generation as the keys are already generated in the
common tests playbook 'test-prepare-keys.yml'.
3. Add some spacing between tasks to make it more readable.
4. Implement the extra packages needed in test-requirements.txt instead
of trying to use a task to install them, because doing it in Ansible
makes understanding the venv in relation to the inventory complicated..
5. Move the vars_files argument to the top of the play to make it easier
to find and more uniform with other plays in OSA.
6. Switch from using octavia_ansible_endpoint_type to a hard-coded
endpoint, then remove the octavia_ansible_endpoint_type var.
7. Switch from using the 'endpoint_type' argument for the openstack
modules to using the more modern 'interface' argument.
8. Remove the 'run_once' argument on the 'Upload key to nova' task
because only localhost is targeted, so the argument is moot.
9. Remove the 'Set VIP fact' task in favor of just using the 'vip_output'
register in the 'Test the Listener' task. Setting a fact is pointless.
10. To help the existing patches pass, we add python-pip to the distro
packages. This will be reverted later once the required changes
to remove this requirement have merged.
Depends-On: https://review.openstack.org/589248
Change-Id: I46962090f7baf4227e838e125fd318245f2bcb85
During a gate test I discovered that the ssh key wasn't
generated in /root/.ssh but /home/zuul - causing an error.
This will create the key in the home directory of the user.
Change-Id: Ic095d0d05342c93f6be52b7f44bf2082d2556780
Several override vars aren't used, or are only used in one
test playbook will will get revamped to eliminate the need
for them after the service delegation patch merges.
As such, we remove the unnecessary vars and move those to
be cleaned up later into the play to make it simpler to do.
Change-Id: Idfcf5fb400079eadd080b30992a90cc758e1cac8
There is no record for why we implement the MQ vhost/user creation
outside of the role in the playbook, when we could do it inside the
role.
Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.
In this patch we implement two new variables:
- octavia_oslomsg_rpc_setup_host
- octavia_oslomsg_notify_setup_host
These are used in the role to allow delegation of the MQ vhost/user
setup for each type to any host, but they default to using the first
member of the applicable oslomsg host group.
We also adjust some of the defaults to automatically inherit existing
vars set in group_vars form the integrated build so that we do not
need to do the wiring in the integrated build's group vars. We still
default them in the role too for independent role usage.
Finally, we remove the test mq setup tasks and clean up any unused
or unnecessary variables configured in tests.
We also rename the ubuntu-16.04.yml file to ubuntu.yml to cover both
xenial and bionic. This has become necessary because the
'Gather variables for each operating system' task in the galera_client
role is picking up this role's vars file instead of its own.
Change-Id: If7e3712dd70eb083b5dffc98e0c981ec4f513533
We observed a compute error in the tests due to a change
(# I94f5af2055d1b6b41a9a170ca9b4daf57363c972) increasing
the disk to 20 GB in production. This will set it for tests
back to 3 GB which should avoid the gates failing on disk
failure.
We also observed a pip error and I think it should be fixed
with If2f1ab03ccd9400fe05e2948ddfe33c8796dbd97 - so
make tye pip install become: true to work around this
until the other patch merges.
Change-Id: I31b6c5d20cedb0df6648925566afd312d7f1dda9
Our role tests execute as non-root users, and the roles
need to access the environment variables for that non-root
user. Ansible, when targeting localhost, changes to
'connection: local' and thus breaks everything we need
to do against localhost as root unless we use 'become: true',
but we if generally use that against remote hosts we lose
the environment variables for the non-root user.
As such, we switch the inventory to target 'compute1' instead,
which has the address '10.1.1.1' (br-mgmt), so that we do not
have to deal with the implict connection type changes implemented
by Ansible.
Depends-On: https://review.openstack.org/584033
Change-Id: I3c29bab37b5dbbd0faec246c02e3a39fe4c1033a
With the more recent versions of ansible, we should now use
"is" instead of the "|" sign for the tests.
This should fix it.
Change-Id: I639c18dda7950243fc70028c9b795c3f24ef8e7a
There is no record for why we implement the database creation outside
of the role in the playbook, when we could do it inside the role.
Implementing it inside the role allows us to reduce the quantity of
group_vars duplicated from the role, and allows us to better document
the required variables in the role. The delegation can still be done
as it is done in the playbook too.
In this patch we implement a new variable called 'octavia_db_setup_host'
which is used in the role to allow delegation of the database setup
task to any host, but defaults to the first member of the galera_all
host group. We also document the variable 'octavia_galera_address' which
has been used for a long time, but never documented. A bunch of unused
variables have also been removed.
Change-Id: I89a5a519e35058ad65ba3dbf31051e848894b35d
Octavia is using certificate authorities to manage
the amp communication but the built-in ansible
certificate commands can't generate proper CA
certificates (they omit the necessary X509 extensions)
nor properly sign CSRs and reference the CA.
The changes here replace the parts where ansible's
certificate commands fall short with running the
openssl command directly. To do so it sets up
the necessary files, directories, and templates
an openssl config file.
Once ansible's certificate capabilities improve we
can retire those commands.
Also improve tests so we gate when this fails.
Change-Id: Iaae462844d783bd6086ce6a2816ea01cafc14e6d
This introduces oslo.messaging variables that define the RPC and
Notify transports for the OpenStack services. These parameters replace
the rabbitmq values and are used to generate the messaging
transport_url for the service. The association of the messaging
backend server to the oslo.messaging services will then be transparent
to the octavia service.
This patch:
* Add oslo.messaging variable for RPC and Notify to defaults
* Update transport_url generation
* Add oslo.messaging to tests inventory
* Update tests
* Add release note
Change-Id: Ibfd9b5325bf89414439a1a516d1bbde0896904b5
Recently we ran into trouble with the cmd2 extension's
latest version being python3 only. This exposed the need
to constrain all pip installs (as it should have been)
Change-Id: I8f27bddd45905c14bec486c515b5b190c66eaf20
We are setting an unnecessary url_v2 variables which translates to uri
variables. This change removes url_v2 variables and just uses uri
variables directly instead.
Change-Id: I891b94a8fb452e9fb5166e7c322d152060efdcce
This will download a test amphora image per default form the
Open Stack artifact storage to speed up tests. Operators can
configure their won artifact storage to simplify deploys.
Change-Id: I408d4128d35aab889dbe89fd9497d83a7830129b
Now that run_tests.sh handles the tests repo clone, we can
remove the use of the older tests-repo-clone.sh script.
Change-Id: Icc9ef674918babd49b7992c3a60c0a6bf4e2cde7
In order to ensure that the updated role is used for tests,
we adjust the a-r-r file to pull from the correct repo.
Change-Id: If46d04a52a7e9ed8253b78f761f9994036544082
In order to allow tests to work as the use of the common
role is implemented in the various roles, we pre-implement
the addition of the role into the a-r-r file.
Change-Id: I96a4bff650aa50ba7e388bb34084524543c08a8f
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
In order to allow tests to work with https://review.openstack.org/551028
merged, add the role to the a-r-r file.
Change-Id: I5d00e83122b40220ff07f046aeb87e2066093b94
Cloning from the official ODL git repository fails far too often with
the following error
fatal: unable to access 'https://git.opendaylight.org/gerrit/p/integration/packaging/ansible-opendaylight.git/': gnutls_handshake() failed: Error in the pull function
Lets switch to the github mirror which may be more reliable.
Change-Id: Ic8a1599b260ca3183e3cc78a9243f45f944899dc
Octavia has introduced new roles for more granular access policies.
This will create those keystone roles and if the legacy parameter
is set create admin or user rules which are similar what Neutron
allowed before.
Change-Id: I2d6b7278d7d4af2669cba7ac760dae0bc8e6f183
Setup support for running the linters and functional tests under zuulv3.
Depends-On: I6490979d208938634373c08d164461e9d5d1150a
Change-Id: I04d1d38b6fb80400ffbe38e803f760b99eadf232
In order to pass the lint test, all meta-dep
roles for the roles we execute in the test must
be present. As the os_neutron role recently got
the opendaylight role added as a meta-dep it is
now required here too.
Change-Id: If34464a2c2d87efa5857da804428231f9045c235
As part of the Pike goals we are moving api services to run as WSGI
apps. octavia-api service is set up as a wsgi app, and this patch
moves it over to uWSGI.
Since this is just a drop in replacement for the existing eventlet
service, operators an deployers should notice no difference.
Additionally, fix bug whereby git_install_branch was set to
"stable/ocata" for testing.
Change-Id: I0c473977e015015bd252a486c7191a95781b38a4
Implements: blueprint goal-deploy-api-in-wsgi