Adds a mysql client lib
The lib reads the connection options from the config file and creates a
normal pymysql client. More info can be read in the doc:
http://mysql-python.sourceforge.net/MySQLdb.html#mysqldb
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
build
|
build
|
||||||
*.pyc
|
*.pyc
|
||||||
*.egg-info
|
*.egg-info
|
||||||
|
.tox
|
||||||
|
|||||||
32
rhostest_tempest_plugin/config.py
Normal file
32
rhostest_tempest_plugin/config.py
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# Copyright 2016
|
||||||
|
# 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_config import cfg
|
||||||
|
|
||||||
|
whitebox_plugin_group = cfg.OptGroup(name="whitebox_plugin",
|
||||||
|
title="Whitebox config options")
|
||||||
|
|
||||||
|
WhiteboxPluginGroup = [
|
||||||
|
cfg.StrOpt("nova_db_hostname",
|
||||||
|
help="Hostname or address of the nova db host."),
|
||||||
|
cfg.StrOpt("nova_db_username",
|
||||||
|
help="Username for the database connection."),
|
||||||
|
cfg.StrOpt("nova_db_password",
|
||||||
|
help="Password for the database connection."),
|
||||||
|
cfg.StrOpt("nova_db_database",
|
||||||
|
help="The database name for the nova database connection."),
|
||||||
|
|
||||||
|
|
||||||
|
]
|
||||||
0
rhostest_tempest_plugin/lib/__init__.py
Normal file
0
rhostest_tempest_plugin/lib/__init__.py
Normal file
41
rhostest_tempest_plugin/lib/mysql.py
Normal file
41
rhostest_tempest_plugin/lib/mysql.py
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# Copyright 2016
|
||||||
|
# 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 MySQLdb
|
||||||
|
|
||||||
|
from tempest import config
|
||||||
|
|
||||||
|
|
||||||
|
CONF = config.CONF
|
||||||
|
|
||||||
|
|
||||||
|
class Client(object):
|
||||||
|
|
||||||
|
def __init__(self, dbconf=CONF):
|
||||||
|
self.db_config = {
|
||||||
|
"username": dbconf.whitebox_plugin.nova_db_username,
|
||||||
|
"password": dbconf.whitebox_plugin.nova_db_password,
|
||||||
|
"host": dbconf.whitebox_plugin.nova_db_hostname,
|
||||||
|
"database": dbconf.whitebox_plugin.nova_db_database,
|
||||||
|
}
|
||||||
|
|
||||||
|
def connect(self):
|
||||||
|
return MySQLdb.connect(
|
||||||
|
self.db_config['host'],
|
||||||
|
self.db_config['username'],
|
||||||
|
self.db_config['password'],
|
||||||
|
self.db_config['database'],
|
||||||
|
)
|
||||||
|
|
||||||
|
default_client = Client()
|
||||||
@@ -16,8 +16,11 @@
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from tempest import config
|
||||||
from tempest.test_discover import plugins
|
from tempest.test_discover import plugins
|
||||||
|
|
||||||
|
from rhostest_tempest_plugin import config as project_config
|
||||||
|
|
||||||
|
|
||||||
class RHOSTempestPlugin(plugins.TempestPlugin):
|
class RHOSTempestPlugin(plugins.TempestPlugin):
|
||||||
def load_tests(self):
|
def load_tests(self):
|
||||||
@@ -28,7 +31,8 @@ class RHOSTempestPlugin(plugins.TempestPlugin):
|
|||||||
return full_test_dir, base_path
|
return full_test_dir, base_path
|
||||||
|
|
||||||
def register_opts(self, conf):
|
def register_opts(self, conf):
|
||||||
pass
|
config.register_opt_group(conf, project_config.whitebox_plugin_group,
|
||||||
|
project_config.WhiteboxPluginGroup)
|
||||||
|
|
||||||
def get_opt_lists(self):
|
def get_opt_lists(self):
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user