Commit Graph

41 Commits

Author SHA1 Message Date
Dmitriy Rabotyagov 0de33a0243 Use uWSGI for trove-api
This migrate trove-api to usage of the uwsgi from native service to
align with other service way of deployment and since that's how service
is tested in devstack.

Change-Id: I83ad3af282942ff9714757e863f393894ac35f45
2021-04-14 13:17:44 +03:00
Dmitriy Rabotyagov 5cb0eb3032 Cleanup after repo_build and pip_install retirement
Change-Id: I4c14639b08f2be75a917f60e54839f185ee2aa11
2020-05-12 23:24:08 +03:00
Dmitriy Rabotyagov b2e13b08ee Replace git.openstack.org with opendev.org
This patch replaces git.openstack.org with opendev.org as redirection
from old path was enabled.
Also we change upper constraints url due to [1]

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/006478.html

Depends-On: https://review.opendev.org/693841/
Change-Id: I6c23d9de8f1ee9cae016204af9ec4be025de580d
2019-11-14 19:06:30 +02:00
melissaml ae58923306 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: Ia0d12242accf240149ec1ec1d1be2b685b77b331
2019-07-10 21:19:58 +08:00
Mohammed Naser cce89975cd Test using integrated build
In order to do a more complete verification of any patches,
we add a full uncontainerised OpenStack deployment to do the
functional testing using the integrated repo. This replaces
the previous functional test mechanism.

Any additional role tests are left as-is. They will require
some extra implementation in the integrated build before they
can be transferred.

There are some developer mode references that are causing the
role to not run properly due to an undefined variable.

Depends-On: https://review.openstack.org/649397
Depends-On: https://review.openstack.org/649442
Change-Id: Ib021b074d4675ca5a3164cfd5f0196d347740639
2019-04-02 19:56:14 +00:00
Jimmy McCrory 4947ec4c4a Set container_name as host_var in test inventory
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: Ie39f2ef9c2f481479e6b73e88b6a7f27d8df8aea
2018-10-20 15:28:29 -07:00
Zuul 74694655e0 Merge "Trivial: Fix the pep8 warning" 2018-09-13 10:32:46 +00:00
Zuul ee7531a932 Merge "use include_tasks instead of include" 2018-09-08 16:11:42 +00:00
caoyuan d21b6809e9 use include_tasks instead of include
include is marked as deprecated since ansible 2.4[0]

Switch to include_tasks or import_playbook as necessary

[0] https://docs.ansible.com/ansible/2.4/include_module.html#deprecated

Change-Id: I2351c93c2ce5beb44404dc05b487f40e14973810
2018-09-08 14:04:14 +00:00
wangqi b166766bd6 Trivial: Fix the pep8 warning
The yaml should start with "---"

Change-Id: I30a278eb546bc5da2ba005c431d703f17d1e71ba
2018-09-04 02:38:53 +00:00
Jesse Pretorius 494f10404a Update trove tempest plugin path
The trove tempest plugins were re-organised in
https://review.openstack.org/587489 so we now
need to use the new structure.

Change-Id: I903c46be39636e3922d077f9007ac8f847d02684
2018-08-17 13:04:52 +00:00
Jesse Pretorius 5cebe63e35 Remove unnecessary MQ vhost/user creation tasks/vars
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 remove the test vars and tasks which were duplicated
as they are no longer required.

Change-Id: Ife325741032bf6bcda7db6a1fa8b2cba216eeabd
2018-07-30 13:24:18 +00:00
Jesse Pretorius ad2d239eb4 Execute service setup against a delegated host using Ansible built-in modules
In order to reduce the packages required to pip install on to the hosts,
we allow the service setup to be delegated to a specific host, defaulting
to the deploy host. We also switch as many tasks as possible to using the
built-in Ansible modules which make use of the shade library.

The 'virtualenv' package is now installed appropriately by the openstack_hosts
role, so there's no need to install it any more. The 'httplib2' package is a
legacy Ansible requirement for the get_url/get_uri module which is no longer
needed. The keystone client library is not required any more now that we're
using the upstream modules. As there are no required packages left, the task
to install them is also removed.

Change-Id: I9ce106569ced891c551b36506d360e4b8718c7e3
2018-07-13 19:15:56 +00:00
Andrew Smith 3c4f4127b4 Update to use oslo.messaging service for RPC and Notify
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 trove service.

This patch:
* Add oslo.messaging variables for RPC and Notify to defaults
* Update transport_url generation (add for notification)
* Add oslo.messaging to tests inventory
* Update tests
* Update docs
* Update extras
* Add release note

Change-Id: Ia01317343ae6fbc790d64b5ba282c8c069750d45
2018-07-03 12:43:55 -04:00
Jesse Pretorius a1b510f7ba Move database creation into role
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 'trove_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 'trove_galera_address' which
has been used for a long time, but never documented. A bunch of unused
variables have also been removed.

The extras folder is removed given that trove's playbooks have been
merged into the integrated repository.

Change-Id: I0bf801416bd0349534588fc7272dffd4b86b7bb9
2018-06-29 13:24:58 +00:00
Jesse Pretorius e2b238ba33 Remove tests-repo-clone.sh
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: I4c9ca30405735c9a5e237713154c2f127aaec0e2
2018-03-28 09:31:00 +00:00
Zuul a84add9575 Merge "ansible-role-requirements: Use systemd_service role from openstack namespace" 2018-03-25 17:44:48 +00:00
Jesse Pretorius e564db46a1 ansible-role-requirements: Use systemd_service role from openstack namespace
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: I82de87bea9c27e750becfbd82c94dfdf4674a21c
2018-03-25 16:21:50 +01:00
Jesse Pretorius 34314895dc ansible-role-requirements: Add common python_venv_build role
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: Id96eaf5783c0b30f555c455de8a2a1b69e05c57b
Implements: blueprint python-build-install-simplification
Signed-off-by: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
2018-03-24 23:22:10 +00:00
Jesse Pretorius a97afd9ff7 ansible-role-requirements: Add common systemd_service role
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: I9c4793daeccbb58a41910cb5cd4b8315eb7d7189
2018-03-13 16:52:43 +00:00
OpenStack Proposal Bot 810dfa5d0e Updated from OpenStack Ansible Tests
Change-Id: I4f32704adf5a113f6efd2bbbe002f72dee7d3afd
2018-02-14 20:07:35 +00:00
Mohammed Naser 76fea25f33 Update the Tempest plugin to point towards the new plugin
The Trove service has split it's tests for Tempest in a seperate
repo so this patch updates it.

This patch also fixes the lint issue to use the systemd module
reload feature instead of a command.

Closes-Bug: #1747608
Co-Authored-By: Major Hayden <major@mhtx.net>
Depends-On: I5f1ecb71c6125c29d6487bef6c2be215c1b561c1
Change-Id: I26d384a5c9aadade94052cc859f9405335635ed4
2018-02-06 15:15:34 -05:00
Jesse Pretorius 23699f7b43 Initial OSA zuul v3 role jobs
This patch implements an initial set of jobs intended to match
the current job execution method. It does not intend to improve
how the jobs are executed - only to replicate what is currently
in openstack-infra/openstack-zuul-jobs and provide the platform
to iterate on.

Change-Id: I6e52632d1549cdff28228866b8fbca993e41a058
2017-10-17 20:51:37 +00:00
OpenStack Proposal Bot e2b31c498d Updated from OpenStack Ansible Tests
Change-Id: I7d3b480776bc2c662bead012c3a28cb501897db3
2017-10-12 20:45:11 +00:00
Samuel Matzek 69f47bc587 Remove trove_regular_user
Remove the unnecessary trove_regular_user.  The documenation that was
referenced [1] when this was added to the role is intended to configure
Trove for development purposes. The trove_regular_user is not used by the
Trove service and is only being created to give the developer a non-admin
user to use for testing.

[1] https://docs.openstack.org/trove/latest/install/manual_install.html

Change-Id: I7c9289e191255e92530ea62568b212320f705ff8
2017-07-27 07:52:00 -05:00
OpenStack Proposal Bot b339792439 Updated from OpenStack Ansible Tests
Change-Id: I35128bbaddd54b18f6ebf913e675282533e2f523
2017-06-22 15:20:08 +00:00
Jesse Pretorius 46459fd435 Use zuul-cloner for tests repo in OpenStack-CI
When executing the tests repo clone in OpenStack-CI,
use zuul-cloner instead of git to enable cross-repo
testing. This ensures that if a dependent patch from
the tests repo is noted using 'Depends-On: <change-id>'
in the commit message, that patch will be included.

Change-Id: Idd2c2e750c001a3ece7b778520dd60cf9e649acf
Depends-On: Idce7abebf32f24c356a27e099fbca954d917402b
2017-05-04 16:53:39 +01:00
Jimmy McCrory 92c1a502d0 Standardize test vars
Move test host vars from the inventory to individual files for each
host. 'ansible_become' has been removed from localhost's vars since it
should be handled on a playbook basis.

Change-Id: I1dfcc4c98e67970ac8c302a7e3ebe7c6bdf82295
2017-04-19 17:36:06 -07:00
Kyle L. Henderson 9d8a9347c4 Implement trove networking
To operate properly the trove guest agent needs access to
rabbitmq and also the neutron network for trove to use must
be created and defined in the trove.conf file.

This changeset adds documentation, tasks and
configuration defaults to setup the networking for
trove.

Change-Id: Idcf87c2eef0af475c02412f03433d22d7b08643f
2017-04-14 14:46:26 -05:00
Kyle L. Henderson b948402c76 Add RPC encryption key support
In the Ocata release, trove added support for encrypting the rpc
communication between the guest instances and the control plane.
These settings allow the user to specify installation specific
keys versus using the default keys.

Change-Id: Ie42d754d58e983a15b553ad8a399813c9a700344
2017-03-31 13:41:06 -05:00
Donovan Francesco (drifterza) b9babfe3f4 Using updated tempest method for trove api.
Change-Id: I3e8498db924ef095078e56bbedb8fbd587f4986c
2016-11-22 16:18:59 +02:00
Jenkins ffa866d964 Merge "Fix trove deployment errors" 2016-10-28 00:58:43 +00:00
Ravi Gummadi 98a839598f Fix trove deployment errors
1. Defined default values for some variables of trove
2. Added passwords related variables in user_secrets.yml
3. Fix variable names so that same variable name is used everywhere

Change-Id: Icc9f016a4b928dd34203a3fa7e90791a527e7c19
Closes-Bug: #1636798
2016-10-27 12:11:25 -04:00
Darren Birkett 6e86e80d08 Remove redundant openstack_hosts entry in role-requirements
Change-Id: I0cdbfd6f3d8a583e3c928746131c3e4fc1957eb0
2016-10-27 14:27:29 +01:00
Jesse Pretorius cbf75f98f5 Use centralised test scripts
This patch consumes the test scripts implemented by
https://review.openstack.org/375061 to ensure that
the tests and test preparation is consistent and
more maintainable.

Change-Id: Ib26820310d24b3e59777894f588e9874459ece04
2016-09-28 11:32:29 +01:00
Donovan Francesco (drifterza) cb8c069944 Ensure regular users are created for the Trove role
As per: http://docs.openstack.org/developer/trove/dev/manual_install.html
We need the following:

keystone --os-username <OpenStackAdminUsername> --os-password <OpenStackAdminPassword> --os-tenant-name <OpenStackAdminTenant> --os-auth-url http://<KeystoneIP>:<KeystonePort>/v2.0 tenant-create --user trove_for_trove_usage
keystone --os-username <OpenStackAdminUsername> --os-password <OpenStackAdminPassword> --os-tenant-name <OpenStackAdminTenant> --os-auth-url http://<KeystoneIP>:<KeystonePort>/v2.0 user-create --user regular_trove_user --pass trove --tenant trove_for_trove_usage
keystone --os-username <OpenStackAdminUsername> --os-password <OpenStackAdminPassword> --os-tenant-name <OpenStackAdminTenant> --os-auth-url http://<KeystoneIP>:<KeystonePort>/v2.0 user-create --user admin_trove_user --pass trove --tenant trove_for_trove_usage
keystone --os-username <OpenStackAdminUsername> --os-password <OpenStackAdminPassword> --os-tenant-name <OpenStackAdminTenant> --os-auth-url http://<KeystoneIP>:<KeystonePort>/v2.0 user-role-add --user admin_trove_user --tenant trove_for_trove_usage --role admin
keystone --os-username <OpenStackAdminUsername> --os-password <OpenStackAdminPassword> --os-tenant-name <OpenStackAdminTenant> --os-auth-url http://<KeystoneIP>:<KeystonePort>/v2.0 service-create --user trove --type database
keystone --os-username <OpenStackAdminUsername> --os-password <OpenStackAdminPassword> --os-tenant-name <OpenStackAdminTenant> --os-auth-url http://<KeystoneIP>:<KeystonePort>/v2.0 endpoint-create --service trove --region RegionOne --publicurl 'http://<EnvironmentPublicIP>:<EnvironmentPort>/v1.0/$(tenant_id)s' --adminurl 'http://<EnvironmentPublicIP>:<EnvironmentPort>/v1.0/$(tenant_id)s' --internalurl 'http://<EnvironmentPublicIP>:<EnvironmentPort>/v1.0/$(tenant_id)s'

Closes-Bug: #1626726
Change-Id: I30a5bf3b3a7f369527b87f8925b167cd47c52d5a
2016-09-23 14:15:30 +00:00
Donovan Francesco (drifterza) 767682b6f4 Functional testing for the role gate
Simple REST API based functional testing for trove will now be run during the gate.

Change-Id: Ie8621ebc756a82cb47cef73172881848454dba7e
Closes-Bug: #1624520
2016-09-23 05:56:55 +02:00
Jesse Pretorius c588ac18fd Force Ansible to use dynamic includes
Ansible 2.1.1 introduces a regression in the way conditional
includes are handled which results in every task in the
included file being evaluated even if the condition for the
include is not met. This extends the run time significantly
for a deployment.

This patch forces all conditional includes to be dynamic.

Change-Id: Ifab57201c962b084a1d531d788b25526cd899ce4
Related-Bug: https://github.com/ansible/ansible/issues/17687
2016-09-22 16:33:32 +01:00
Travis Truman 0bac099637 Ansible 2.1.1 role testing
Change-Id: I85bc20f2a52359ae6dab56124d5e6b56dd233c7d
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-19 14:17:04 -04:00
Donovan Francesco 3455ec7579 Deploy Openstack-Trove (DBaaS)
This commit allows the deployer to create 3 containers to run
Trove-API, Trove-Conductor and Trove-Taskmanager.

Change-Id: If93330d48f53745d45af351b9de9a4a733af943a
2016-09-01 15:17:08 +02:00
Donovan Francesco f12ecd2e83 Add scaffolding for OpenStack-CI tests
Change-Id: I768a5ece1417933248c76fe7e269b9248d0baed1
2016-08-26 16:26:42 +02:00