Merge "Have api tests use IPv4"

This commit is contained in:
Jenkins 2016-11-28 18:06:59 +00:00 committed by Gerrit Code Review
commit 80312c2797
4 changed files with 24 additions and 6 deletions

View File

@ -16,6 +16,7 @@
from datetime import datetime
import json
import netaddr
from time import sleep
import uuid
@ -24,6 +25,7 @@ from proboscis.asserts import assert_equal
from proboscis.asserts import assert_not_equal
from proboscis.asserts import assert_raises
from proboscis.asserts import assert_true
from proboscis.asserts import fail
from proboscis import before_class
from proboscis.decorators import time_out
from proboscis import SkipTest
@ -84,7 +86,11 @@ def _execute_query(host, user_name, password, query):
def _get_address(instance_id):
result = instance_info.dbaas_admin.mgmt.instances.show(instance_id)
return result.ip[0]
try:
return next(str(ip) for ip in result.ip
if netaddr.valid_ipv4(ip))
except StopIteration:
fail("No IPV4 ip found")
def _test_configuration_is_applied_to_instance(instance, configuration_id):

View File

@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import netaddr
import os
import re
import time
@ -126,9 +127,14 @@ class InstanceTestInfo(object):
def get_address(self):
result = self.dbaas_admin.mgmt.instances.show(self.id)
if not hasattr(result, 'hostname'):
return result.ip[0]
try:
return next(str(ip) for ip in result.ip
if netaddr.valid_ipv4(ip))
except StopIteration:
fail("No IPV4 ip found")
else:
return result.server['addresses']
return [str(ip) for ip in result.server['addresses']
if netaddr.valid_ipv4(ip)]
def get_local_id(self):
mgmt_instance = self.dbaas_admin.management.show(self.id)

View File

@ -115,8 +115,7 @@ class SqlAlchemyConnection(object):
@staticmethod
def _init_engine(user, password, host):
return session.EngineFacade(
"mysql+pymysql://%s:%s@%s:3306" % (user, password, host),
pool_recycle=1800, echo=True
"mysql+pymysql://%s:%s@%s:3306" % (user, password, host)
).get_engine()

View File

@ -13,7 +13,9 @@
# License for the specific language governing permissions and limitations
# under the License.
import netaddr
import os
from proboscis.asserts import fail
from trove import tests
from trove.tests import util
@ -33,7 +35,12 @@ class ServerSSHConnection(object):
self.user = util.test_config.users.find_user(req_admin)
self.dbaas_admin = util.create_dbaas_client(self.user)
self.instance = self.dbaas_admin.management.show(self.instance_id)
self.ip_address = self.instance.ip[0]
try:
self.ip_address = [str(ip) for ip in self.instance.ip
if netaddr.valid_ipv4(ip)][0]
except Exception:
fail("No IPV4 ip found")
TROVE_TEST_SSH_USER = os.environ.get('TROVE_TEST_SSH_USER')
if TROVE_TEST_SSH_USER and '@' not in self.ip_address:
self.ip_address = TROVE_TEST_SSH_USER + '@' + self.ip_address