From fcced290475d03767cebaa63744fc7055ec8e288 Mon Sep 17 00:00:00 2001 From: David Ames Date: Thu, 27 Apr 2017 11:21:03 -0700 Subject: [PATCH] Enable Zesty-Ocata Amulet Tests - Turn on Zesty-Ocata Amulet test definitions. - Standardize test-requirements.txt - Sync charm helpers for various fixes Change-Id: I3ac6b300af07acd01d4e05259dac1b88b135445b --- src/metadata.yaml | 2 +- src/test-requirements.txt | 35 +++++++++++++++++++---------- src/tests/basic_deployment.py | 13 +++++------ src/tests/gate-basic-yakkety-newton | 10 +++++++++ src/tests/gate-basic-zesty-ocata | 0 src/tox.ini | 2 +- tox.ini | 6 +++-- 7 files changed, 45 insertions(+), 23 deletions(-) create mode 100755 src/tests/gate-basic-yakkety-newton mode change 100644 => 100755 src/tests/gate-basic-zesty-ocata diff --git a/src/metadata.yaml b/src/metadata.yaml index 91ae530..80b1878 100644 --- a/src/metadata.yaml +++ b/src/metadata.yaml @@ -12,8 +12,8 @@ tags: - openstack series: - xenial - - zesty - yakkety + - zesty subordinate: false requires: shared-db: diff --git a/src/test-requirements.txt b/src/test-requirements.txt index ec50ece..3cb4ae7 100644 --- a/src/test-requirements.txt +++ b/src/test-requirements.txt @@ -1,22 +1,33 @@ -# charm-proof +# The order of packages is significant, because pip processes them in the order +# of appearance. Changing the order has an impact on the overall integration +# process, which may cause wedges in the gate later. +coverage>=3.6 +mock>=1.2 +flake8>=2.2.4,<=2.4.1 +os-testr>=0.4.1 charm-tools>=2.0.0 +requests==2.6.0 # amulet deployment helpers bzr+lp:charm-helpers#egg=charmhelpers # BEGIN: Amulet OpenStack Charm Helper Requirements # Liberty client lower constraints amulet>=1.14.3,<2.0 bundletester>=0.6.1,<1.0 -python-keystoneclient>=1.7.1,<2.0 -python-barbicanclient>=4.0.1,<5.0 -python-designateclient>=1.5,<2.0 -python-cinderclient>=1.4.0,<2.0 -python-glanceclient>=1.1.0,<2.0 -python-heatclient>=0.8.0,<1.0 -python-neutronclient>=3.1.0,<4.0 -python-novaclient>=2.30.1,<3.0 -python-openstackclient>=1.7.0,<2.0 -python-swiftclient>=2.6.0,<3.0 -python-manilaclient>=1.8.1,<2.0 +aodhclient>=0.1.0 +python-barbicanclient>=4.0.1 +python-ceilometerclient>=1.5.0 +python-cinderclient>=1.4.0 +python-designateclient>=1.5 +python-glanceclient>=1.1.0 +python-heatclient>=0.8.0 +python-keystoneclient>=1.7.1 +python-manilaclient>=1.8.1 +python-neutronclient>=3.1.0 +python-novaclient>=2.30.1 +python-openstackclient>=1.7.0 +python-swiftclient>=2.6.0 pika>=0.10.0,<1.0 distro-info # END: Amulet OpenStack Charm Helper Requirements +# NOTE: workaround for 14.04 pip/tox +pytz diff --git a/src/tests/basic_deployment.py b/src/tests/basic_deployment.py index eedda70..b26f006 100644 --- a/src/tests/basic_deployment.py +++ b/src/tests/basic_deployment.py @@ -45,7 +45,7 @@ class ManilaBasicDeployment(OpenStackAmuletDeployment): self._deploy() u.log.info('Waiting on extended status checks...') - exclude_services = ['mysql', ] + exclude_services = [] self._auto_wait_for_status(exclude_services=exclude_services) self._initialize_tests() @@ -59,8 +59,7 @@ class ManilaBasicDeployment(OpenStackAmuletDeployment): """ this_service = {'name': 'manila'} other_services = [ - {'name': 'mysql', - 'location': 'cs:percona-cluster', + {'name': 'percona-cluster', 'constraints': {'mem': '3072M'}}, {'name': 'rabbitmq-server'}, {'name': 'keystone'}, @@ -72,11 +71,11 @@ class ManilaBasicDeployment(OpenStackAmuletDeployment): def _add_relations(self): """Add all of the relations for the services.""" relations = { - 'manila:shared-db': 'mysql:shared-db', + 'manila:shared-db': 'percona-cluster:shared-db', 'manila:amqp': 'rabbitmq-server:amqp', 'manila:identity-service': 'keystone:identity-service', 'manila:manila-plugin': 'manila-generic:manila-plugin', - 'keystone:shared-db': 'mysql:shared-db', + 'keystone:shared-db': 'percona-cluster:shared-db', } super(ManilaBasicDeployment, self)._add_relations(relations) @@ -103,7 +102,7 @@ class ManilaBasicDeployment(OpenStackAmuletDeployment): """Perform final initialization before tests get run.""" # Access the sentries for inspecting service units self.manila_sentry = self.d.sentry['manila'][0] - self.mysql_sentry = self.d.sentry['mysql'][0] + self.percona_cluster_sentry = self.d.sentry['percona-cluster'][0] self.keystone_sentry = self.d.sentry['keystone'][0] self.rabbitmq_sentry = self.d.sentry['rabbitmq-server'][0] u.log.debug('openstack release val: {}'.format( @@ -112,7 +111,7 @@ class ManilaBasicDeployment(OpenStackAmuletDeployment): self._get_openstack_release_string())) keystone_ip = self.keystone_sentry.relation( - 'shared-db', 'mysql:shared-db')['private-address'] + 'shared-db', 'percona-cluster:shared-db')['private-address'] # We need to auth either to v2.0 or v3 keystone if self._keystone_version == '2': diff --git a/src/tests/gate-basic-yakkety-newton b/src/tests/gate-basic-yakkety-newton new file mode 100755 index 0000000..238c0a6 --- /dev/null +++ b/src/tests/gate-basic-yakkety-newton @@ -0,0 +1,10 @@ +#!/usr/bin/env python + +"""Amulet tests on a basic manila deployment on yakkety-newton +""" + +from basic_deployment import ManilaBasicDeployment + +if __name__ == '__main__': + deployment = ManilaBasicDeployment(series='yakkety') + deployment.run_tests() diff --git a/src/tests/gate-basic-zesty-ocata b/src/tests/gate-basic-zesty-ocata old mode 100644 new mode 100755 diff --git a/src/tox.ini b/src/tox.ini index 479d7bb..276db2f 100644 --- a/src/tox.ini +++ b/src/tox.ini @@ -10,7 +10,7 @@ setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 AMULET_SETUP_TIMEOUT=2700 whitelist_externals = juju -passenv = HOME TERM AMULET_* +passenv = HOME TERM AMULET_* CS_API_* deps = -r{toxinidir}/test-requirements.txt install_command = pip install --allow-unverified python-apt {opts} {packages} diff --git a/tox.ini b/tox.ini index 0f8d053..3ba2b23 100644 --- a/tox.ini +++ b/tox.ini @@ -1,3 +1,6 @@ +# Source charm: ./tox.ini +# This file is managed centrally by release-tools and should not be modified +# within individual charm repos. [tox] skipsdist = True envlist = pep8,py34,py35 @@ -7,7 +10,6 @@ skip_missing_interpreters = True setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 TERM=linux - INTERFACE_PATH={toxinidir}/interfaces LAYER_PATH={toxinidir}/layers INTERFACE_PATH={toxinidir}/interfaces JUJU_REPOSITORY={toxinidir}/build @@ -41,7 +43,7 @@ deps = -r{toxinidir}/test-requirements.txt commands = ostestr {posargs} [testenv:pep8] -basepython = python2.7 +basepython = python3.5 deps = -r{toxinidir}/test-requirements.txt commands = flake8 {posargs} src unit_tests