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:
parent
c4e455c660
commit
9d03706ba8
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
build
|
||||
*.pyc
|
||||
*.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
|
||||
|
||||
from tempest import config
|
||||
from tempest.test_discover import plugins
|
||||
|
||||
from rhostest_tempest_plugin import config as project_config
|
||||
|
||||
|
||||
class RHOSTempestPlugin(plugins.TempestPlugin):
|
||||
def load_tests(self):
|
||||
@ -28,7 +31,8 @@ class RHOSTempestPlugin(plugins.TempestPlugin):
|
||||
return full_test_dir, base_path
|
||||
|
||||
def register_opts(self, conf):
|
||||
pass
|
||||
config.register_opt_group(conf, project_config.whitebox_plugin_group,
|
||||
project_config.WhiteboxPluginGroup)
|
||||
|
||||
def get_opt_lists(self):
|
||||
pass
|
||||
|
Loading…
x
Reference in New Issue
Block a user