Use Tempest-lib's compute baremetal_nodes_client

Compute baremetal_nodes_client has been migrated to tempest-lib-
I528505bdd0a51cf720578dc6c5ef4301b72b5ce0

Now Tempest-lib provides this client as stable interface so Tempest
should start using this from lib and remove its own copy.
Also remove other files for this client like response schema, unit tests.

This commits makes Tempest to use compute baremetal_nodes_client
from Tempest-lib.

Change-Id: I2bcfcb9df21d3dfa3c0f511f46006032c0ea632b
diff --git a/tempest/api_schema/response/compute/v2_1/baremetal_nodes.py b/tempest/api_schema/response/compute/v2_1/baremetal_nodes.py
deleted file mode 100644
index d1ee877..0000000
--- a/tempest/api_schema/response/compute/v2_1/baremetal_nodes.py
+++ /dev/null
@@ -1,63 +0,0 @@
-# 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.
-
-import copy
-
-node = {
-    'type': 'object',
-    'properties': {
-        'id': {'type': 'string'},
-        'interfaces': {'type': 'array'},
-        'host': {'type': 'string'},
-        'task_state': {'type': ['string', 'null']},
-        'cpus': {'type': ['integer', 'string']},
-        'memory_mb': {'type': ['integer', 'string']},
-        'disk_gb': {'type': ['integer', 'string']},
-    },
-    'additionalProperties': False,
-    'required': ['id', 'interfaces', 'host', 'task_state', 'cpus', 'memory_mb',
-                 'disk_gb']
-}
-
-list_baremetal_nodes = {
-    'status_code': [200],
-    'response_body': {
-        'type': 'object',
-        'properties': {
-            'nodes': {
-                'type': 'array',
-                'items': node
-            }
-        },
-        'additionalProperties': False,
-        'required': ['nodes']
-    }
-}
-
-baremetal_node = {
-    'status_code': [200],
-    'response_body': {
-        'type': 'object',
-        'properties': {
-            'node': node
-        },
-        'additionalProperties': False,
-        'required': ['node']
-    }
-}
-get_baremetal_node = copy.deepcopy(baremetal_node)
-get_baremetal_node['response_body']['properties']['node'][
-    'properties'].update({'instance_uuid': {'type': ['string', 'null']}})
-get_baremetal_node['response_body']['properties']['node'][
-    'required'].append('instance_uuid')
diff --git a/tempest/clients.py b/tempest/clients.py
index c545f94..9cdc0a5 100644
--- a/tempest/clients.py
+++ b/tempest/clients.py
@@ -20,6 +20,8 @@
 from tempest_lib.services.compute.aggregates_client import AggregatesClient
 from tempest_lib.services.compute.availability_zone_client import \
     AvailabilityZoneClient
+from tempest_lib.services.compute.baremetal_nodes_client import \
+    BaremetalNodesClient
 from tempest_lib.services.identity.v2.token_client import TokenClient
 from tempest_lib.services.identity.v3.token_client import V3TokenClient
 
@@ -31,8 +33,6 @@
 from tempest.services.baremetal.v1.json.baremetal_client import \
     BaremetalClient
 from tempest.services import botoclients
-from tempest.services.compute.json.baremetal_nodes_client import \
-    BaremetalNodesClient
 from tempest.services.compute.json.certificates_client import \
     CertificatesClient
 from tempest.services.compute.json.extensions_client import \
diff --git a/tempest/services/compute/json/baremetal_nodes_client.py b/tempest/services/compute/json/baremetal_nodes_client.py
deleted file mode 100644
index 15f883a..0000000
--- a/tempest/services/compute/json/baremetal_nodes_client.py
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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 oslo_serialization import jsonutils as json
-from six.moves.urllib import parse as urllib
-
-from tempest.api_schema.response.compute.v2_1 import baremetal_nodes \
-    as schema
-from tempest.common import service_client
-
-
-class BaremetalNodesClient(service_client.ServiceClient):
-    """
-    Tests Baremetal API
-    """
-
-    def list_baremetal_nodes(self, **params):
-        """List all baremetal nodes."""
-        url = 'os-baremetal-nodes'
-        if params:
-            url += '?%s' % urllib.urlencode(params)
-        resp, body = self.get(url)
-        body = json.loads(body)
-        self.validate_response(schema.list_baremetal_nodes, resp, body)
-        return service_client.ResponseBody(resp, body)
-
-    def show_baremetal_node(self, baremetal_node_id):
-        """Returns the details of a single baremetal node."""
-        url = 'os-baremetal-nodes/%s' % baremetal_node_id
-        resp, body = self.get(url)
-        body = json.loads(body)
-        self.validate_response(schema.get_baremetal_node, resp, body)
-        return service_client.ResponseBody(resp, body)
diff --git a/tempest/tests/services/compute/test_baremetal_nodes_client.py b/tempest/tests/services/compute/test_baremetal_nodes_client.py
deleted file mode 100644
index 86c035c..0000000
--- a/tempest/tests/services/compute/test_baremetal_nodes_client.py
+++ /dev/null
@@ -1,75 +0,0 @@
-# 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.
-
-import copy
-
-from tempest_lib.tests import fake_auth_provider
-
-from tempest.services.compute.json import baremetal_nodes_client
-from tempest.tests.services.compute import base
-
-
-class TestBareMetalNodesClient(base.BaseComputeServiceTest):
-
-    FAKE_NODE_INFO = {'cpus': '8',
-                      'disk_gb': '64',
-                      'host': '10.0.2.15',
-                      'id': 'Identifier',
-                      'instance_uuid': "null",
-                      'interfaces': [
-                          {
-                              "address": "20::01",
-                              "datapath_id": "null",
-                              "id": 1,
-                              "port_no": None
-                          }
-                      ],
-                      'memory_mb': '8192',
-                      'task_state': None}
-
-    def setUp(self):
-        super(TestBareMetalNodesClient, self).setUp()
-        fake_auth = fake_auth_provider.FakeAuthProvider()
-        self.baremetal_nodes_client = (baremetal_nodes_client.
-                                       BaremetalNodesClient
-                                       (fake_auth, 'compute',
-                                        'regionOne'))
-
-    def _test_bareMetal_nodes(self, operation='list', bytes_body=False):
-        if operation != 'list':
-            expected = {"node": self.FAKE_NODE_INFO}
-            function = self.baremetal_nodes_client.show_baremetal_node
-        else:
-            node_info = copy.deepcopy(self.FAKE_NODE_INFO)
-            del node_info['instance_uuid']
-            expected = {"nodes": [node_info]}
-            function = self.baremetal_nodes_client.list_baremetal_nodes
-
-        self.check_service_client_function(
-            function,
-            'tempest.common.service_client.ServiceClient.get',
-            expected, bytes_body, 200,
-            baremetal_node_id='Identifier')
-
-    def test_list_bareMetal_nodes_with_str_body(self):
-        self._test_bareMetal_nodes()
-
-    def test_list_bareMetal_nodes_with_bytes_body(self):
-        self._test_bareMetal_nodes(bytes_body=True)
-
-    def test_show_bareMetal_node_with_str_body(self):
-        self._test_bareMetal_nodes('show')
-
-    def test_show_bareMetal_node_with_bytes_body(self):
-        self._test_bareMetal_nodes('show', True)