Network objects don't have any method needs to fake.
keys() method is only used by _get_columns() helper
to obtain all attributes of an object. But in compute
network implementation, attributes are obtained from
obj._info directly, which is a dictionary itself. So
there is no need to fake this method.
Change-Id: Ie6a46ef6a3042641e55a7002573ef501db7b60e1
Support "aggregate unset" command in order to
remove the property of aggregate object in OSC.
Change-Id: I49645135586362f0fd251f5e4a4c03eff273d9e9
Closes-Bug: #1559866
Refactored the 'os security group rule create' command to use the
SDK when neutron is enabled, but continue to use the nova client
when nova network is enabled.
Added a release note for the change in security group rules output
due to Network v2.
Change-Id: I8c6c99d5272ff5d410a449f73d198d834c5cd96e
Partial-Bug: #1519512
Implements: blueprint neutron-client
Add "--long" option in ListService so that compute service
disabled reason can be showed.
Change-Id: I1ace8f1c4e4efe0a1a8f6710425d73eb5db9e5e1
Closes-Bug: #1556815
Refactored the 'os security group show' command to use the SDK
when neutron is enabled, but continue to use the nova client
when nova network is enabled.
Added a release note for the change in security group rules output
due to Network v2. The column names remain unchanged to maintain
backwards compatibility.
Change-Id: I25233ddb8115d18b8b88affb3de13346084a339d
Partial-Bug: #1519511
Implements: blueprint neutron-client
In unit tests, all real methods are faked. They should not
do any real operations in the tests. So, FakeFlavorResource
is not necessary. Just fake get_keys(), set_keys and unset_keys()
in FakeResource would be enough.
Change-Id: Icc3473ba9c77f4817d0edddb7ff3e1bd2946fac7
Refactored the 'os security group list' command to use the SDK
when neutron is enabled, but continue to use the nova client
when nova network is enabled.
This refactor also removes the logic for displaying project names
instead of project IDs when the --all-projects option is specified.
This logic was removed because it is inconsistent with the other
network commands.
Since neutron will always display security groups across all
projects for an admin, the --all-projects option is now hidden
when neutron is enabled and the Project column is always
displayed.
Change-Id: I934a1f5084ef3c5f929d0ffd38ebf5064d799941
Partial-Bug: #1519511
Related-to: blueprint neutron-client
Add some test cases that test 'server list' command when specifying flavor or image.
Because I add some attribution to fake.py, I have to change some code
in create server test. Despite all this, I think it's good for testing.
Change-Id: I714deac1f6f940b790a3c20af5f7ffa724ac44d1
_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
"network show" command is not implemented in nova network.
This patch implements it.
Change-Id: I1fadd890fe36c4e3ac5c9ed389b20c5b2fff8aca
partial-Bug: 1543672
"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
"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
"network delete" command is not implemented in nova network.
This patch implements it.
Change-Id: I5dac1eed6eb8e67298bb446418835a6ab85c859c
Depends-On: I1b59264cd40aaf1062f4e8db233ccb7fd0e95f0e
partial-Bug: 1543672
This patch implements "ip floating delete" command for
both compute and network. Also includes unit tests.
Change-Id: Ie61f0faad65ec90f9d9956ae463412be8d963d05
partial-Bug: 1519502
Related-to: blueprint neutron-client
Co-Authored-By: Tang Chen <chen.tang@easystack.cn>
Refactored the 'os security group rule delete' command to use the
SDK when neutron is enabled, but continue to use the nova client
when nova network is enabled.
This patch set also introduces new FakeSecurityGroupRule classes
for testing network and compute security group rules. And fixes
were made to the network FakeSecurityGroup class.
Change-Id: I8d0917925aa464e8255defae95a2a2adfb6cfb75
Partial-Bug: #1519512
Related-to: blueprint neutron-client
There is no unit tests for "hypervisor" command. This patch
introudces a new class FakeHypervisor to fake one or more
hypervisors, and a base class TestHypervisor. Also adds
hypervisors mock to fake compute client.
And also, this patch adds unit tests for "hypervisor list"
command.
Change-Id: I18733eae1a8f4fff72e830d9a060fb8f0f58fbf5
Refactor the "os availability zone list" command to make it a common
command instead of a compute-only command. Since availability zones
are common to compute, volume and network (new), this refactoring
allows availability zone support to be added for volume and network.
In addition to the refactor, unit and functional tests were added.
Change-Id: I63e9d41d229b21cd38e5a083493042c096d65e05
Partial-Bug: #1532945
We have a class FakeVolume to fake one or more volumes. So use it in
test_server.py.
Change-Id: I735ae7f678a6799e0ae4c7c25c8083d9ebf47b09
Implements: blueprint improve-volume-unittest-framework
Add a set of testcases to test the classes of
ListService and SetService in the compute.v2.service.
And to be consistent with cinder term, use service_binary
to represent the service binary.
Change-Id: I9fe740f07c9ce3afdba7b7cca152d614170abb96
A validation is necessary to check the existence of project.
This patch is similar to Ia2d8c96527820e25b074e6486d3f39c5ad7eae60.
Change-Id: Id8895ba7a21ecad05942619a82a87c0dc68eae53
The new class FakeFlavor has been introduced to fake one or more flavors.
So use it and remove the old fake flavor data.
Change-Id: Ie3a33b36ae6e597c6a0b1d17ad13c73cf4b73bc9
Implements: blueprint improve-flavor-unit-test
Just like FakeServer and FakeResource, FakeFlavorResource should be in compute_fakes.py.
Change-Id: I8315256fb90377605fa2190e24c9674f6aaf6efd
Implements: blueprint improve-flavor-unit-test
The old fake server framework has be replaced with the new
class FakeServer, which is stronger in:
1. faking multiple servers with random names and ids
2. faking methods in a server
3. easier to use
So remove the old fake server data, and use class FakeServer
from now on.
Change-Id: Ife8ee37a7ce14d9a3201104bce8075a918a97613
Implements: blueprint osc-unit-test-framework-improvement
The OpenStackClient mapping of 'openstack quota set' arguments isn't
correct for compute quota items that have to different names. For
example, the --injected-file-size argument is mapped to
injected_file_size, but the compute quotas item is actually
injected_file_content_bytes. This incorrect mapping prevented the
impacted compute quota items from being set.
The problem impacts the following 'openstack quota set' arguments:
--injected-file-size
--injected-path-size
--properties
--secgroup-rules
--secgroups
This patch set also expands the compute quota unit tests to verify
all compute quota items that can be set.
Change-Id: I0a2f241e425f4811e4ae55be183ac0c8b0805c2a
Closes-Bug: #1475831