python-novaclient/novaclient/tests/functional/api/test_servers.py
Ralf Haferkamp 8a2ed13620 Allow to specify a network for functional tests
Currently the tests just attach instances to the first network returned
by "net-list". That might however not be the right thing in some
environments. This change allows to override the default network via the
environment variable "OS_NOVACLIENT_NETWORK". If not specified the
test will fallback to the old behaviour and just use the first network.

Closes-Bug: #1510975
Change-Id: Ie682111127584a33d8e96377d812d3a6352c760d
2016-02-16 12:43:04 +01:00

37 lines
1.3 KiB
Python

# 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 time
from novaclient.tests.functional import base
class TestServersAPI(base.ClientTestBase):
def test_server_ips(self):
server_name = "test_server"
initial_server = self.client.servers.create(
server_name, self.image, self.flavor,
nics=[{"net-id": self.network.id}])
self.addCleanup(initial_server.delete)
for x in range(60):
server = self.client.servers.get(initial_server)
if server.status == "ACTIVE":
break
else:
time.sleep(1)
else:
self.fail("Server %s did not go ACTIVE after 60s" % server)
ips = self.client.servers.ips(server)
self.assertIn(self.network.label, ips)