From 773b506a6466eb2c6286d1f50c6837364e145246 Mon Sep 17 00:00:00 2001 From: Ken'ichi Ohmichi Date: Tue, 26 Jan 2016 01:58:02 +0000 Subject: Migrated 2 network clients from tempest This migrates the above files from tempest. This includes tempest commits: * agents_client.py : I505fa196c574027692497848d235781d903cb9f6 * subnetpools_client.py: I405a896b4da0c5cb5bc87622d07498c06932f406 to see the commit history for these files refer to the above Change-Ids in the tempest repository. Partially implements blueprint migrate-service-clients-to-tempest-lib Change-Id: I97b67e2385452db6ef59bc4b8c63c211ca119bc2 --- tempest_lib/services/network/agents_client.py | 68 ++++++++++++++++++++++ tempest_lib/services/network/subnetpools_client.py | 40 +++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 tempest_lib/services/network/agents_client.py create mode 100644 tempest_lib/services/network/subnetpools_client.py diff --git a/tempest_lib/services/network/agents_client.py b/tempest_lib/services/network/agents_client.py new file mode 100644 index 0000000..21d4839 --- /dev/null +++ b/tempest_lib/services/network/agents_client.py @@ -0,0 +1,68 @@ +# Copyright 2015 NEC Corporation. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from tempest_lib.services.network import base + + +class AgentsClient(base.BaseNetworkClient): + + def update_agent(self, agent_id, **kwargs): + """Update agent.""" + # TODO(piyush): Current api-site doesn't contain this API description. + # After fixing the api-site, we need to fix here also for putting the + # link to api-site. + # LP: https://bugs.launchpad.net/openstack-api-site/+bug/1526673 + uri = '/agents/%s' % agent_id + return self.update_resource(uri, kwargs) + + def show_agent(self, agent_id, **fields): + uri = '/agents/%s' % agent_id + return self.show_resource(uri, **fields) + + def list_agents(self, **filters): + uri = '/agents' + return self.list_resources(uri, **filters) + + def list_routers_on_l3_agent(self, agent_id): + uri = '/agents/%s/l3-routers' % agent_id + return self.list_resources(uri) + + def create_router_on_l3_agent(self, agent_id, **kwargs): + # TODO(piyush): Current api-site doesn't contain this API description. + # After fixing the api-site, we need to fix here also for putting the + # link to api-site. + # LP: https://bugs.launchpad.net/openstack-api-site/+bug/1526670 + uri = '/agents/%s/l3-routers' % agent_id + return self.create_resource(uri, kwargs) + + def delete_router_from_l3_agent(self, agent_id, router_id): + uri = '/agents/%s/l3-routers/%s' % (agent_id, router_id) + return self.delete_resource(uri) + + def list_networks_hosted_by_one_dhcp_agent(self, agent_id): + uri = '/agents/%s/dhcp-networks' % agent_id + return self.list_resources(uri) + + def delete_network_from_dhcp_agent(self, agent_id, network_id): + uri = '/agents/%s/dhcp-networks/%s' % (agent_id, + network_id) + return self.delete_resource(uri) + + def add_dhcp_agent_to_network(self, agent_id, **kwargs): + # TODO(piyush): Current api-site doesn't contain this API description. + # After fixing the api-site, we need to fix here also for putting the + # link to api-site. + # LP: https://bugs.launchpad.net/openstack-api-site/+bug/1526212 + uri = '/agents/%s/dhcp-networks' % agent_id + return self.create_resource(uri, kwargs) diff --git a/tempest_lib/services/network/subnetpools_client.py b/tempest_lib/services/network/subnetpools_client.py new file mode 100644 index 0000000..c6b0427 --- /dev/null +++ b/tempest_lib/services/network/subnetpools_client.py @@ -0,0 +1,40 @@ +# Copyright 2015 NEC Corporation. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from tempest_lib.services.network import base + + +class SubnetpoolsClient(base.BaseNetworkClient): + + def list_subnetpools(self, **filters): + uri = '/subnetpools' + return self.list_resources(uri, **filters) + + def create_subnetpool(self, **kwargs): + uri = '/subnetpools' + post_data = {'subnetpool': kwargs} + return self.create_resource(uri, post_data) + + def show_subnetpool(self, subnetpool_id, **fields): + uri = '/subnetpools/%s' % subnetpool_id + return self.show_resource(uri, **fields) + + def update_subnetpool(self, subnetpool_id, **kwargs): + uri = '/subnetpools/%s' % subnetpool_id + post_data = {'subnetpool': kwargs} + return self.update_resource(uri, post_data) + + def delete_subnetpool(self, subnetpool_id): + uri = '/subnetpools/%s' % subnetpool_id + return self.delete_resource(uri) -- cgit v1.2.1