Commit graph

1178 commits

Author SHA1 Message Date
Jenkins
90b89acf60 Merge "Integ test cleanup" 2016-08-21 02:37:11 +00: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
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
Huanxuan Ao
722be75f9c Implement "network agent set" command
Add "network agent set" command in network v2 to set network
agent properties.
Also add the unit test, doc, functional test and release note.

Change-Id: Iebaee4c60f8c6b43f538c1b82a38b93178b9ce53
Implements: bp implement-network-agents
Co-Authored-By: Michael Gugino <michael.gugino@walmart.com>
2016-08-10 15:39:44 +08:00
Cao Xuan Hoang
831546fb9e Add '--dhcp' and '--no-dhcp' options to os subnet list cmd
This patch adds '--dhcp' and '--no-dhcp' options to filter
subnets resulted by os subnet list command.

Change-Id: Ib574cc54594845bc5c5afc38bf44e3b224d33b17
Partial-Bug: #1610883
2016-08-10 08:27:03 +07:00
Jenkins
80fd9b2bd4 Merge "Support multi REST API calls error handling for "volume set" command" 2016-08-06 12:02:29 +00:00
Jenkins
3692a2a91a Merge "osc-lib: shell" 2016-08-06 08:01:52 +00:00
Huanxuan Ao
3202fefc65 Support multi REST API calls error handling for "volume set" command
Support the error handling follow the rule in
doc/source/command-errors.rst
Also add a unit test for testing the error handling

Change-Id: I98064f4b8c1dc17eb3874f7b25c827a568463c0f
2016-08-06 09:15:21 +08:00
Dean Troyer
6a15f90dae osc-lib: shell
Convert to using ClientManager and OpenStackShell from osc-lib.
* Change all internal uses of ClientManager private attributes that are
  now public in osc-lib's ClientManager.  Leave back-compat copies in
  place in OSC's clientManager so we don't break plugins.
* Put some work-arounds in place for changes in osc-lib that we need until
  a new release makes it through the g-r and u-c change process.
* Add a test for Unicode decoding of argv in shell.main() to parallel
  the one in osc-lib.

Change-Id: I85289740d4ca081f2aca8c9b40ec422ad25d302c
2016-08-05 13:48:55 -05:00
Jenkins
020f13e12b Merge "Implement network agents functionality" 2016-08-05 16:01:13 +00:00
Jenkins
6dd3f45e39 Merge "Show "target_project_id" attribute properly for network rbac object" 2016-08-05 13:38:32 +00:00
Michael Gugino
0736336a71 Implement network agents functionality
python-neutronclient implements the following command set:

agent-list, agent-show, agent-delete

These commands display and modify various network agents and their
information.

python-openstacksdk has supported the api calls for these commands,
but python-openstackclient does not implement these commands.

This commit adds support for the following commands:

openstack network agent list
openstack network agent show <agent>
openstack network agent delete <agent>

Change-Id: I83ede6f89c37e7bdc38d7e9e7bb9d80e94c8becc
Implements: blueprint implement-network-agents
Depends-On: I9755637f76787d5fac8ff295ae273b308fcb98d0
Co-Authored-By: Huanxuan Ao <huanxuan.ao@easystack.cn>
2016-08-05 16:25:33 +08:00
Huanxuan Ao
7f93d8cc88 Show "target_project_id" attribute properly for network rbac object
According to the code in SDK:
https://github.com/openstack/python-openstacksdk/blob/master/openstack/network/v2/rbac_policy.py#L34
we can see the conlumn of "target_tenant" should be
"targer_project_id" but not "target_project". It is
the reason why could not show the "target_project"
in OSC, so this patch fix it.

Before this change:
(openstack) network rbac show b74fd644-e057-4d44-8ae1-7ca9967ea1e1
+----------------+--------------------------------------+
| Field          | Value                                |
+----------------+--------------------------------------+
| action         | access_as_shared                     |
| id             | b74fd644-e057-4d44-8ae1-7ca9967ea1e1 |
| object_id      | 8735b57f-606a-4f65-9902-2052a6d2a66d |
| object_type    | network                              |
| project_id     | 01c0ba43101b4080a52a5f79a55c56ff     |
| target_project |                                      |
+----------------+--------------------------------------+
After this change:
(openstack) network rbac show b74fd644-e057-4d44-8ae1-7ca9967ea1e1
+-------------------+--------------------------------------+
| Field             | Value                                |
+-------------------+--------------------------------------+
| action            | access_as_shared                     |
| id                | b74fd644-e057-4d44-8ae1-7ca9967ea1e1 |
| object_id         | 8735b57f-606a-4f65-9902-2052a6d2a66d |
| object_type       | network                              |
| project_id        | 01c0ba43101b4080a52a5f79a55c56ff     |
| target_project_id | c7ab4d2ea9e1487095a8ca24ea44ef38     |
+-------------------+--------------------------------------+

Change-Id: I53df127bfc3e43288c6afecdf872e6101b94a658
Closes-Bug: #1608903
2016-08-05 10:05:58 +08:00
Jenkins
d6413b2765 Merge "Add support of setting volume's state" 2016-08-05 00:30:25 +00:00
Huanxuan Ao
f58be9d4dd Add unit tests for group commands in identity v3
Add unit tests for commands below in identity v3:
group create
group delete
group show
group set
group add user
group remove user
group contains user

Change-Id: I02f3b49e93582245a2749492bba1dfc4c5e0258d
2016-08-04 19:30:02 +08:00
Jenkins
a42664ccaa Merge "Implement "network rbac set" command" 2016-08-03 12:54:03 +00:00
Xi Yang
20ae54045c Add support of setting volume's state
OSC does not support to set volume's state, this
patch is going to add this functionality.

Closes-Bug:#1535213
Change-Id: I5bc1c7e81b8ba61c37f4bfd209fc86c5857fb050
Co-Authored-By: Huanxuan Ao <huanxuan.ao@easystack.cn>
2016-08-03 12:19:16 +08:00
Huanxuan Ao
fac3214581 Implement "network rbac set" command
Add "network rbac set" command which just supports
setting a target project.
Also, This patch adds the doc, unit test and functional test.
But there is a bug of showing network RBAC
https://bugs.launchpad.net/python-openstacksdk/+bug/1608903
We need to skip the functional test before this bug fixed.

Change-Id: I756f448bb333cf1098a735e57a1c5dc4edf195d4
Partially-Implements: blueprint neutron-client-rbac
2016-08-03 10:49:57 +08:00
Huanxuan Ao
5125b6f73b Refactor identity v3 unit tests with fake class
Refactor unit tests in identity v3 for "user", "endpoint", "group"
and "service" with fake classes.

Change-Id: I57316bbf762c805f8e9ae225b394bbe58ebdd416
Partially-Implements: blueprint refactor-identity-unit-test
2016-08-02 12:36:15 +08:00
Jenkins
fe650e204b Merge "Implement network rbac create and delete commands" 2016-07-29 15:47:07 +00:00
Jenkins
b7b140df06 Merge "Pass security group id to novaclient while adding security group to server" 2016-07-29 13:21:20 +00:00
Rajasi Kulkarni
e26eecc12f Pass security group id to novaclient while adding security
group to server

In AddServerSecurityGroup, we currently pass the security group
name to novaclient. If multiple security groups with same name
exist, then even while passing secuity group using id to
command 'openstack server add security group <server> <group>'
it results in error 'Multiple security_group matches found'.
Added unit test case to test the command.

Change-Id: I6097eb36e1545c85209cfd767c477e10f82c6999
Closes-Bug: 1604076
2016-07-28 21:39:02 +05:30
Jenkins
3d53ae828b Merge "Allow setting quotas for server groups and server group members" 2016-07-28 13:12:07 +00:00
Huanxuan Ao
13bc3793e0 Implement network rbac create and delete commands
Add "network rbac create" and "network rbac delete" commands
and also add unit tests, functional tests, docs and release
note for them.

Change-Id: I5fd58342f2deaa9bae7717412a942a21bbd7d045
Partially-Implements: blueprint neutron-client-rbac
2016-07-28 10:23:29 +08:00
Jenkins
5f6257206e Merge "Add support for deleting volumes with associated snapshots" 2016-07-27 19:50:21 +00:00
Elena Ezhova
b50c2b6a88 Allow setting quotas for server groups and server group members
Adds support of --server-groups and --server-group-members options
to the "quota set" command.

Change-Id: I178d1e267d010be7e908adefcf3b15abdafd9da4
Closes-Bug: #1602223
2016-07-27 13:04:36 +03:00
Jenkins
97ccb65f83 Merge "Fix error for find_service() in identity" 2016-07-27 03:37:52 +00:00
wuyuting
954c28dfa2 Add support for deleting volumes with associated snapshots
OSC doesn't support deleting volumes with associated snapshots.
This patch provides support for deleting volumes with associated
snapshots by adding an optional argument.

Change-Id: I7e74f251574993ff13a38e508fd2f9debeda8d0a
Closes-Bug: #1589332
Co-Authored-By: Rui Chen <chenrui.momo@gmail.com>
2016-07-27 11:30:52 +08:00
Jenkins
7a667d700f Merge "Use identity fake classes instead of old unit tests data" 2016-07-26 15:13:20 +00:00
Jenkins
0181709222 Merge "Use assertEqual() instead of assertDictEqual()" 2016-07-26 12:51:06 +00:00
Jenkins
6da7a127af Merge "Add options to "volume type list" command" 2016-07-26 10:53:40 +00:00
Huanxuan Ao
1b2ea91420 Use identity fake classes instead of old unit tests data
Use FakeProject, FakeDomain and FakeUser classes instead
of old test data in image, compute and volume. (This work
has done in network)

Change-Id: Ic37d5d9db98f0f2acc6c714a9646063dcbde4ff3
Partially-Implements: blueprint use-fake-project
2016-07-26 18:38:12 +08:00
Jenkins
566b8566c0 Merge "Standardize import format" 2016-07-26 07:22:27 +00:00
Jenkins
08ba2aa978 Merge "Add "--marker" and "--limit" options to "snapshot list"" 2016-07-26 07:22:21 +00:00
Jenkins
b838e9970d Merge "Unit test of credential in identityv3" 2016-07-26 07:09:45 +00:00
Tang Chen
bcaa5c2e0e Use assertEqual() instead of assertDictEqual()
In unittest2, assertDictEqual() is implemented by
using != operator to compare two dicts. So is
assertEqual() in testtools. assertEqual() in
testtools is able to handle dict, list, set and
so on. So we just call assertEqual() to make the
unit tests simpler.

Change-Id: Ice343b2ce468acae39d2ad79f7121503e3627656
2016-07-25 15:09:49 +08:00
Huanxuan Ao
e31408d2a4 Add options to "volume type list" command
Add "--public" and "--private" options to
"volume type command" in volumev2 (v2 only)
to list optional volume types

Change-Id: I8605990d62116c10d89ce192c14e550657dabee5
Closes-Bug: #1597198
2016-07-23 11:26:49 +08:00
Huanxuan Ao
61b9d9fe2d Add "--marker" and "--limit" options to "snapshot list"
Add "--marker" and "--limit" options to
"snapshot list" command in volume v2 (v2 only).

Change-Id: Ib60840b9b83dfe5e599e4037e8ec308844a9448b
Closes-Bug: #1605475
2016-07-23 10:41:28 +08:00
Huanxuan Ao
bca4571ab6 Unit test of credential in identityv3
Add missing unit tests and refactor the older tests
with fake classeds for credential in identity v3

Change-Id: I94d4f80a86806c6115178421bd481b7622065956
2016-07-23 10:02:23 +08:00