In other commands, the name or ID of an object is just the name
of the object. For example, name or ID of a server is "server",
router is "router". So, do not use "identifier" in network commands.
Also, the parameter in doc file network.rst is not "identifier",
but "network".
Change-Id: I1ec3beefbb878a207bca280b994ca176ef04ee2d
"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>
This patch set introduces the NetworkAndComputeLister and
NetworkAndComputeShowOne classes which are related to the
NetworkAndComputeCommand class. These classes are for commands
that must support neutron and nova network. The new classes
allows both the parser and actions to be unique.
Change-Id: I1b59264cd40aaf1062f4e8db233ccb7fd0e95f0e
Partial-Bug: #1519511
Partial-Bug: #1519512
Related-to: blueprint neutron-client
Refactored the 'os security group 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 introduces a new NetworkAndComputeCommand class
to be used for commands that must support neutron and nova network.
The new class allows both the parser and actions to be unique.
The current DeleteSecurityGroup class is now a subclass of this
new class and has moved under the network v2 commands.
This patch set also introduces a new FakeSecurityGroup class for
testing security groups.
And finally, this patch set updates the command documentation
for security group and security group rule to indicate that
Network v2 is also used.
Change-Id: Ic21376b86b40cc6d97f360f3760ba5beed154537
Partial-Bug: #1519511
Related-to: blueprint neutron-client
get_body() is needed in each network files to construct a dict
to pass to sdk proxy. And it is also used by several functions
in each file. So define it as a file level private helper function.
The unified prototype should be:
def _get_attrs(client_manager, parsed_args):
1. The name, in sdk, the parameter passed to proxy is named "attrs".
And it is a private method. So let's call it _get_attrs().
2. The parameters, besides parsed_args, when we deal with project
and project_domain, we have to make use of identity_client. So
let's pass in the client manager.
Change-Id: Ib044ebd4ddedbcd805f46334a7fe99e4ebb5b249
Follow-up patch of https://review.openstack.org/#/c/269613/
network/v2/subnet and port still use cliff classes directly.
This patch fixes it.
Change-Id: If9d90e5151ece7f4cf1e0d6fd2f32919865f2f2e
Previously each command logs take_action parameters explicitly
by using @utils.log_method decorator or log.debug().
Some commands have no logging.
This commit calls a logger in the base class and
drops all logging definition from individual commands.
Closes-Bug: #1532294
Change-Id: I43cd0290a4353c68c075bade9571c940733da1be
This patch allows the adding of availability_zone_hints during
router create. Also allows for the display of availability_zones
during list and and show commands.
Change-Id: Ifbc5c218bc7103d28076d726212ce25321bcf7f1
Partial-bug: #1519503
Partially-implements: blueprint neutron-client
Add --availability-zone-hint parm to network create. Also add
availability_zones and availability_zone_hints to the network list and network
show commands
Change-Id: Ib4dc2e3e7897939be7bef6b25a095c8222b885bc
Partially-implements: blueprint neutron-client
OpenStack uses 'CIDR' incorrectly in many places. We are not going
to perpetuate that usage. The correct name here is simply 'subnet'
as the data is the network address for the subnet, in CIDR notation.
Also, some additional cleanups as suggested in comments to
https://review.openstack.org/#/c/84782
Depends-on: I3c0748074a6511ff92500516b3129886d2476eed
Change-Id: Ib44c49dc1739ce7d881432e482dd16f8928eef49
This patch adds "router set" command to osc using sdk.
NOTE: Setting ha property of a router is not supported for now.
Will suppport it in another patch.
Change-Id: I9c15249ae61a87291f0728ad1c8f0a98aa8119bf
Implements: blueprint neutron-client
Partial-bug: #1519503
This patch adds "router create" command to osc using sdk.
NOTE: Test for --project needs support for fake identity client v2 and v3.
These tests will be added in other patches.
NOTE: external_gateway_info and routes are not supported to be passed to
create command now. They will be supported in another tow patches.
NOTE: Creating a ha router is not supported for now. Will support it in
another patch.
Change-Id: I7642295d27c27dd498331ae1da1c293706d8f6af
Implements: blueprint neutron-client
Partial-bug: #1519503
Add "router list" command. It takes one "--long" option.
By default, the command will print router id, name, status,
admin state up, distributed, ha and project id.
With "--long" option, it will also print routes and
external gateway info.
Change-Id: I9d21904c41c11ee1fa107f985744878a1dc2f970
Implements: blueprint neutron-client
Partial-bug: #1519503
The keys() method returns the keys returned from Neutron, but
the SDK maps some things like tenant_id to project_id. This
makes the output a little prettier.
Change-Id: Ibd8c890b61ffc94021f93fc1051fcf5dabd1e9ea
Since "network delete" could delete more than one network,
add a (s) to the doc.
And also, rename the parameter "networks" to "network".
The naming style is not using plural format in parameter.
Change-Id: Id434ea905af34457f84ea6bcb18addef5800429a
The previous patches have migrate all network commands to
the new version using sdk. This patch will remove the
temporary method, and implement a new make_client() to
create sdk network client.
And also, find() in openstackclient/network/common.py must
support sdk. The logic of this function will become much
easier than before, so this patch also removes two useless
test cases of find().
This patch will also remove the patched methods in tests.
Change-Id: Ic2f7bca073beb9757172d16f95d9b82c48cbbc12
Implements: blueprint neutron-client
Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This patch makes "network show" command use sdk.
Since we have to keep the other commands runnable with
the old network client, we use a temporary method to
create sdk network client. And as a result, the tests
need to patch a method to fake the temporary method,
which will be removed at last.
There are two same test cases in the unit tests. This
patch will remove one.
And since the output has changed, we also need to fix
function test cases.
Change-Id: I4c06b4efad2db430767bbaa882b0876df3ab483a
Implements: blueprint neutron-client
Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This patch makes "network set" command use sdk.
Since we have to keep the other commands runnable with
the old network client, we use a temporary method to
create sdk network client. And as a result, the tests
need to patch a method to fake the temporary method,
which will be removed at last.
Change-Id: I794ac4b82d9200747298f1a9ee44611140e9b6d0
Implements: blueprint neutron-client
Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This patch makes "network delete" command use sdk.
Since we have to keep the other commands runnable with
the old network client, we use a temporary method to
create sdk network client. And as a result, the tests
need to patch a method to fake the temporary method,
which will be removed at last.
Change-Id: I1f2c404e4b0ff6727e4c535ce543aa406f2290ce
Implements: blueprint neutron-client
Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This patch makes "network create" command use sdk.
Since we have to keep the other commands runnable with
the old network client, we use a temporary method to
create sdk network client. And as a result, the tests
need to patch a method to fake the temporary method,
which will be removed at last.
Change-Id: I06559c675be1188747257f72f18d6b4d420d0285
Implements: blueprint neutron-client
Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This patch makes "network list" command use sdk.
Since we have to keep the other commands runnable with
the old network client, we use a temporary method to
create sdk network client. And as a result, the tests
need to patch a method to fake the temporary method,
which will be removed at last.
Change-Id: I0882501cd7bb2c17917e10a6da4298f1452c9765
Implements: blueprint neutron-client
Co-Authored-By: Terry Howe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
This patch adds a temporary method to create a network client using sdk.
This method will help to migrate network commands from neutronclient to sdk
one by one. The command which is being migrated will use this temporary
method to create the sdk client, and the rest ones will use the old client.
The temporary method will finally be removed and implement the same thing
in make_client().
This patch will also add sdk to requirements file.
And adds some formatter helper functions, which will be used in class
CreateNetwork, ListNetwork and ShowNetwork.
This patch is splited from TerryHowe <terrylhowe@gmail.com> 's original patch.
Change-Id: Ie9b35747680afeb66cf6922e2c654fbca7e03569
Implements: blueprint neutron-client
Co-Authored-By: TerryHowe <terrylhowe@gmail.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
neutronclient expects 2.0 as the version if you go through the discovery
constructor. For that reason, 2.0 is the 'correct' version to set in
config files or environment variables for if you're using things that
are not OSC. However, if you do that, OSC prints a warning that 2.0 is
not in the supported network version list.
Let's support both so that users don't get a confuse.
Change-Id: I7412519693f75fcd29f5621ce9e5a2df2da92684
Setting default versions in parsed args makes it so OCC
cannot tell if the argument was parsed, an environment
variable was set or it is just defaulted. In order to
set api versions from OCC, it will have to be defaulted
after processing OCC.
Closes-Bug: #1453229
Change-Id: I4d065919397b783f3bdd4022c986c0234a7a16e6
The --dhcp option lists agents, not networks. This does not make
a lot of sense. Another command should be created to list agents.
BackwardsIncompatibleImpact
Closes-Bug: #1472613
Change-Id: I5ecfe3fc046a07eb64a4dabd41dbd99de7c2215f
User should be able to specify the endpoint type through
a CLI optional argument/ENV variable setting. We will name this new
optional argument: --os-endpoint-type (Env: OS_ENDPOINT_TYPE) and
based on the value given, the service API will use that specific
endpoint type. Possible values: public, admin, internal.
DocImpact
Closes-Bug: #1454392
Change-Id: Ife3d4e46b44c0ddcd712b1130e27e362545a9a29
we have used domain scope arguments --project-domain, --user-domain
and --group-domain in identity commands, for example, role add v3,
to prevent resources conflict from same resource name existence.
To keep with the style of identity commands, it's better to rename
--domain to --project-domain.
Closes-Bug: #1468988
Change-Id: Ic6ccb895cf9be4a3d5f0001525e3b80cd340da8b