Skip to content

Commit

Permalink
Merge "Support RDBMS backend for schema transformer"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Dec 8, 2016
2 parents 39efa1d + 84f97fa commit 680f1ad
Show file tree
Hide file tree
Showing 21 changed files with 994 additions and 408 deletions.
15 changes: 1 addition & 14 deletions src/config/api-server/tests/test_case.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,23 +70,10 @@ def assert_ifmap_has_ident(self, test_obj):
self.assertTill(self.ifmap_has_ident, obj=test_obj)
# end class ApiServerTestCase

def init_base_db():
try:
connection = "sqlite:///base_db.db"
engine_args = {
'echo': False,
}
engine = sqlalchemy.create_engine(connection, **engine_args)
vnc_rdbms.VncRDBMSClient.create_sqalchemy_models()
vnc_rdbms.Base.metadata.create_all(engine)
except:
pass

class ApiServerRDBMSTestCase(ApiServerTestCase):
@classmethod
def setUpClass(cls, extra_config_knobs=None, extra_mocks=None):
init_base_db()
super(ApiServerRDBMSTestCase, cls).setUpClass(
db="rdbms", extra_config_knobs=extra_config_knobs,
extra_mocks=extra_mocks)
#end class ApiServerRDBMSTestCase
#end class ApiServerRDBMSTestCase
1 change: 0 additions & 1 deletion src/config/api-server/tests/test_crud_basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -3337,7 +3337,6 @@ def test_list_bulk_collection_with_malformed_filters(self):
vn_uuid = vn_objs[0].uuid
vn_uuids = [vn_uuid] +\
['bad-uuid'] * self._vnc_lib.POST_FOR_LIST_THRESHOLD

try:
results = self._vnc_lib.resource_list('virtual-network',
obj_uuids=vn_uuids)
Expand Down
48 changes: 47 additions & 1 deletion src/config/common/tests/test_common.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,16 @@
import contextlib

from vnc_api.vnc_api import *
import cfgm_common.ifmap.client as ifmap_client
import sqlalchemy
import kombu
import discoveryclient.client as disc_client
import cfgm_common.zkclient
from cfgm_common.uve.vnc_api.ttypes import VncApiConfigLog
from cfgm_common import imid
from cfgm_common import vnc_cgitb
from cfgm_common.utils import cgitb_hook
from cfgm_common import vnc_rdbms

from test_utils import *
import bottle
Expand Down Expand Up @@ -294,6 +297,18 @@ def launch_api_server(test_id, listen_ip, listen_port, http_server_port,
vnc_cfg_api_server.main(args_str, server)
#end launch_api_server

def init_rdbms():
try:
connection = "sqlite:///base_db.db"
engine_args = {
'echo': False,
}
engine = sqlalchemy.create_engine(connection, **engine_args)
vnc_rdbms.VncRDBMSClient.create_sqalchemy_models()
vnc_rdbms.Base.metadata.create_all(engine)
except:
pass

def launch_api_server_rdbms(test_id, listen_ip, listen_port, http_server_port,
admin_port, ifmap_port, conf_sections):
db_file = "./test_db_%s.db" % test_id
Expand All @@ -310,13 +325,14 @@ def launch_api_server_rdbms(test_id, listen_ip, listen_port, http_server_port,
args_str = args_str + "--log_local "
args_str = args_str + "--log_file api_server_%s.log " %(test_id)
vnc_cgitb.enable(format='text')

init_rdbms()
try:
os.remove(db_file)
shutil.copyfile('./base_db.db', db_file)
except:
pass


with tempfile.NamedTemporaryFile() as conf, tempfile.NamedTemporaryFile() as logconf:
cfg_parser = generate_conf_file_contents(conf_sections)
cfg_parser.write(conf)
Expand Down Expand Up @@ -346,6 +362,21 @@ def launch_svc_monitor(test_id, api_server_ip, api_server_port):
svc_monitor.main(args_str)
# end launch_svc_monitor

def launch_svc_monitor_rdbms(test_id, api_server_ip, api_server_port):
db_file = "./test_db_%s.db" % test_id

args_str = ""
args_str = args_str + "--api_server_ip %s " % (api_server_ip)
args_str = args_str + "--api_server_port %s " % (api_server_port)
args_str = args_str + "--http_server_port %s " % (get_free_port())
args_str = args_str + "--db_engine rdbms "
args_str = args_str + "--rdbms_connection sqlite:///%s " % db_file
args_str = args_str + "--log_local "
args_str = args_str + "--log_file svc_monitor_%s.log " %(test_id)
args_str = args_str + "--check_service_interval 2 "

svc_monitor.main(args_str)

def kill_svc_monitor(glet):
glet.kill()
svc_monitor.SvcMonitor.reset()
Expand All @@ -369,6 +400,21 @@ def launch_schema_transformer(test_id, api_server_ip, api_server_port):
to_bgp.main(args_str)
# end launch_schema_transformer

def launch_schema_transformer_rdbms(test_id, api_server_ip, api_server_port):
db_file = "./test_db_%s.db" % test_id

args_str = ""
args_str = args_str + "--api_server_ip %s " % (api_server_ip)
args_str = args_str + "--api_server_port %s " % (api_server_port)
args_str = args_str + "--http_server_port %s " % (get_free_port())
args_str = args_str + "--db_engine rdbms "
args_str = args_str + "--rdbms_connection sqlite:///%s " % db_file
args_str = args_str + "--log_local "
args_str = args_str + "--log_file schema_transformer_%s.log " %(test_id)
args_str = args_str + "--trace_file schema_transformer_%s.err " %(test_id)
to_bgp.main(args_str)
# end launch_schema_transforme

def launch_device_manager(test_id, api_server_ip, api_server_port):
args_str = ""
args_str = args_str + "--api_server_ip %s " % (api_server_ip)
Expand Down

0 comments on commit 680f1ad

Please sign in to comment.