68 Commits

Author SHA1 Message Date
YAMAMOTO Takashi
61a22a285a Remove the fixed set of choices for network_type
So that it can specify out-of-tree ML2 type drivers.

Closes-Bug: #1657311
Change-Id: I2445fb165b86cf5937d8aa09ba0fd5564eb1f8f4
2017-01-18 09:38:23 +09:00
Sindhu Devale
22d639b0b6 SDK refactor: Prepare network commands
Prepare the OSC "network" commands for the SDK refactor.

Change-Id: I50680f6675905f2147fee94cce8c1ed9c81dac0a
Partially-Implements: blueprint network-command-sdk-support
2016-12-15 14:26:39 +00:00
Rodolfo Alonso Hernandez
4132392c2f Add QoS support to Network object.
Added "qos_policy" parameter to Network class.

Change-Id: Idc00f2792eef5b1f0910084d95cf9a8e83fe818c
Closes-Bug: 1627069
2016-11-28 09:35:00 +00:00
Steve Martinelli
0ef8535036 translate all command help strings
Leverage the new cliff command class attribute (_description)
to get the help of a command, this allows us to mark strings
for translation. We could not do this before since the help
was grabbed from the docstring.

This also depends on a new release of cliff and a bump to the
minimum level in osc's requirements.

Closes-Bug: 1636209
Depends-On: Id915f6aa7d95a0ff3dc6e2ceaac5decb3f3bf0da
Change-Id: I8673080bb5625e8e3c499feaefd42dfc7121e96f
2016-11-17 02:33:42 +00:00
Yan Xing'an
960b2658dc Support --provider-* options in the network list command
Add --provider-network-type, --provider-physical-network, --provider-segment
options into network list command.

Change-Id: I02546170211fb3e7e55d5dc7e7cdc6d387fd26e5
Closes-Bug: #1635580
Partially-Implements: blueprint network-commands-options
2016-10-27 23:37:59 -07:00
judy-yu
151c161a5e Avoid duplicated project_id when show network
Project_id appear twice when show network. This
patch check and not append if it already has one.

Change-Id: I4400239f454522101b639a0412050dd60eb6a612
Closes-Bug: #1636123
Partially-Implements: blueprint duplicated-project-id
2016-10-24 17:16:48 +08:00
Jenkins
bce740d5ff Merge "Add filtering options to os network list command" 2016-09-22 12:47:38 +00:00
Ha Van Tu
9c473f475d Add filtering options to os network list command
This patch adds the following filtering options: '--name', '--internal',
'--share' and '--no-share', '--enable' and '--disable', '--project'
and '--project-domain', '--status'.

Change-Id: I7e9dd372ee572c6ee8cdba7fac3182f9dc0a137b
Partially-Implements: blueprint network-commands-options
Closes-Bug: #1578819
2016-09-22 09:33:48 +07:00
Ankur Gupta
88be7ddd38 Add --description to Create/Set Network
Added simple option for network description to create and
set network.

Change-Id: I90ce4db4e365a56ecddb00d59f4c5aa2ebbd49a3
Partially-Implements: blueprint network-command-options
2016-09-19 19:18:17 -05:00
Richard Theis
92d0fbeafd Add port security option to network commands
Add the "--enable-port-security" and "--disable-port-security" options
to the "network create" and "network set" commands. This supports setting
the default port security for ports created on a network.

Change-Id: I1deb505bd77cef2e4bc3c2dbbb0c450665136f47
Implements: blueprint neutron-client
2016-06-29 10:13:18 -05:00
Cao Xuan Hoang
5534e29342 Fix typo in openstackclient/network/v2
This patch adds the missing "." to some docstring/text.

Trivial fix

Change-Id: Iffb470dcce7200ddc9e439c465adc652a8322708
2016-06-23 09:37:36 +07:00
Jenkins
0ec711c640 Merge "Add geneve provider network type" 2016-06-15 00:41:50 +00:00
Dean Troyer
9e2b8e6730 osc-lib: command
Leave command.py and test_command.py as a sanity check during the
deprecation period.

Change-Id: I24e1b755cbfbcbcaeb5273ec0c9706b82384fc85
2016-06-13 11:00:22 -05:00
Dean Troyer
e5e29a8fef osc-lib: utils
Use osc-lib directly for utils.

Leave openstackclient.common.utils for deprecation period.

Change-Id: I5bd9579abc4e07f45219ccd0565626e6667472f7
2016-06-13 10:50:44 -05:00
Richard Theis
56a081fa23 Add geneve provider network type
Add the "geneve" choice to the "os network create" command's
"--provider-network-type" option.

Change-Id: I7573232ec3594ec4acbfae43a8456b8c3fcd1a83
Implements: blueprint neutron-client
2016-06-10 14:47:50 -05:00
Tang Chen
e3270cdfd8 Make set/unset commands in network return normally when nothing specified
set/unset commands should ends up normally instead of raising
an exception when nothing is specified to modify. The main
reason is: When nothing is specified, the command sets/unsets
nothing, which is a normal behavior, and ends up normally.
No API call fails. No error happens.

This patch also adds a releasenote for both network, and volume
commands that fix patch has been merged.

Change-Id: I78c348066078decd350417a431f3b8bea8fcf9ef
Partial-bug: #1588588
2016-06-08 14:31:17 +08:00
Jenkins
5dfedd6445 Merge "Enhance exception handling for "network delete" command" 2016-05-17 03:04:42 +00:00
Jenkins
cb068d8c68 Merge "Fix i18n support for help and error msg in network" 2016-05-16 23:33:23 +00:00
Jenkins
3d12ae8e03 Merge "Add VLAN Transparent option to `osc network`" 2016-05-16 22:57:25 +00:00
reedip
00c149a28f Add VLAN Transparent option to `osc network`
osc network set and network create now support
--transparent-vlan|--no-transparent-vlan options
to add/remove vlan transparency from the network.

Change-Id: I845eb8f541cd32a4c4b28f929a63b205e7e31756
Closes-Bug: 1545537
2016-05-16 08:32:07 +00:00
Tang Chen
40f51c32ac Fix i18n support for help and error msg in network
Change-Id: Iab0dc489226601ac4ff123bb758f84ff16989395
2016-05-16 16:15:46 +08:00
Richard Theis
9f3fa5ee3b Fix network router type display
The OpenStack SDK maps the network "router:external" field to
"is_router_external". However, OSC was using the incorrect
mapping, "router_external".  This caused OSC to display router
type as "Internal" for all networks.

Change-Id: Ifcd1349ab7c5881baee751936d076bf6aa058852
Closes-Bug: #1572228
2016-05-05 15:01:36 -05:00
reedip
aa1495e241 Add provider network options to osc network set
The following patch adds the provider network options
to OSC "network set".

Change-Id: I23b617077eda25d16164172a8e280082750eaf18
Partial-Bug: #1545537
2016-04-19 11:18:13 +09:00
Tang Chen
89445855ac State i18() changes and help messages improved
Add _() to wrap help message in network commands.
And also some improvement for help message.

Change-Id: Ib3e498f5976ba98c44fd4eec2d1623263b3db53e
Partial-bug: 1570924
2016-04-18 10:31:01 +08:00
reedip
67f8b898eb Add external network options to osc network set
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
2016-04-15 00:28:09 +00:00
Tang Chen
56f9227063 Enhance exception handling for "network delete" command
This patch rework "network delete" command following the
rules in doc/source/command-errors.rst.

In "network delete" command, there are multiple REST API
calls, and we should make as many of them as possible.
And log error for each one, give a better error message.
Also return a non-zero exit code.

Change-Id: I39ae087dd7bd08d049d513abfa6c5cab2bd13b2b
Partial-Bug: #1556719
2016-04-14 13:54:14 +08:00
Tang Chen
32c627eaf0 Doc: Unify repeatable option comments
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
2016-04-12 15:57:17 +08:00
reedip
a8c085fdd5 TrivialFix: Rename provider segment option
As per [1], provider-segmentation-id is changed to provider-segment
as segments may soon have a "name" support as well.

[1]: https://review.openstack.org/#/c/294422/12/doc/source/command-objects/network.rst

Change-Id: I74d4366301b41fa181faccbc12cff9530df60353
2016-04-08 01:46:06 +00:00
reedip
1b351e1695 Add provider network options to osc network create
The following patch adds the provider network options
to OSC "network create".

Change-Id: Ib8449c00ee4b4285889588f03ddd7a686ce8f987
Partial-Bug: #1545537
2016-04-06 16:52:47 +00:00
reedip
107bc5164f Add external network options to osc network create
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
2016-04-06 16:01:24 +00:00
reedip
c5c15a0135 Follow Boolean Option rule
OSC has a specific rule for handling boolean based options
in  [1]. This patch modifies the exisiting code so that it
matches the criteria that have been specified in [1].

[1]: http://docs.openstack.org/developer/python-openstackclient/command-options.html#boolean-options

Closes-Bug: #1559418
Change-Id: I182381d5579efbc75a5d3e8a91f412398abf5c3c
2016-03-31 13:06:45 +09:00
Tang Chen
dc7e4fc15d Fix dict.keys() compatibility for python 3
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
2016-03-12 10:58:28 +08:00
Jenkins
13a6857142 Merge "Use _get_columns() to obtain columns in network.py" 2016-03-07 16:05:01 +00:00
Tang Chen
fc24f37ae2 Trivial: Remove useless return
If a function returns nothing, do not add return in the end.

Change-Id: I298b8717462f68d3076a1619d674775be2a94c42
2016-03-07 17:54:06 +08:00
Tang Chen
7ba73845c1 Use _get_columns() to obtain columns in network.py
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
2016-03-06 09:01:42 +08:00
Tang Chen
359dfa1a06 Support "network create" command in nova network
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
2016-03-02 14:39:00 +08:00
Tang Chen
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
Tang Chen
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
Tang Chen
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
Jenkins
67bec569f8 Merge "Rename parameter "identifier" to "network" in network commands" 2016-02-15 17:16:30 +00:00
Tang Chen
324e026f57 Rename parameter "identifier" to "network" in network commands
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
2016-02-14 18:57:34 +08:00
Tang Chen
27a0da65e3 Support "network delete" command in nova network
"network delete" command is not implemented in nova network.
This patch implements it.

Change-Id: I5dac1eed6eb8e67298bb446418835a6ab85c859c
Depends-On: I1b59264cd40aaf1062f4e8db233ccb7fd0e95f0e
partial-Bug: 1543672
2016-02-14 17:07:17 +08:00
Tang Chen
a83c1f0a42 Network: Abstract get_body() out to be a private helper.
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
2016-02-02 13:58:43 +08:00
Akihiro Motoki
258c1102cc log take_action parameters in a single place
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
2016-02-02 09:58:32 +09:00
Brad Behle
67ecf4ef43 Add availability zone support for network commands
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
2016-01-28 15:54:27 -06:00
Jenkins
d31c301bd3 Merge "Map some of the SDK field names" 2016-01-01 17:27:23 +00:00
Tang Chen
e590597871 Trivial: Remove useless return from files in network
Change-Id: Ib871fbde7c7140eca875403332ad5ab65a7e940d
2015-12-18 18:05:41 +08:00
Terry Howe
1cf320302b Map some of the SDK field names
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
2015-12-10 15:22:38 -07:00
Tang Chen
2caf7b19e2 Trivial: Do not use plural format in command parameter in "network delete"
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
2015-12-11 19:39:36 +08:00
Tang Chen
4be716eb27 Migrate network client to SDK.
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>
2015-12-09 09:30:29 +08:00