Commit graph

2151 commits

Author SHA1 Message Date
Ukesh Kumar Vasudevan
e04e389da2 router list if availability_zone ext not enabled
when calling router list with --long OSC expects the availability_zone
field in the response, even if this extension is not loaded:

As per the document, http://developer.openstack.org/api-ref/networking/
v2/?expanded=list-routers-detail, The availability zone(s) for the router
is available when router_availability_zone extension is enabled.

Added testcase to test router list without availability zone

Change-Id: Ic9abb06140eb310b797ade8b0463a876d8bea1b8
Closes-bug: #1622565
2016-09-15 16:24:15 +05:30
Jenkins
fb66a5b8f9 Merge "Add unit test for volume type in volume v1" 2016-09-12 04:27:43 +00:00
Huanxuan Ao
9966412c2d Add unit test for volume type in volume v1
Add unit test for volume type commands
(create/delete/show/list/set/unset)
in volume v1

Change-Id: I6ff1f1c7482bd0b4bfec5b4a1496807b722fa047
2016-09-11 14:20:58 +08:00
Huanxuan Ao
d2273ecea5 Implement "volume transfer request delete" command
Add "volume transfer request delete" command in
volume v1 and v2. Also add the unit tests, docs,
release note and functional tests

Change-Id: Ic3d375bc8df3312fac53c1800d75f48376b8c91c
Implements: bp cinder-command-support
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
2016-09-11 14:08:27 +08:00
Huanxuan Ao
6f4acc45c6 Implement "volume transfer request create" command
Add "volume transfer request create" command in
volume v1 and v2. Also add the unit tests, docs,
release note and functional tests

Change-Id: If362df1acf214efdf6ba129cd917d33eb54e1030
Implements: bp cinder-command-support
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
2016-09-11 14:08:19 +08:00
Jenkins
30afdb9684 Merge "Error handling of multi REST API calls for "snapshot set" command" 2016-09-11 05:50:40 +00:00
Jenkins
cc5379b55c Merge "Add "--limit" and "--marker" options to "volume list" command" 2016-09-11 05:22:58 +00:00
Jenkins
f5c09fe246 Merge "Support error handling for delete commands in volume v1" 2016-09-11 05:02:35 +00:00
Huanxuan Ao
10e665a148 Error handling of multi REST API calls for "snapshot set" command
Support multi REST API calls error handling for
"snapshot set" command follow the rule in
doc/source/command-errors.rst. Also add a unit
test for testing the error handling

Change-Id: I0c6214271bc54a25b051c0a62438c3344c8b51d7
2016-09-11 11:41:05 +08:00
Huanxuan Ao
6986a32e1c Add "--limit" and "--marker" options to "volume list" command
Add ``--limit`` option to ``volume list`` command in volume v1,
add ``--limit`` and ``--marker`` options to ``volume list``
command in volume v2.

Change-Id: I327a252aa83ed84166da99cf6aa80334e0e6dd44
Partial-Bug: #1612484
2016-09-11 11:23:25 +08:00
Huanxuan Ao
af81a92c37 Support error handling for delete commands in volume v1
Some delete commands in volume v1 support multi delete
but do not support error handling, this patch fixes them,
and this patch also refactor (or add new) unit tests for
some delete commands in volume v1.

Change-Id: Ia8177698f8733cfe75ea0ff00eee8fdc0820f62e
2016-09-11 11:08:14 +08:00
Jenkins
7d3d2b0c37 Merge "Add importing file to import warnings" 2016-09-11 02:24:37 +00:00
Steve Martinelli
676a0e9696 unwedge the gate
since changing the infra job to call the new bash script location,
the functional tests now have a permission error:
py.error.EACCES: [Permission denied]: mkdir('/opt/stack/new/python-openstackclient/.tox',)

Change-Id: Ibe7057c99feac952d80156fb996d0193e1b0e497
2016-09-09 22:49:35 -04:00
Steve Martinelli
c14d3efe61 move all functional tests to tests module
functional tests should be grouped with other tests (unit and
integration tests). as part of this commit the "common" module
was renamed to just "base", this was done for simplicity.

the post_test_hook.sh file was also copied to the functional module
since it should live there. a separate change to the infra repo
will be made to call the new location, once that is merged we
can remove the old one (a new change will also be posted for that)

Needed-By: I49d54f009021d65c1ae49faf6b3f0a7acdadd7b3
Change-Id: Ie8c334f6223373b8e06df8bd8466500d2a2c8ede
2016-09-09 03:29:47 +00:00
Steve Martinelli
39839def2e move unit tests to new "unit" test module
this will better isolate the unit tests from the functional tests.
unfortunately, the "integration" tests had to be lumped into the
"unit" tests since we need the separation in testr.conf

Change-Id: Ifd12198c1f90e4e3c951c73bfa1884ab300d8ded
2016-09-08 15:19:50 -07:00
Jenkins
7d1a5d0854 Merge "format token expires time to prevent json loading datetime data" 2016-09-08 20:58:20 +00:00
Jenkins
b4307b1ef6 Merge "Add Subnet service-types to subnets" 2016-09-08 20:54:36 +00:00
Jenkins
085bc5255d Merge "Defer auth prompting until it is actually needed" 2016-09-08 17:40:13 +00:00
Dean Troyer
14dbfe4474 Defer auth prompting until it is actually needed
Auth option prompting happens waaaay to early in the default
os-client-config flow, we need to defer it until adter the commands
have been parsed.  This is why ClientManager.setup_auth() exists,
as it is not called until the first attempt to connect to a server
occurs.  Commands that do not require authentication never hit this.

Also, required options were not being enforced.  By doing this we handle
when no authentication info is present, we fail on missing auth-url rather
than attempt to prompt for a password (default auth is password).

Closes-Bug: 1619274
Change-Id: Ia4eae350e6904c9eb2c8507d9b3429fe52418726
2016-09-08 10:31:13 -05:00
Jenkins
55378953e2 Merge "Clean up FakeClient classes in volume fakes" 2016-09-06 14:03:38 +00:00
Jenkins
f7f0f770af Merge "Use assertIn(A, B) instead of assertTrue(A in B )" 2016-09-06 13:53:17 +00:00
Jenkins
20ad61b9d4 Merge "Add "volume service set" command" 2016-09-06 03:40:31 +00:00
Steve Martinelli
24c8b94baf format token expires time to prevent json loading datetime data
When output to shell, the token issue time is fine; however when
selecting the json formatter (via the --format json) option, an
exception is raised when formatting the dataetime data.

Rather than pass in the datetime data, we should format the data
with the ISO 8601 formatting.

Closes-Bug: 1619937
Change-Id: Iffebb2d5413fabfd283dfa94fc560fc37270f9dd
2016-09-05 17:23:42 +00:00
Bin Zhou
1626b63f56 Use assertIn(A, B) instead of assertTrue(A in B )
Developers should use assertIn(A, B) instead of assertTrue(A in B ).

TrivialFix

Change-Id: I0d7c542272315590536c427a8865e49660361e55
2016-09-02 12:48:41 +08:00
Dean Troyer
ca15cd434b Rearrange integration tests
Move the integration tests into their final home...

* Create tests/integ to hold the integration tests
* Split tests/test_shell_integ.py into tests/integ/base.py and
  tests/integ/cli/test_shell.py
* Rename TestXXXXInteg classes to TestIntegXXXX
* Adds tests/integ/cli/test_project.py for some simple project argument tests

Change-Id: I2cdd340d1d446d61784eae35dd5aa09d40d5899d
2016-08-31 14:59:36 -05:00
Dean Troyer
110a62f277 Add importing file to import warnings
Add the Python file doing the import to the warnings emitted by
the modules moved to osc-lib. Users will at least have a hint as
to which package is out-of-date.

Change-Id: I633b440c30b2b15cfde7a9013e30dfa39ab200bc
2016-08-30 09:21:02 -05:00
Dean Troyer
84c83fc3ae Provide fallback prompt function for current osc-lib
Leaving the pw_func uninitialize in osc-lib turned out to be a
bad idea as the test to prompt in setup_auth() doesn't check
for a callback of None.

Also, release note

Change-Id: I8f875fa8a942d02a040238359ee22c603a4e5956
2016-08-29 19:22:06 -05:00
Jenkins
c5f8f761de Merge "Fix auth prompt brokenness" 2016-08-29 21:09:58 +00:00
Dean Troyer
bec206fa0a Fix auth prompt brokenness
We start by fixing this in the already-present OSC_Config class so OSC
can move forward.  This change needs to get ported down into
os-client-config in the near future, maybe even soon enough to make the
client library freeze this week.

* Add the pw-func argument to the OSC_Config (or OpenStackConfig) __init__()
* When looping through the auth options from the KSA plugin look for any
  that have a prompt defined and do not have a value already, so ask for one.

Closes-bug: #1617384
Change-Id: Ic86d56b8a6844516292fb74513712b486fec4442
2016-08-29 11:58:49 -05:00
Jenkins
8fce974d2d Merge "Clean imports in code" 2016-08-29 13:13:32 +00:00
Cao Xuan Hoang
f854b7d6ea Clean imports in code
In some part in the code we import objects.
In the Openstack style guidelines they recommend to import only modules.

http://docs.openstack.org/developer/hacking/#imports

Change-Id: I2eb35dc53f0fdb61c31022bb70293d1df8aaf482
2016-08-25 13:50:38 +07:00
Dean Troyer
188709c668 Restore default auth-type for token/endpoint
The split to osc-lib shell lost the detection of --os-token and
--os-url to set --os-auth-type token_endpoint

Closes-bug: 1615988
Change-Id: I248f776a3a7b276195c162818f41ba20760ee545
2016-08-24 16:57:56 -05:00
Huanxuan Ao
8f07fec3f2 Clean up FakeClient classes in volume fakes
Put FakeTransferClient and FakeServiceClient classes
into FakeVolumeClient class, I think we need not to
create FakeClient classes for every objects, we can use
only FakeVolumeClient for all volume objects. This can
reduce repetition, unified codes and make codes look
cleaner and easier.

Change-Id: I2729ef0e80166f4d49ccd9a48b653e2f215e3bfe
2016-08-23 10:31:24 +08:00
Dean Troyer
684412ca4c Work around a version clash issue with os-client-config
Need to add the fixed_arguments arg to _validate_auth() so
os-client-config 1.19.1 and 1.20.0 can call our version properly.

Change-Id: I328e47ba2f8115e6b18bf1482fd4aa35056907a4
2016-08-22 08:29:35 -05:00
Jenkins
90b89acf60 Merge "Integ test cleanup" 2016-08-21 02:37:11 +00:00
Brian Haley
cf9ad08ab6 Add Subnet service-types to subnets
Add '--service-type' to subnet arguments to support
Subnet service-types.

Change-Id: I215d83e4d4cf53e03fa35041c5e41a328641b3a9
Partially-implements: blueprint service-subnets
2016-08-19 11:05:33 -04:00
Jenkins
8f63da4621 Merge "Fix errors in volume set/unset image properties unit tests" 2016-08-19 02:48:08 +00:00
Jenkins
7489fa36aa Merge "Add support for domain specific roles" 2016-08-18 23:30:54 +00:00
Dean Troyer
06721ea889 Integ test cleanup
Change-Id: Ie58a7bec569421097e92a7ddf3cb164fc3f07413
2016-08-18 17:45:29 -05:00
Jenkins
8cef12ce08 Merge "Add shell integration test" 2016-08-18 22:31:08 +00:00
Dean Troyer
cc3d46a47b Fix up last-minute imports to use osc-lib
Change-Id: I1ed2983cf574ebd565eeac4f8199fbc3a2e29c8e
2016-08-18 18:22:42 +00:00
Jenkins
34f5515a32 Merge "Gate-unbreaking combo review" 2016-08-18 17:52:37 +00:00
Dean Troyer
44f6b76929 Add shell integration test
These run next to unit tests, but unlike unit tests, they test the
dependent libraries also.  This is to detect incompatible breakage
in those dependencies.  The tests provide CLI-level input and
verify the API calls being made via requests using requests_mock
so the entire stack is tested.

It is possible we want to run these separate from the unit tests.
They do not belong in the functional tests as they do not require
a functional cloud for testing.

Depends-on: I426548376fc7d3cdb36501310dafd8c44d22ae30
Change-Id: I356956fcc4ff35191a6ad6a085b75cf370434b09
2016-08-18 11:15:18 -05:00
Dean Troyer
2a1a174086 Gate-unbreaking combo review
Fix argument precedence hack
  Working around issues in os-client-config <= 1.18.0

  This is ugly because the issues in o-c-c 1.19.1 run even deeper
  than in 1.18.0, so we're going to use 1.19.0 get_one_cloud() that
  is known to work for OSC and fix o-c-c with an axe.

Remove return values for set commands
  'identity provider set' and 'service provider set' were still
  returning their show-like data, this is a fail for set commands
  now, don't know how this ever passed before...

Constraints are ready to be used for tox.ini
  Per email[1] from Andreas, we don't need to hack at install_command
  any longer.

  [1] http://openstack.markmail.org/thread/a4l7tokbotwqvuoh

Co-authorioed-by: Steve Martinelli <s.martinelli@gmail.com>
Depends-On: I49313dc7d4f44ec897de7a375f25b7ed864226f1
Change-Id: I426548376fc7d3cdb36501310dafd8c44d22ae30
2016-08-18 07:21:15 -05:00
Huanxuan Ao
81431d24a9 Add "volume service set" command
Add "volume service set" command in volume v1 and v2
(v1 is the same as v2) to disable or enable volume service.

Change-Id: Ibb2db7e93b24cb2e0d2a7c28b6fd8bcc851b8d2f
Closes-Bug: #1613597
2016-08-17 10:42:28 +08:00
Jenkins
fc7a69e410 Merge "Add '--dhcp' and '--no-dhcp' options to os subnet list cmd" 2016-08-11 07:27:35 +00:00
Jenkins
c9cf6c4eb2 Merge "Rename backup commands in volume v1 and v2" 2016-08-11 04:36:52 +00:00
Huanxuan Ao
95f0e3dc36 Fix errors in volume set/unset image properties unit tests
These errors may caused by copy-paste, we should specify
a fake return value for get() method but not create() method.
Create() mothod will not called in set/unset command. After
specifing the return value of get(), we can use the fake volume
in the assert.

Change-Id: I1e0df4c28ece373168788c396e9082d565e36cc7
2016-08-11 11:43:03 +08:00
Huanxuan Ao
39c5eb9e3f Rename backup commands in volume v1 and v2
Backup commands are used only in volume service now,
but "backup" is too generic, users may not know the
commands are used for volume from the commands name.
By seeing the command name, users can only see the
"backup" but do not know which object the backup
commands work for. It may confuse users. I think
rename "backup" to "volume backup" can depict resource
relation and will be helpful for users to know the
commands clearly.

So add new commands ``volume backup create/delete/
list/show/restore`` to replace the old commands
``backup create/delete/list/show/restore``. And also
deprecate old commands.

Change-Id: I4f844d9bc48573eb4d17288ce6b8a90cea00d16a
Implements: bp backup-snapshot-renamed-for-volume-resource
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
2016-08-11 09:32:10 +08:00
Henry Nash
5eb7e626b1 Add support for domain specific roles
A role entity can now be specified as domain specific.

Closes-bug: #1606105
Change-Id: I564cf3da1d61f5bfcf85be591480d2f5c8d694a0
2016-08-10 20:32:55 +00:00