indexer: read from environment variable

This allows to set the indexer via an environment variable, and we can
therefore leverage that in the tests.

Change-Id: Ia4101185c4d9d0065b35f3bd1a7842560398314a
This commit is contained in:
Julien Danjou 2016-01-06 18:45:02 +01:00
parent 3326fab10e
commit 24e7df8d10
7 changed files with 9 additions and 21 deletions

View File

@ -14,6 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
import hashlib
import os
import iso8601
from oslo_config import cfg
@ -27,6 +28,7 @@ OPTS = [
cfg.StrOpt('url',
secret=True,
required=True,
default=os.getenv("GNOCCHI_INDEXER_URL"),
help='Indexer driver to use'),
]

View File

@ -28,7 +28,7 @@ from gnocchi import opts
LOG = log.getLogger(__name__)
def prepare_service(args=None, default_opts=None, conf=None,
def prepare_service(args=None, conf=None,
default_config_files=None):
if conf is None:
conf = cfg.ConfigOpts()
@ -55,9 +55,6 @@ def prepare_service(args=None, default_opts=None, conf=None,
conf.set_default("workers", default_workers, group="api")
conf.set_default("workers", default_workers, group="metricd")
for opt, value, group in default_opts or []:
conf.set_default(opt, value, group)
conf(args, project='gnocchi', validate_default_values=True,
default_config_files=default_config_files)
log.setup(conf, 'gnocchi')

View File

@ -337,10 +337,7 @@ class TestCase(base.BaseTestCase):
def setUp(self):
super(TestCase, self).setUp()
default_opts = [('url',
os.environ.get("GNOCCHI_TEST_INDEXER_URL", "null://"),
'indexer')]
self.conf = service.prepare_service([], default_opts,
self.conf = service.prepare_service([],
default_config_files=[])
self.conf.set_override('policy_file',
self.path_get('etc/gnocchi/policy.json'),

View File

@ -80,10 +80,7 @@ class ConfigFixture(fixture.GabbiFixture):
dcf = None
else:
dcf = []
default_opts = [('url',
os.environ.get("GNOCCHI_TEST_INDEXER_URL", "null://"),
'indexer')]
conf = service.prepare_service([], default_opts,
conf = service.prepare_service([],
default_config_files=dcf)
CONF = self.conf = conf

View File

@ -11,8 +11,6 @@
# 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 os
from oslotest import base
from gnocchi import archive_policy
@ -30,10 +28,7 @@ class TestArchivePolicy(base.BaseTestCase):
["*"])
def test_aggregation_methods(self):
default_opts = [('url',
os.environ.get("GNOCCHI_TEST_INDEXER_URL", "null://"),
'indexer')]
conf = service.prepare_service([], default_opts,
conf = service.prepare_service([],
default_config_files=[])
ap = archive_policy.ArchivePolicy("foobar",

View File

@ -16,7 +16,7 @@ mkfifo ${MYSQL_DATA}/out
mysqld --no-defaults --datadir=${MYSQL_DATA} --pid-file=${MYSQL_DATA}/mysql.pid --socket=${MYSQL_DATA}/mysql.socket --skip-networking --skip-grant-tables &> ${MYSQL_DATA}/out &
# Wait for MySQL to start listening to connections
wait_for_line "mysqld: ready for connections." ${MYSQL_DATA}/out
export GNOCCHI_TEST_INDEXER_URL="mysql+pymysql://root@localhost/test?unix_socket=${MYSQL_DATA}/mysql.socket&charset=utf8"
export GNOCCHI_INDEXER_URL="mysql+pymysql://root@localhost/test?unix_socket=${MYSQL_DATA}/mysql.socket&charset=utf8"
mysql --no-defaults -S ${MYSQL_DATA}/mysql.socket -e 'CREATE DATABASE test;'
mkdir $MYSQL_DATA/tooz

View File

@ -6,10 +6,10 @@ PGSQL_PATH=`pg_config --bindir`
PGSQL_PORT=9824
${PGSQL_PATH}/pg_ctl initdb -D ${PGSQL_DATA}
LANGUAGE=C ${PGSQL_PATH}/pg_ctl -w -D ${PGSQL_DATA} -o "-k ${PGSQL_DATA} -p ${PGSQL_PORT}" start > /dev/null
export GNOCCHI_TEST_INDEXER_URL="postgresql:///template1?host=${PGSQL_DATA}&port=${PGSQL_PORT}"
export GNOCCHI_INDEXER_URL="postgresql:///template1?host=${PGSQL_DATA}&port=${PGSQL_PORT}"
mkdir $PGSQL_DATA/tooz
export GNOCCHI_COORDINATION_URL="${GNOCCHI_TEST_INDEXER_URL}"
export GNOCCHI_COORDINATION_URL="${GNOCCHI_INDEXER_URL}"
$*