Add _() to wrap help message in network commands.
And also some improvement for help message.
Change-Id: Ib3e498f5976ba98c44fd4eec2d1623263b3db53e
Partial-bug: 1570924
The following patch adds the options "--external" & "--internal"
and the suboptions to "external": "--default" & "--no-default",
to "osc network set" CLI to provide the user an option to set
a network as an external network or remove the setting.
Change-Id: I3a7f2cb249bc8101cbb01322d7732e913237d6cd
Partial-Bug: #1545537
There are lots of "this option can be repeated" comments
in the doc, which are not consistent to other similar
docs.
This patch changes them to the following format:
"repeat option to do something"
Change-Id: I54e01053091c428bf87bb36bb95f73a0b80ab6e7
The following patch adds the provider network options
to OSC "network create".
Change-Id: Ib8449c00ee4b4285889588f03ddd7a686ce8f987
Partial-Bug: #1545537
The following patch adds the options "--external" & "--internal"
and the suboptions to "external": "--default" & "--no-default",
to "osc network create" CLI to provide the user an option to create
a network as an external network.
Change-Id: Idf73714bb94c0610ea164131140a51848908b00b
Partial-Bug: #1545537
In Python 2, dict.keys() will return a list.
But in Python 3, it will return an iterator.
So we need to fix all the places that assuming
dict.keys() is a list.
Change-Id: I8d1cc536377b3e5c644cfaa0892e40d0bd7c11b1
Closes-Bug: #1556350
Objects returned by Network v2 and Compute v2 are different.
When getting columns to display, Network v2 uses obj.keys(),
while Compute v2 uses obj._info.keys(). But both of them could
obtain the keys of the object by _get_columns().
Change-Id: I347815f2d28822a95bd6f57d429b84b7ca96e0ee
This patch only provide network name and subnet setting for
"network create" command.
The other options, such as --project which depends on
identity v2 or v3, will make the unit tests too complicated.
So I prefer to implement them in other patches.
Change-Id: I9ec93f0af813c8fae4170c36e16bbe8f0f53cbb6
Partial-Bug: 1543672
ShowNetwork inherits from NetworkAndComputeCommand. So we should use
update_parser_common() in it, not overwrite parent's get_parser().
Change-Id: I21bb1407962344b9800fd31caee4b2582674fe24
"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
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
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
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
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
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>
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
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
Without this patch, openstackclient has no way to specify to which
project a network belongs upon creation. Instead, it uses the project
ID that the user is authenticating with to fill the tenant_id column.
This is a problem because an admin user is unable to specify a project
for a non-admin network. To fix this and to improve feature parity with
the neutron client, this patch adds project and domain parameters to
the network create command and uses the given project name to look up
the project ID.
Neutron does not allow the project to be changed after creation, so no
such parameter has been added to the neutron set command.
Neutron calls the field 'tenant_id', but this change exposes the
parameter as '--project' to support the newer terminology.
If no project is specified, the client defaults to the previous
behavior of using the auth project.
Change-Id: Ia33ff7d599542c5b88baf2a69b063a23089a3cc4
api.network.APIv2 starts with network_list() support to flush out
the skeleton of the Network API.
list_dhcp_agent() supports the --dhcp option of 'network list'
Change-Id: I9a2b90cde84eced1f2ea6a014b769e2bae668211
This is part1, add support for these objects:
compute.server
imagev1.image
imagev2.image
network.network
volume.volume
volume.backup
volume.snapshot
Closes-Bug: #1400597
Change-Id: Ice21fee85203a8a55417e0ead8b509b8fd6705c1
Instead of inline messages, let's create variables instead, as
it's easier to find strings, and mark them for translation.
Change-Id: Ibbcfdbc59d12a0cb4af50f73043d3ff7f3c76f99