Commit graph

61 commits

Author SHA1 Message Date
Jenkins
95263a0b8c Merge "Minor typo in help text" 2016-02-04 00:43:09 +00:00
Jenkins
7903e53971 Merge "Refactor security group delete to use SDK" 2016-02-03 21:01:31 +00:00
Jenkins
3763d75dba Merge "Network: Abstract get_body() out to be a private helper." 2016-02-03 21:01:23 +00:00
Jenkins
65f8845ea8 Merge "Add "os port show" command" 2016-02-03 21:01:17 +00:00
Jenkins
66df8d1413 Merge "Add availability zone support for router commands" 2016-02-03 21:00:48 +00:00
Jas
962389f404 Minor typo in help text
fix misspelled 'project' in router-create help text

Change-Id: I4874563c0dd7ca35ef153cf24b99e357c0c076b9
2016-02-03 14:38:04 -06:00
Richard Theis
580b0aff88 Refactor security group delete to use SDK
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
2016-02-02 09:04:51 -06:00
Richard Theis
981621e984 Add "os port show" command
Add "os port show" command.

Change-Id: Id87c81640e74c60ae8f247c722c64fdadff022a2
Partial-Bug: #1519909
Partially-Implements: blueprint neutron-client
2016-02-02 08:40:05 -06: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
77ce1c17a0 Consume openstackclient.common.command in subnet/port
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
2016-02-02 11:03:07 +09: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
Jenkins
a4b05b426e Merge "Add availability zone support for network commands" 2016-01-31 07:33:08 +00:00
Jas
c0d2120883 Add availability zone support for router commands
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
2016-01-29 09:52:02 -06: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
Dean Troyer
db458d7dec Use correct terminology for subnets
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
2016-01-27 09:13:46 -06:00
Terry Howe
ffcfff6f3e Subnet List
Subnet list command

Partially implements: blueprint neutron-client
Partial-Bug: #1523258
Change-Id: I3c0748074a6511ff92500516b3129886d2476eed
2016-01-25 21:57:54 +13:00
SaiKiran
3168e2297d Add support to delete the ports
This patch adds "port delete" command to osc.

Change-Id: I5c92b2f573249df4e6551506584ccafb4ff290b2
Implements: blueprint neutron-client
Partial-Bug: #1519909
2016-01-20 10:29:16 +05:30
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
Tang Chen
408dc7b290 Router: Add "router show" command using SDK
This patch adds "router show" command to osc using sdk.

Change-Id: Idb0f7f0376926e97f9f70a52ef21511e7ffa9d92
Implements: blueprint neutron-client
Partial-bug: #1519503
2015-12-17 09:19:40 +08:00
Tang Chen
8a805dae0c Router: Add "router set" command using SDK
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
2015-12-17 00:20:14 +08:00
Tang Chen
3364855a22 Router: Add "router delete" command using SDK
This patch adds "router delete" command to osc using sdk.

Change-Id: I47d0ca7f7984942ffceaeb1c9ac69efd09145f40
Implements: blueprint neutron-client
Partial-bug: #1519503
2015-12-16 14:14:41 +08:00
Tang Chen
6158ebb0e0 Router: Add "router create" command using SDK
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
2015-12-15 09:42:41 +08:00
Tang Chen
3278b3a022 Router: Add "router list" command using SDK
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
2015-12-11 18:07:47 +00: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
Terry Howe
7aa6e5e36c SDK integration extensions and server create networks
Finish up the SDK integration with server create network and port
find and extension list.

Change-Id: I18dbada784d8aa92a45a937f251023ddf899c53e
2015-12-09 11:39:20 -07: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
Tang Chen
2a2cb4f75d Migrate "network show" command to use SDK.
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>
2015-12-09 09:30:13 +08:00
Tang Chen
45c644d428 Migrate "network set" command to use SDK.
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>
2015-12-09 09:29:54 +08:00
Tang Chen
511e862294 Migrate "network delete" command to use SDK.
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>
2015-12-09 09:29:39 +08:00
Tang Chen
0b4fb0bb66 Migrate "network create" command to use SDK.
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>
2015-12-09 09:29:26 +08:00
Tang Chen
56150de224 Migrate "network list" command to new version using SDK.
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>
2015-12-08 23:24:20 +08:00
Tang Chen
481b711fae SDK integration: Add a temporary method to create network client using sdk.
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>
2015-12-07 22:44:23 +08:00
Tang Chen
a2047d3f9f Trivial: Fix typo in find() in network.
Change-Id: Ic54fbb9160adefe3d025d537125e125128f75ee6
2015-11-27 16:52:56 +08:00
Monty Taylor
441543d67f Set default network api to 2.0 instead of 2
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
2015-11-09 09:31:37 -05:00
TerryHowe
b3335b3474 Do not set default versions in parsed args
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
2015-07-18 06:28:09 -06:00
Jenkins
bbe71eb9a3 Merge "Rename endpoint type to interface" 2015-07-17 13:55:47 +00:00
TerryHowe
36391a81a3 Rename endpoint type to interface
Change-Id: I4e21d09bc747e8210f4f79a1d6c4c7ccf2f25d1c
Closes-Bug: #1454392
2015-07-15 10:11:59 -06:00
TerryHowe
2d4a737160 Remove the --dhcp option to network list
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
2015-07-08 11:21:41 -06:00
Jenkins
ee64c2fa6b Merge "Add --os-endpoint-type cli optional argument" 2015-07-03 02:48:47 +00:00
Roxana Gherle
5521e4c504 Add --os-endpoint-type cli optional argument
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
2015-07-02 10:10:46 -07:00
Guojian Shao
8899bc4162 fix confused domain argument for network create v2
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
2015-06-26 12:08:22 +08:00
Colleen Murphy
6c224f5acf Add project and domain params to network create
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
2015-03-19 23:49:02 -07:00
Dean Troyer
748e0ab6ce Begin low-level API for Network v2
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
2015-01-22 10:06:15 -06:00
Dean Troyer
20ec40e222 Command docs: network
Change-Id: Ia88b6c0ca5205fa5bfc3efa06ac7f84c4a9e5d4e
2015-01-21 17:49:43 -06:00
Vladimir Eremin
3296781b2c Use session for neutron client
python-openstack client is now using sessions to create clients. This
patch implements creating Network client using sessions.

Related to c3c6edbe8a

Change-Id: If90ac705eb11dfc1e3abbe2ce18c3d8ccefdbdfb
Closes-Bug: 1411179
2015-01-15 10:33:39 +00:00
wanghong
470b7e53a8 add multi-delete support for compute/image/net/volume
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
2014-12-23 09:31:10 +08:00
Dean Troyer
2166d7d3af Remove ClientManager._service_catalog
Anything that needs a service catalog can get it directly from
auth_ref.service_catalog, no need to carry the extra attribute.

ClientManager.get_endpoint_for_service_type() reamins the proper
method to get an endpoint for clients that still need one directly.

Change-Id: I809091c9c71d08f29606d7fd8b500898ff2cb8ae
2014-10-18 00:01:52 -05:00
Dean Troyer
0de67016c7 Remove now-unnecessary client creation hacks
Clients that can use ksc Session don't need the old junk to
fake auth anymore:
* compute
* volume

Clients that still need to be fed credentials can pick directly
from the auth object in clientmanager.  The _token attribute is
removed, the token can be retrieved from the auth object:

  openstackclient/tests/common/test_clientmanager.py

This change will break any plugin that relies on getting a token
from instance._token. They should be updated to use the above, or
preferable, to use keystoneclient.session.Session to create its
HTTP interface object.

Change-Id: I877a29de97a42f85f12a14c274fc003e6fba5135
2014-10-18 00:01:45 -05:00