3295 Commits

Author SHA1 Message Date
Matt Van Dijk
91074c6a33 Fix mountpoint detection
During guestagent volume operations the calls to unmount check if the
volume is mounted first. The python function os.path.ismount returns
False if the directory if not readable by the current user, breaking
this functionality for some datastores.

The symptom of this failure is that the device ends up mounted twice
during prepare and then fails to unmount fully during resize.

The fix is to create a custom is_mount function that runs as the root user.

Change-Id: I151402717386230371bafcedc170d70b3588e912
Closes-Bug: #1645773
2016-11-29 12:16:07 -05:00
Jenkins
80312c2797 Merge "Have api tests use IPv4" 2016-11-28 18:06:59 +00:00
Jenkins
731ca1bdfd Merge "Allow splitting test groups into sub groups" 2016-11-25 02:01:41 +00:00
Peter Stachowski
3421e71156 Have api tests use IPv4
Setting up the connection to mysql doesn't work if the host
is a IPv6 address.  Make sure we only use IPv4 addresses
at the moment.

Also removed pool_recycle and echo kwargs from EngineFacade
as they are no longer supported.

Change-Id: I6464c0031ba5b504ff103d8f62093d252deb87bb
2016-11-24 16:43:25 -05:00
OpenStack Proposal Bot
34c9447590 Updated from global requirements
Change-Id: Ia76fbc6a497156f031aee412407c6d3e1c85d6b0
2016-11-24 21:35:35 +00:00
Jenkins
a5af816958 Merge "trovestack: Better error message for missing arg" 2016-11-24 19:39:02 +00:00
Petr Malik
93f1ae8f09 Allow splitting test groups into sub groups
When registering a new test group we
give it a group name and a list of tests to run.

    register(['foo'], [t1, t2, t3])

creates group 'foo' running tests t1, t2 and t3.

This method has been extended to allow passing a dict
of tests with keys used as group name suffixes.

    register(['foo'], sub1=[t1, t2], sub2=[t3])

creates group 'foo' running all tests t1, t2 and t3
and groups 'foo_sub1' running t1, t2
and group 'foo_sub2' running t3

The plan is to split long-running datastore tests
into multiple sub-groups that can run as separate jobs.

Generally, we will want to run replication and
clustering in one job separate from everything else.
I have registered a 'single' (tests on a single instance)
and 'multi' (tests woring on a set of instances) sub-groups
for all datastores (for consistency).

This does not change how the tests run.
It just creates '*_single' and '*_multi' sub-groups in addition
to the existing '<datastore>_supported' groups.
We will need to update the project config to run sub-jobs
for datastores that require it.

Change-Id: Iea2a996043b4c2d1889995e160891af33ffab5b6
2016-11-24 19:06:11 +00:00
Jenkins
36a54ed6d8 Merge "Fix Galera_common.grow/shrink to propogate exceptions" 2016-11-23 20:12:39 +00:00
Jenkins
47fafc69f4 Merge "Enable hacking extensions framework" 2016-11-23 15:44:20 +00:00
himani
f52220939b Removed check for KEYSTONE_CATALOG_BACKEND from trove plugin
Devstack has removed KEYSTONE_CATALOG_BACKEND from it's
repo: https://review.openstack.org/#/c/391380

Due to above change gate tests are failing, we should
remove it from trove plugin as well. Refer below for
it's deprecation and removal:-
http://lists.openstack.org/pipermail/openstack-dev/2016-February/086272.html

Closes-Bug: #1644085
Change-Id: I1c2024f629375a03bcb40fb9ee98c853ed52d53b
2016-11-23 11:54:21 +05:30
Morgan Jones
fa778affc8 Fix Galera_common.grow/shrink to propogate exceptions
The grow and shrink operations in Galera_common were eating exceptions.
This change passes the exceptions back and adds unit tests to
ensure such.

Change-Id: I3202d6d4daa77a8a185a427b31b2187eab4d82e9
Closes-bug: 1634627
2016-11-21 12:14:45 -05:00
Trevor McCasland
63ff364207 trovestack: Better error message for missing arg
Instead of assuming the user knows to specify a datastore for
kick-start and run-ci, we should throw an error and provide
guidance on what to do.

Change-Id: I5d4f73ff891df948f95f8dc2e3faae7c93a9f247
2016-11-21 16:21:02 +00:00
Jenkins
39ec28436e Merge "Use http_proxy_to_wsgi middleware" 2016-11-21 11:03:52 +00:00
Jenkins
66f65ec5d1 Merge "Have cluster-show list all ips" 2016-11-21 11:03:38 +00:00
Jenkins
ad51c7dc82 Merge "Fail on deleting non-existing database" 2016-11-21 11:03:20 +00:00
Jenkins
77882fdc5f Merge "clean up references to trove-integration and redstack" 2016-11-20 20:32:49 +00:00
Jenkins
4fbe23bc14 Merge "Remove nic handling in galera cluster grow" 2016-11-20 07:52:30 +00:00
Jenkins
f2392a2d8a Merge "Fix log-generator-user-by-row test" 2016-11-19 21:00:07 +00:00
OpenStack Proposal Bot
873642eb2e Updated from global requirements
Change-Id: Ib18d150231c79ee179f2efd86a762751ef0f32f6
2016-11-18 21:34:52 +00:00
Jenkins
3d31609208 Merge "Have scenario tests use ipv4" 2016-11-18 21:29:44 +00:00
Jenkins
da9d3d3672 Merge "Fix race condition in cluster-show" 2016-11-18 21:29:37 +00:00
Jenkins
681a9830e0 Merge "Fix error case where server.fault is missing" 2016-11-18 21:02:18 +00:00
Peter Stachowski
937620eb3b Fix log-generator-user-by-row test
The log_generator_user_by_row tests fail sometimes as there may
be data written into the user log while the test is ongoing.
This changes the state from 'Published' to 'Partial' and the
test fails.

The test has been changed to also accept 'Partial' as a valid state.

Change-Id: Iab530fe503336c83e9b948c2c008d371a8030a1e
Closes-Bug: 1643015
2016-11-18 12:26:04 -05:00
Peter Stachowski
1b114c8735 Fix race condition in cluster-show
There is a race condition in showing a cluster wherein the
server gets the list of instances from the db and then iterates
over the list to get the server information. If a shrink
operation is in progress, it can happen that one of the
instances is no longer present when trying to retrieve
the server info, and this causes the show command to throw
a NotFound error.

This is now trapped and the 'missing' server excluded from the list.

Change-Id: I54edc4acac09ca2278f525c08ad0d87576f0549e
Closee-Bug: 1643002
2016-11-18 12:12:28 -05:00
Amrith Kumar
126e121a4e clean up references to trove-integration and redstack
Our readmes and rst files had references to trove-integration and
redstack. This commit cleans up those references.

Jian Song had also been trying to make some of these kinds of changes
to the documentation and to reduce conflicts and merges, I'd requested
him to hold off. As a result, I think it is only fair that I list him
as a co-author.

Change-Id: I685659391fd04eefd250e72d789da5a0d7b7aace
Co-Authored-By: jiansong <jian.song@easystack.cn>
2016-11-18 11:51:47 -05:00
Peter Stachowski
ac2d1bd8bb Have cluster-show list all ips
When you do a cluster-show, the instance list contains all ips.
The summary (which is the one displayed and used for tests)
only lists the first ip from each instance. It should list them
all, so the user could potentially chose which one they wanted
(i.e. an IPV4 address vs. an IPV6 one).

Depends-On: I54edc4acac09ca2278f525c08ad0d87576f0549e
Change-Id: I2ede074eb9bdf26420750f19f3aa4b8d057c5d7d
Closes-Bug: 1642695
2016-11-18 16:46:34 +00:00
Jenkins
48dcbb6dcd Merge "Multi-Region Support" 2016-11-18 15:50:39 +00:00
Jenkins
fef848fbb2 Merge "Add reference to OpenStack documentation" 2016-11-18 05:06:56 +00:00
Peter Stachowski
7b36391800 Have scenario tests use ipv4
The scenario tests currently use the first ip address (or in the
case of clusters, all) that is found. Unfortunately some datastores
don't support IPV6, so if a non-ipv4 ip is used, the test will fail.
Until all datastores support IPV6 (or we can come up with a strategy
to intelligently decide which to use) we should only use the IPV4 ips,
so the tests have been changed to accomodate this.

Closes-Bug: 1642741
Depends-On: Ia4fc545a10c7c16532aefd73818dd7d90c9c271b
Change-Id: I6aff776680c9c0632d8965c3ed70ed26db0a63f2
2016-11-17 16:22:28 -05:00
Amrith Kumar
0a9b1e45fc Enable hacking extensions framework
<long rant deleted>

This change enables the hacking extensions ability in trove. That
includes bumping the version of hacking that we use, and also adding
the enable-extensions like in the [flake8] section. I've enabled two
of the hacking extensions here.

There are some limitations to the hacking rules that I've enabled so
I'm also going to enter two bugs that others can fix (if they so
desire).

Change-Id: I6d8fc4bc03f948b84ad823e5248d78a4caa5c042
Related-Bug: 1642554
Related-Bug: 1642552
2016-11-17 14:43:36 -05:00
Peter Stachowski
4895f6b68e Fix error case where server.fault is missing
Some times when there's a server error, there is no
'fault' attribute on the server record.  This caused
Trove to throw an exception.  This has been fixed.

Change-Id: I47cbe9e899cb0767c377d184f123e38eda5b6a05
Depends-On: Ia4fc545a10c7c16532aefd73818dd7d90c9c271b
Closes-Bug: #1642636
2016-11-17 18:32:03 +00:00
Petr Malik
16c6ec8328 Fail on deleting non-existing database
Check that the database exists before deleting it and
fail if it does not.

Trove database API implementation closely followed MySQL
behavior which is to silently ignore deletes on non-existing
databases.
This strategy however no longer works that well with
other datastores which generally fail.

Trove users should be given a consistent experience.
Failing with an explanatory message is safer with respect to other
datastores and it is also consistent with how other Trove API
(user, backup, cluster) work.

Note: guestagent implementation was fix to handle
      limit=None in database (and user) queries.
      N >= None always returns True

Change-Id: I1dc26c7b40d6e4867b145b8470e6e5277e5dcdb4
Closes-Bug: 1293954
2016-11-16 20:10:10 +00:00
Jenkins
0d514081c9 Merge "Fix RPC Versioning" 7.0.0.0b1 2016-11-16 20:09:43 +00:00
Jenkins
df37e118c0 Merge "Fix scenario tests" 2016-11-16 04:36:50 +00:00
Jenkins
f2607bdfc2 Merge "[api-ref] configure LogABug feature" 2016-11-15 23:57:02 +00:00
Jenkins
9cd3a99e6b Merge "Remove unused parameters" 2016-11-15 23:52:10 +00:00
Jenkins
ff2c1e0b9f Merge "Files with no code must be left completely empty" 2016-11-15 21:43:25 +00:00
Jenkins
d5579ad7bd Merge "trovestack clean doesn't delete secgroups" 2016-11-15 05:27:24 +00:00
Jenkins
42187aefcb Merge "Add pycrypto to the requirements file" 2016-11-10 18:58:48 +00:00
Cao Xuan Hoang
467ea80005 Files with no code must be left completely empty
As per OpenStack licensing guide lines [1]:
[H104] Files with no code shouldn't contain any license header nor
comments, and must be left completely empty.

[1] http://docs.openstack.org/developer/hacking/#openstack-licensing

Change-Id: I0eb8829ad0406e8afb94ddc4fd4d4c7aab1c0270
2016-11-09 15:25:33 +07:00
OpenStack Proposal Bot
0ad544be1f Updated from global requirements
Change-Id: I938c6c50fb1c925f6fd201421b4af06fc09401e3
2016-11-08 21:32:19 +00:00
Matt Fischer
fb96b61341 Add pycrypto to the requirements file
pycrypto is missing from the requirements file but is used in several
places.

Change-Id: I96b6650c675f639cae3c0529ffcd8fee6a142176
2016-11-08 19:57:45 +00:00
Jenkins
959c99068f Merge "Change the way trovestack figures the default network" 2016-11-08 14:41:27 +00:00
Morgan Jones
3f93ff110b Multi-Region Support
This is an initial attempt at supporting multiple regions.  It should
handle the mechanics of deploying an instance/volume to a remote
region.  Additional changes may be required to allow the guest
agent on the instance to connect back to the originating region.

Co-Authored-By: Petr Malik <pmalik@tesora.com>
Change-Id: I780de59dae5f90955139ab8393cf7d59ff3a21f6
2016-11-04 15:36:16 +00:00
Jenkins
1b2f42dc3d Merge "Remove blacklist test volume" 2016-11-03 21:17:40 +00:00
Doug Shelley
af0d2bdfa9 trovestack clean doesn't delete secgroups
The command used to delete security groups is invalid. Changed
"nova security group delete" to "openstack security group delete"

Change-Id: If10577250e8db6fdcb89c959ca3a9e137c132cd3
Closes-bug: 1638884
2016-11-03 10:53:29 +00:00
OpenStack Proposal Bot
41ef64a42f Updated from global requirements
Change-Id: I4edf7a379b5971609475f5f992ef8bd2ce33bde1
2016-11-02 22:02:50 +00:00
Jenkins
1208a7e8d4 Merge "add section on code review priority" 2016-11-02 19:29:50 +00:00
Amrith Kumar
bb941f7d51 Change the way trovestack figures the default network
With neutron, the default network is br-ex and the existing test fails
to handle that properly. This code works fine with both nova
networking and neutron.

Change-Id: Id0d25bf5abb0545a121a4a5e2191fb05d2005f04
Depends-On: I045a3744ef52819f379c0cc2ca4fc2bf552cad5d
Closes-Bug: #1619030
2016-11-02 18:21:12 +00:00
ChangBo Guo(gcb)
6932c03e59 Add reference to OpenStack documentation
Add additional information with links to the Trove installation guides
found in the OpenStack documentation.

Co-Authored-By:jiansong <jian.song@easystack.cn>
Change-Id: Ic46b84a48faf77e1a609d2abf94fffb002e92112
2016-11-02 01:34:15 +00:00