54 Commits

Author SHA1 Message Date
Stephen Finucane
209f8e9e17 network: Replace use of in-tree API client
None of these are actually supported by openstacksdk (intentionally so)
so we add our own manual implementations.

Change-Id: Ifd24f04ae4d1e56e0ce5ba0afe63828403bb7a6f
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-07-09 18:19:36 +01:00
Stephen Finucane
c5b772db76 trivial: Prepare for pyupgrade pre-commit hook
This change is entirely automated save for the update of some mocks from
'io.open' to '__builtins__.open').

We are keeping this change separate from addition of the actual hook so
that we can ignore the commit later.

Change-Id: I0a9d8736632084473b57b57b693322447d7be519
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-04-23 12:24:23 +01:00
Stephen Finucane
6475dc58e8 Blacken openstackclient.network
Black used with the '-l 79 -S' flags.

A future change will ignore this commit in git-blame history by adding a
'git-blame-ignore-revs' file.

Change-Id: I8048746dbc2ef0cb582f68934734db4c1153d779
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2023-05-10 10:51:30 +01:00
Dr. Jens Harbott
604ceeedf9 Don't show tenant_id in network objects
Patch [0] dropped mapping the tenant_id attribute to project_id.
However, the Neutron API still returns the tenant_id attribute in
addition to the project_id and so we still need to discard it from
the output.

[0] I5f62f2a76592eaaaed6703624e959df41a6ecc8f

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Iba1e003bf587802f28928cb44d160b3b3fb1f840
2022-06-27 10:50:03 +02:00
Artem Goncharov
18dcd7c9f7 Get rid of tenant_id in the network commands
Finally drop tenant_id completely from the networking service.

Change-Id: I5f62f2a76592eaaaed6703624e959df41a6ecc8f
2022-01-17 09:31:16 +01:00
Dr. Jens Harbott
90eb0ca4bb Hide location columns for network objects
Network objects returned from the SDK include a location column which
has a reference to the cloud to which the object belongs. We don't want
to include them in CLI output where they are useless.
The solution implemented in [0] was dropped as a sideeffect in [1].

[0] https://review.opendev.org/c/openstack/python-openstackclient/+/679445
[1] https://review.opendev.org/c/openstack/python-openstackclient/+/815032

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: I9a408d9721c9c57d752afaab520cd6ee379a5184
2021-12-16 19:33:04 +00:00
Stephen Finucane
30612bf622 Remove 'get_osc_show_columns_for_sdk_resource' duplicates
There were a number of 'get_osc_show_columns_for_sdk_resource' defined
in-tree. However, osc-lib has provided this method for some time (since
2.2.0, June 2020 [1] - our minimum version is currently 2.3.0) so
there's no need to provide our own copies. Remove them.

[1] https://github.com/openstack/osc-lib/commit/29a0c5a5

Change-Id: I25695f4f9a379dd691b7eaa1e3247164668ae77e
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-10-21 17:14:45 +01:00
Slawek Kaplonski
b26b7f3440 Allow to send extra attributes in Neutron related commands
To deprecate and drop support for neutronclient CLI and use only
OSC we need feature parity between OSC and neutronclient.
Last missing piece here is possibility to send in POST/PUT requests
unknown parameters to the Neutron server.
This patch adds such possibility to the OSC.

Change-Id: Iba09297c2be9fb9fa0be1b3dc65755277b79230e
2021-05-26 09:29:15 +02:00
Jens Harbott (frickler)
a04172969a Revert "Format location columns in network commands"
This reverts commit 6ee7b8d138e07bfc37c5cd887f7afa49cdabb02f.

Change-Id: I5f59959ba8a01aba49e29f4cb007397467344e58
2020-06-17 10:09:36 +00:00
Daniel Strong
d2826e89e9 Allow setting floating IP description
Change-Id: If664bfe3c9fdcb69c7046eb16c5d32602d1b3262
Story: 2007439
Task: 39094
2020-03-18 18:10:17 +00:00
Michael Johnson
db29e28b7c Switch to using osc_lib.utils.tags
This patch updates the network modules to use the new
osc_lib.utils.tags module and removes the in tree _tag.py version.

A previous patch[1] moves the _tag.py code to osc-lib to allow other
projects to leverage the code.

[1] https://review.opendev.org/662859

Change-Id: Id0c34029e327de50c5fd2732bae5fbf45bbd16ee
2020-01-14 17:10:41 -08:00
Eric Fried
cd6c285cc6 neutron: autogenerate docs
$namespace = openstack.network.v2

The subcommand documents for $namespace were hardcoded and thus prone to
drift over time. This commit removes the hardcoded content and uses the
autoprogram-cliff directive to generate them automatically from the
subcommand configuration classes.

This one turned out to be quite involved, because we support both
neutron and nova-network. When running in a real cloud, the command
classes detect whether the neutron service is present, assume
nova-network if that service is not found, and only add parser options
relevant to the detected service. But the docs need to present both sets
of options. This was easy enough when they were hardcoded, but required
a bit of additional infrastructure for generated docs.

Change-Id: I426261eb1d86bcc68656aabd61f10b7f082da402
2019-11-01 14:24:30 -05:00
Dean Troyer
6ee7b8d138 Format location columns in network commands
These return a Munch from the SDK, which can be handled exactly
like a dict so do that.

Note that the location column has a nested project dict in the
return value, this is addressed separately in osc_lib.format_columns
in https://review.opendev.org/#/c/679474/.

Change-Id: I99a6d192749a4ac76777f72be8118261c0521cb0
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-08-30 12:53:18 -05:00
Johannes Kulik
b8438adbbf Add floating IP filter to floating IP list command
Add a parameter ``--floating-ip-address`` to ``floating ip list``
because it's supported by the API and also more efficient than the
current ``floating ip show``. This also works as a work-around for
pagination issues ``floating ip show`` might run into with an IP
parameter.

Change-Id: I113e3fa2495e1e86bb553c55c44f71a3f9f49d23
2019-01-14 10:27:07 +01:00
Zuul
a051bda111 Merge "Add DNS support to floating IP commands" 2018-08-08 20:15:07 +00:00
Jens Harbott
ed09f28a9d Add DNS support to floating IP commands
Add the DNS domain and name options to the ``floating ip create``
command. Also add these two columns to the output of the
``floating ip list --long`` command.

Change-Id: Id4cb18b51b252f19b87b24ec5d77183771189d17
Story: 1547736
Task: 13114
2018-08-06 08:14:48 +00:00
Zuul
00194b4e20 Merge "Do not require port argument when updating floating IP" 2018-07-24 00:53:33 +00:00
Zuul
3493948d13 Merge "Format port_details field of Floating IP" 2018-06-28 17:26:06 +00:00
yanpuqing
402c9a21b3 Do not require port argument when updating floating IP
When setting floating ip other properties, port argument is
force to use.
The patch modifies the command, when setting floating ip other
properties, like tags, no need port argument.

Change-Id: I908712c8913f32d3dd5fdfefe7347277d72f66de
Story: 1751431
Task: 13865
2018-06-13 23:05:30 -04:00
Zuul
a7973d927d Merge "Remove deprecated ip floating commands" 2018-06-09 18:43:45 +00:00
Hongbin Lu
46f8614da8 Format port_details field of Floating IP
Depends-On: I31e940d2986278d2fbee6fdfea4ff15f7c07ebaa
Change-Id: I115739ea253ce26e075cd3f10e719b13f18afa5b
Partial-Bug: #1723026
2018-04-27 20:29:35 +00:00
Zuul
b59de7b849 Merge "Network: Add tag support for floating ip" 2018-04-23 08:12:25 +00:00
Dongcan Ye
09a0916dae Network: Add tag support for floating ip
Change-Id: I7a500a4ff6cec2442b4050df26c0b017d9f71903
Closes-Bug: #1750985
2018-04-17 15:52:52 +00:00
Dongcan Ye
ea89065dab Remove deprecated ip floating commands
We had already implemented floating ip(pool) commands more
than two cycles, we can remove those deprecated commands.

Change-Id: Ib98a7403a63bb0c48c03de4c79795737de2aa84c
2018-04-08 11:37:42 +00:00
Brian Haley
2ed1b24c71 Fix typo in 'floating ip associate' command and doc
Assocaite -> Associate

Trivialfix

Change-Id: I432e35ddcd80ef77c865bee9a54ac2777f5b6386
2018-03-15 16:30:43 -04:00
Monty Taylor
a742e47ecf
Use find_ip from openstacksdk
The find_ip from openstacksdk started being usable by OSC back in 0.9.15
but the local method never got replaced.

Change-Id: I18a334280e5f384f8bb96198cdad79c612a02290
2018-01-29 12:05:22 -06:00
LIU Yulong
cf91d7a2f4 Add floating IP qos_policy actions
Now we can associate a qos policy to the floating IP, and
dissociate it. The commands are:

  $ openstack floating ip create --qos-policy ...
  $ openstack floating ip set --qos-policy ...
  $ openstack floating ip set --no-qos-policy ...
  $ openstack floating ip unset --qos-policy

These commands are based on the neutron change:
I4efe9e49d268dffeb3df4de4ea1780152218633b

Partially-Implements blueprint: floating-ip-rate-limit

Change-Id: I932b32f78cc5a2b53926feaec1a0b392cf7e8b57
2018-01-11 18:10:11 +00:00
Dean Troyer
e6ea45b283 Low-level Compute v2 API: floating ip
api.compute.APIv2 floating ip functions.

novaclient 8.0 is now released without support for the previously
deprecated nova-net functions, so include a new low-level REST
implementation of the removed APIs.

Change-Id: Ic461b8d15e072e0534dcd73fff6857581d83c89b
2017-04-11 02:10:26 -05:00
Jenkins
80726b1340 Merge ""floating ip set/unset port" for OSC" 2017-04-06 01:55:24 +00:00
Sindhu Devale
763c8c5670 "floating ip set/unset port" for OSC
Implements Neutron feature of floating ip associate/disassociate
into OpenStack Client.

Previously, network.find_ip() function only supported to
search floating ip by UUID. Hence, _find_floating_ip()
function is used in floating_ip.py, to search fip both by UUID
and ip_address. [1] adds the ability to find fip object using both UUID
and ip_address. This functionality however, won't be available until
the SDK is released. Hence, we continue to use _find_floating_ip()
method, which was cleaned up by [2] to remove the use of ip_cache.
Once, the SDK is released, we will remove all the usage of
_find_floating_ip() method and instead only use network.find_ip().

[1] https://review.openstack.org/#/c/449879/2
[2] https://review.openstack.org/#/c/447938/

Change-Id: I6c5222287c46ca42365917d2deae70bdb626347
Co-Authored-By: Reedip<reedip.banerjee@nectechnologies.in>
Co-Authored-By: RuiChen<chenrui.momo@gmail.com>
Closes-Bug: #1560297
2017-04-05 16:12:40 +00:00
Jenkins
25a77f7c7c Merge "Structure FindFloatingIP() to work without ip_cache" 2017-04-04 20:31:15 +00:00
Reedip
0e42ea3ae3 Structure FindFloatingIP() to work without ip_cache
Currently we have an ip_cache returned from _find_floating_ip() which
is generally ignored as it is not always required.

This patch removes the need of ip_cache in _find_floating_ip().

Co-Authored-By: Sindhu Devale<sindhu.devale@intel.com>

Change-Id: I8b92271185f82f275fa73adad03e9dad70be70e4
2017-04-04 16:27:24 +00:00
Dean Troyer
1686dc54f0 Help/docs cleanups: marker, limit, ip-address metavars
Cleanup help strings and docs for clarity and to keep things consistent:
* --limit metavar should be <num-resource> to indicate what is being counted
* --marker metavar should be <resource> or <resource-id> to indicate the
  type of value being specified
* <*-ip-address> metavars should be just <ip-address> as there is no difference
  in format between fixed and floating IPs
* Move all occurances of '(name or ID)' to end of help text

Change-Id: I2c31746ed6ded3845244e03e57d809f8bc0e6b9d
2017-04-04 03:56:19 +00:00
Dean Troyer
73809a98ed Remove remaining uses of SDK Proxy.session
SDK commit Ie67c240e3caa5e100ce07db3862718195c894748 exposed lingering uses
of Proxy.session in OSC.  Get rid of them.

Change-Id: Icab230f1897a446cf3deb0e3d0550d24e11a0ef3
2017-02-19 15:47:20 -06:00
Dean Troyer
339af2c20b Fix floating IP delete and show by IP
The floating IP delete and show commands did not work using IP addresses
as the selector, only ID.  The SDK floating_ip resource does not support
but OSC does, so we have to do it ourselves.

Now with more SDK 0.9.10 support!

Change-Id: Iea1b57cded6b16a56a06af87ab8f1fa001a3485e
Closes-bug: 1656402
2017-01-14 10:55:12 -06:00
songminglong
47716d1ad3 Add extra filtering options to floating ip list
The patch adds filtering '--long', 'status', '--project',
'--project-domain' and '--router' options to
floating ip list command.

Closes-Bug: #1614379
Partially-Implements: blueprint network-commands-options
Change-Id: I2a02cf23845ff435927d8b481f77249915bd94dc
2016-12-09 14:23:26 +08:00
Nam Nguyen Hoai
ce079d2261 Add '--project' and '--project-domain' options to os cmds
This patch added '--project' and '--project-domain' options to
filter subnets resulted by 'os subnet list',
'os floating ip create' and 'os security group list' commands.

Co-Authored-By: Ha Van Tu <tuhv@vn.fujitsu.com>
Change-Id: I727663d49ffa6aa042fdeb60797f18bb753b0372
Closes-Bug: #1613231
Closes-Bug: #1610909
Closes-Bug: #1613629
Partially-Implements: blueprint network-commands-options
2016-12-01 14:59:10 +07:00
Jenkins
f4536e708d Merge "Add '--network' and other options to floating ip list" 2016-11-18 23:08:20 +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
songminglong
839c5f7a84 Add '--network' and other options to floating ip list
The patch adds filtering '--network', '--port',
'--fixed-ip-address' options to floating ip list command

Partial-Bug: #1614379
Change-Id: I82319d0985d9e864431097c90264a20bf88167cc
2016-11-13 10:11:03 +08:00
Jenkins
874933debd Merge "SDK refactor: Prepare floating ip commands" 2016-11-08 19:47:56 +00:00
Sindhu Devale
86a3c7a415 SDK refactor: Prepare floating ip commands
Prepare the OSC "floating ip" commands for the SDK refactor.

Change-Id: I02052185b3ce0b053acdcf76a0f68d49e6f7e608
Partially-Implements: blueprint network-command-sdk-support
2016-11-03 14:54:11 +00:00
Reedip
8f8a8448a4 Add necessary info to Floating IP list
This patch adds the Network ID and Project ID
for the listed floating IPs when Neutron is enabled
for OpenstackClient.

Change-Id: I823090f2e6d30acd72247d30956f48f4d7672a50
Closes-Bug:#1566090
2016-10-16 05:04:38 +00:00
Ankur Gupta
0981931628 Add --description to Neutron commands
Added simple option for floating ip description when creating
a floating ip.

Added option for create and set router as well.

Partially Implements: blueprint neutron-client-descriptions
Partially Implements: blueprint network-commands-options

Change-Id: Ib8cd8af449e9ff33b980017b2527a6b196894a00
2016-09-23 16:09:17 +00:00
Tang Chen
0aa2304f38 Transfer "ip floating CRUD" to "floating ip CRUD"
This patch does the following things to transfer
"ip floating xxx" to "floating ip xxx":
* Add new command "floating ip create/delete/list/show", and doc.
* Deprecate "ip floating create/delete/list/show" command.

Change-Id: Ib071acaac81988431244e858bddafa7f93403df5
Implements: blueprint rework-ip-commands
Closes-bug: 1555990
Co-Authored-By: Dean Troyer <dtroyer@gmail.com>
2016-07-20 13:37:48 +08:00
Huanxuan Ao
8e2f49fbf2 Support bulk deletion for commands that exist in both network and compute.
Some delete commands in networkv2 are exist in both network
and compute, They can use NetworkAndComputeDeleteclass to
supprot bulk deletion and error handling and the codes are
similar, so I change them all in this patch. The changed
commands including:
1.floating ip delete
2.security group delete
3.security group rule delete
Also, I update unit tests and docs for these commands in this patch.

Change-Id: I6c94c3d10ba579ddd9b14d17673c821e3481fd8a
Partially-Implements: blueprint multi-argument-network
2016-06-15 17:23:39 +08: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
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
Tang Chen
860dbc132d [Floating IP] Neutron support for "ip floating create" command
This patch adds --subnet, --port, --floating-ip-address
and --fixed-ip-address options only. Project related options
will be added in another patch because it relates to identity
v2 and v3, which will make the unit tests too complicated in
one single patch.

Change-Id: I3cce4404a114ff128b74e4596f0e847be2846b17
Partial-Bug: 1519502
Related-to: blueprint neutron-client
2016-03-24 09:07:25 +08: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