Commit Graph

1422 Commits

Author SHA1 Message Date
e47c83d47a Py3 replace dict.iteritems with six.iteritems
All dict.iteritems in osc are replaced with six.iteritems
except this one.
So fix it to add py3 compatibility.

Change-Id: I1aa51399a36e650d262d839ce2b4ec04d3f91db2
2016-02-24 10:14:56 +08:00
58be3bcf79 Merge "Use update_parser_common() in ShowNetwork" 2016-02-23 19:53:13 +00:00
c2f5945ef6 Merge "Add "security group rule show" command" 2016-02-23 18:02:56 +00:00
dccde70c57 Add "security group rule show" command
Add the "os security group rule show" command which will use
the SDK when neutron is enabled, and use the nova client when
nova network is enabled.

Change-Id: I41efaa4468ec15e4e86d74144cc72edc25a29024
Partial-Bug: #1519512
Implements: blueprint neutron-client
2016-02-23 15:27:06 +00:00
ab40add0c6 Fix wrong return value in TestDeleteFloatingIPNetwork
delete_ip() should return None, not the fake floating IP.

Change-Id: I1476189a09a94c76c90f9a3986e3ae57dc66d796
2016-02-23 20:19:14 +08:00
07242fca3b Use update_parser_common() in ShowNetwork
ShowNetwork inherits from NetworkAndComputeCommand. So we should use
update_parser_common() in it, not overwrite parent's get_parser().

Change-Id: I21bb1407962344b9800fd31caee4b2582674fe24
2016-02-23 19:00:14 +08:00
02e5b6f41d Merge "Use instanceof instead of type" 2016-02-23 08:50:24 +00:00
db4d73d8c8 Merge "Add functional tests for "volume" commands v2" 2016-02-23 02:49:57 +00:00
37f96c2c47 Merge "Add unit tests for 'hypervisor stats' command" 2016-02-23 00:59:08 +00:00
7c9bb377c1 Merge "Add "os subnet show" command using SDK" 2016-02-23 00:13:44 +00:00
11a8f911af Use instanceof instead of type
Adjusted conditional statements to use instanceof when
comparing variables. Instanceof supports inheritance type
checking better than type.

Change-Id: I4ee0004934dc2322d43ef07e797a6811e39a812c
Closes-Bug: 1548530
2016-02-22 16:23:23 -06:00
112d7b0e09 Add "os subnet show" command using SDK
Implement the openstack client subnet show command using SDK
calls.  This shows the details of a specific subnet.

Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Partially implements: blueprint neutron-client
Closes-Bug: #1542359

Change-Id: Iaf18b9e44af35ca0cd61033b468e0c60cd3b05d6
2016-02-22 13:04:25 -06:00
c57fc41c33 Initialize _keys in __init__() in FakeFlavorResource
_keys is defined as a class attribute in FakeFlavorResource. So when
we call set_keys() to update it, it changes. And this change may bring
trouble to the other tests afterward.

So define and initialize it in __init__() as an object attribute.

Change-Id: Ib18c03877b67e1b7c2e107f598076b928a58e4fb
Closes-bug: #1548378
2016-02-23 00:14:56 +08:00
8825f0d8f3 Add unit tests for 'hypervisor stats' command
'hypervisor stats show' command isn't covered by unit tests,
so add unit tests to test it.

Change-Id: Ic355230cbdd596e848191b599803dca7f27c2ffb
2016-02-22 23:36:29 +08:00
ba08683d90 Merge "Add unit test for "flavor show" command" 2016-02-22 03:24:56 +00:00
b503734de0 Merge "Clean redundant argument to dict.get" 2016-02-22 01:24:20 +00:00
30e2643d23 Merge "Refactor: Set "project_id" for FakeXXX in a consistent style" 2016-02-21 06:16:55 +00:00
e2158b7ef4 Clean redundant argument to dict.get
`dict.get()` returns `None` by default, if a key wasn't found.
Removing `None` as second argument to avoid redundancy.

Change-Id: Ia82f7469cd019509bbeccbfe54b15eeedc7bb6ea
2016-02-21 13:21:31 +08:00
867bcb0db8 Merge "Support unscoped token request" 2016-02-21 04:31:51 +00:00
f4ca06cad6 Merge "Fix Mutable default argument" 2016-02-21 01:31:34 +00:00
acc0297fa6 Add functional tests for "volume" commands v2
The tests for v2 "volume" commands are quite similar to v1.

This patch also map 'metadata' to 'properties', 'volume_type' to 'type'
to align to the v1 output.

Change-Id: Icf2c5463b186fc78c890ccd96453090c4a2c2eb6
Partial-bug: #1519503
2016-02-21 09:10:15 +08:00
d01525f5e5 Merge "Trivial: Rename subnet_pool.rst to subnet-pool.rst" 2016-02-20 13:09:15 +00:00
b4edbd55f2 Add unit test for "flavor show" command
Change-Id: I1591649e5b97a885707042fcccad3335ee8c7aec
2016-02-20 17:16:01 +08:00
6af2883885 Refactor: Set "project_id" for FakeXXX in a consistent style
OpenStack SDK will translate "project_id" into "tenant_id" automatically
when referring to "tenant_id" attribute with the name "project_id". So
when faking an object returned fron SDK, we need to fake this behavior.

The original way is ugly. This patch turns it into a consistent style,
and give better comments.

Change-Id: I0dfb1f7552fc28eb4e7ebf5c614c9f3bde79ad80
2016-02-20 16:39:06 +08:00
dc5a8faddd Fix Mutable default argument
Python’s default arguments are evaluated once when the function is defined,
not each time the function is called. This means that if you use a mutable
default argument (like list and dict) and mutate it, you will and have mutated
that object for all future calls to the function as well.

more details about this wrong usage here:
http://docs.python-guide.org/en/latest/writing/gotchas/#mutable-default-arguments

Change-Id: If187f16bfb305ac4fe6e4177e498a06c49c3f946
2016-02-20 16:35:11 +08:00
53e058fabc Trivial: Rename subnet_pool.rst to subnet-pool.rst
File names under doc/source/command-objects/ are words connected
with "-". So rename subnet_pool.rst to subnet-pool.rst to keep
the consistence.

Also use "display" instead of "show" in the comment to keep the
consistence.

Change-Id: If486f6cec34b4572a8245af865267b063c1e877d
2016-02-20 15:05:59 +08:00
5a978b9ec1 Replace string format arguments with function parameters
There are files containing string format arguments inside logging messages.
Using logging function parameters should be preferred.

Change-Id: I15b405bf4d4715263fe1e1262982467b3d4bc1f4
Closes-Bug: #1321274
2016-02-20 14:16:25 +08:00
41e1bd0be6 Support unscoped token request
Make scope check optional for the "token issue" command as unscoped token is
a valid Keystone V2/V3 API.

Change-Id: Ie1cded4dbfdafd3a78c0ebdf89e3f66762509930
Closes-Bug: #1543214
2016-02-19 16:07:13 -08:00
ab6ba385a2 Merge "Subnet Pool: Add "subnet pool show" command" 2016-02-19 18:17:00 +00:00
0a8137f773 Merge "Don't use Mock.called_once_with that does not exist" 2016-02-19 17:44:56 +00:00
20f86465af Merge "Use assertIsNone() instead of assertEqual(None, xxx)" 2016-02-19 16:13:40 +00:00
61d9604f8a Merge "Subnet Pool: Add "subnet pool list" command" 2016-02-19 15:55:29 +00:00
ef64a8b47d Use assertIsNone() instead of assertEqual(None, xxx)
Change-Id: Ibbd7d6d27b2ff20304e3121fbadd5d50c1836d9b
2016-02-19 17:14:08 +08:00
48681af86a Don't use Mock.called_once_with that does not exist
Class mock.Mock does not exist method "called_once_with()", it just
exists method "assert_called_once_with()". "called_once_with()" does
nothing because it's a mock object.

In OSC, only one place is still using "called_once_with()". Fix it.

Change-Id: Ib890e95d775c3fc43df80fa05c82d726e78cdac8
Partial Bug: 1544522
2016-02-19 13:44:54 +08:00
ca34aa1587 Floating IP: Fix "ip floating list" in neutron network
The implementation of "ip floating list" in the commit below
is incorrect:

    Change-Id: I253f66f6bc64470e1a18ffea506048eb53f67d5c

This is because the FloatingIP objects returned from Nova and
Neutron network are different. They need different handling.

This patch fixes this problem.

The output for Neutron network would be:

+--------------------------------------+---------------------+------------------+------+
| ID                                   | Floating IP Address | Fixed IP Address | Port |
+--------------------------------------+---------------------+------------------+------+
| 1976df86-e66a-4f96-81bd-c6ffee6407f1 | 172.24.4.3          | None             | None |
+--------------------------------------+---------------------+------------------+------+

The output for Neutron network would be:

+----+---------------------+------------------+-----------+--------+
| ID | Floating IP Address | Fixed IP Address | Server ID | Pool   |
+----+---------------------+------------------+-----------+--------+
|  1 | 172.24.4.1          | None             | None      | public |
+----+---------------------+------------------+-----------+--------+

Change-Id: I1295e922df695414511d9a07ca4a8e2428040064
Partial-Bug: 1519502
Related-to: blueprint neutron-client
2016-02-19 11:10:53 +08:00
3c8bb16513 Subnet Pool: Add "subnet pool show" command
Change-Id: I8dda7bbf1e27b0ac773f62a5cd293387da96f8df
Closes-Bug: 1544590
Implements: blueprint neutron-client
2016-02-19 11:05:28 +08:00
a04012c3d5 Subnet Pool: Add "subnet pool list" command
Change-Id: I7935be2488fb728ced9680d75880870e5d315655
Closes-Bug: 1544589
Implements: blueprint neutron-client
2016-02-19 11:00:33 +08:00
00a1dddc2a Merge "Subnet Pool: Add "subnet pool delete" command" 2016-02-18 09:58:22 +00:00
088f2446f2 Merge "Support "network show" command in nova network" 2016-02-18 09:03:56 +00:00
36b21461d9 Merge "Support "network list" command in nova network" 2016-02-18 09:03:49 +00:00
bb153b705a Merge "Refactor security group rule delete to use SDK" 2016-02-18 09:03:27 +00:00
79fd6d3f20 Subnet Pool: Add "subnet pool delete" command
Change-Id: Ic5ba5effcaea2410421a81da8ffce7c0295179e7
Closes-Bug: 1544587
Partially implements: blueprint neutron-client
2016-02-18 08:53:39 +08:00
272ac55776 Merge "Return names in list role assignments" 2016-02-17 22:23:51 +00:00
f15a75428d Merge "Add "token revoke" for identity v3" 2016-02-17 20:31:07 +00:00
a517b1e9a6 Merge "Fix 'openstack --help' fails if clouds.yaml cannot be read" 2016-02-17 20:30:49 +00:00
d9d1809907 Support "network show" command in nova network
"network show" command is not implemented in nova network.
This patch implements it.

Change-Id: I1fadd890fe36c4e3ac5c9ed389b20c5b2fff8aca
partial-Bug: 1543672
2016-02-17 17:09:51 +08:00
ddc97c6dc5 Support "network list" command in nova network
"network list" command is not implemented in nova network.
This patch implements it.

The Network object in novaclient is quite different from
the one in sdk. And the output of "network list" using
Nova network is also quite different from using Neutron.

It is like this:

# openstack network list
+--------------------------------------+---------+-------------+
| ID                                   | Name    | Subnet      |
+--------------------------------------+---------+-------------+
| 96a98ec4-31f6-45f6-99e6-9384569b3bb5 | private | 10.0.0.0/24 |
+--------------------------------------+---------+-------------+

--long and --external options have not been implemented because
the attrs in Network object in novaclient is too much different.

This patch also introduces a new FakeNetwork class in compute/v2/fake.py
to fake nova network.

Change-Id: Id1fdf81fb2fa8b39f2c76b7bae37ac4fecafd0f7
Depends-On: I1b59264cd40aaf1062f4e8db233ccb7fd0e95f0e
partial-Bug: 1543672
2016-02-17 17:04:43 +08:00
da3d65299b Define FakeFloatingIP class in tests/compute for nova network commands
"ip floating list" command is not available for Neutron now because
the implementation is incorrect.

The FloatingIP objects returned from Nova and Neutron network are
quite different. So they need different FakeFloatingIP class to
do the tests.

This patch copies class FakeFloatingIP in tests/network to tests/compute
for Nova network tests.

Will fix the problem in "ip floating list" command and change FakeFloatingIP
in tests/network to fit Neutron network tests.

Change-Id: Ia29d257868e0f1dc6cd7cfe3819875e5913f76ec
Partial-Bug: 1519502
Partially implements: blueprint neutron-client
2016-02-16 15:14:34 +08:00
67bec569f8 Merge "Rename parameter "identifier" to "network" in network commands" 2016-02-15 17:16:30 +00:00
5543857381 Merge "Use assertRaises() to check if an exception is raised" 2016-02-15 17:14:42 +00:00