Test: Adding Initial XOS based test scenarios .
This checks for XOS containers launched , container status,
reach status and ports listening for particular services.
Change-Id: I4c491e4e7033afa84fab4f1c0b0324a236f864af
diff --git a/src/test/setup/cord-test.py b/src/test/setup/cord-test.py
index 5992eba..acb1fd3 100755
--- a/src/test/setup/cord-test.py
+++ b/src/test/setup/cord-test.py
@@ -48,7 +48,9 @@
basename = 'cord-tester'
switch_on_olt = False
IMAGE = 'cord-test/nose'
- ALL_TESTS = ('tls', 'dhcp', 'dhcprelay','igmp', 'subscriber', 'cordSubscriber', 'vrouter', 'flows', 'proxyarp', 'acl')
+ ALL_TESTS = ('tls', 'dhcp', 'dhcprelay','igmp', 'subscriber',
+ 'cordSubscriber', 'vrouter', 'flows', 'proxyarp', 'acl', 'xos', 'fabric',
+ 'cbench', 'cluster')
def __init__(self, tests, instance = 0, num_instances = 1, ctlr_ip = None,
name = '', image = IMAGE, prefix = '', tag = 'candidate',
@@ -713,7 +715,6 @@
Container.dckr.kill(onos)
Container.dckr.remove_container(onos, force=True)
Onos.cleanup_runtime()
-
return 0
def listTests(args):
@@ -842,6 +843,62 @@
return 0
+def xosContainers(args):
+ update_map = { 'xos-base' : False, 'xos-synchronizer-openstack' : False, 'openvpn' : False, 'postgresql' :False,
+ 'xos' : False, 'syndicate-ms': False, 'xos-synchronizer-vtr' : False, 'xos-synchronizer-vsg' : False,
+ 'xos-synchronizer-onos' : False, 'xos-synchronizer-fabric' : False, 'xos-synchronizer-vtn' : False,
+ 'xos-synchronizer-onboarding' : False, }
+
+ if args.xosAllContainers == True or args.xosBase == True:
+ #Start xos base container. Builds container if required
+ xosBase = Xos_base(prefix = Container.IMAGE_PREFIX, update = update_map['xos-base'])
+
+ if args.xosAllContainers == True or args.xosSynOpenstack == True:
+ #Start xos base container. Builds container if required
+ xosSynOpenstack = Xos_sync_openstack(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-openstack'])
+ if args.xosAllContainers == True or args.xosOpenvpn == True:
+ #Start xos base container. Builds container if required
+ xosOpenvpn = Xos_openvpn(prefix = Container.IMAGE_PREFIX, update = update_map['openvpn'])
+
+ if args.xosAllContainers == True or args.xosPostgresql == True:
+ #Start xos postgresql container. Builds container if required
+ xosPostgresql = Xos_postgresql(prefix = Container.IMAGE_PREFIX, update = update_map['postgresql'])
+
+ if args.xosAllContainers == True or args.xosSynchronizer == True:
+ #Start xos synchronizer container. Builds container if required
+ xosSynchronizer = Xos_synchronizer(prefix = Container.IMAGE_PREFIX, update = update_map['xos'])
+
+ if args.xosAllContainers == True or args.xosSyndicateMs == True:
+ #Start xos syndicateMs container. Builds container if required
+ xosSyndicateMs = Xos_syndicate_ss(prefix = Container.IMAGE_PREFIX, update = update_map['syndicate-ms'])
+
+ if args.xosAllContainers == True or args.xosSynVtr == True:
+ #Start xos synchronizer vtr container. Builds container if required
+ xosSynVtr = Xos_syn_vtr(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-vtr'])
+
+ if args.xosAllContainers == True or args.xosSynVsg == True:
+ #Start xos synchronizer vsg container. Builds container if required
+ xosSynVsg = Xos_syn_vsg(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-vsg'])
+
+ if args.xosAllContainers == True or args.xosSynOnos == True:
+ #Start xos synchronizer Onos container. Builds container if required
+ xosSynOnos = Xos_syn_onos(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-onos'])
+
+ if args.xosAllContainers == True or args.xosSynFabric == True:
+ #Start xos synchronizer fabric container. Builds container if required
+ xosSynFabric = Xos_syn_fabric(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-fabric'])
+
+ if args.xosAllContainers == True or args.xosSynVtn == True:
+ #Start xos synchronizer vtn container. Builds container if required
+ xosSynVtn = Xos_syn_vtn(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-vtn'])
+
+ if args.xosAllContainers == True or args.xosSynOnboarding == True:
+ #Start xos synchronizer Onboarding container. Builds container if required
+ xosSynOnboarding = Xos_syn_onboarding(prefix = Container.IMAGE_PREFIX, update = update_map['xos-synchronizer-onboarding'])
+
+ print('Done building xos containers')
+ return 0
+
if __name__ == '__main__':
parser = ArgumentParser(description='Cord Tester')
subparser = parser.add_subparsers()
@@ -898,6 +955,22 @@
help='Specify number of test onos instances to spawn')
parser_setup.set_defaults(func=setupCordTester)
+ parser_xos = subparser.add_parser('xos', help='Building xos into cord tester environment')
+ parser_xos.add_argument('-x', '--xosAllContainers', action='store_true',help='Provision all containers of XOS for CORD')
+ parser_xos.add_argument('-xb', '--xosBase',action='store_true',help='Provision xos base container')
+ parser_xos.add_argument('-xsos', '--xosSyncOpenstack',action='store_true',help='Provision xos synchronizer openstack container')
+ parser_xos.add_argument('-xo', '--xosOpenvpn',action='store_true',help='Provision xos openvpn container')
+ parser_xos.add_argument('-xp', '--xosPostgresql',action='store_true',help='Provision xos postgresql')
+ parser_xos.add_argument('-xs', '--xosSynchronizer',action='store_true',help='Provision xos synchronizer')
+ parser_xos.add_argument('-xsm', '--xosSyndicateMs',action='store_true',help='Provision xos syndicate-ms')
+ parser_xos.add_argument('-xsvtr', '--xosSyncVtr',action='store_true',help='Provision xos synchronizer vtr container')
+ parser_xos.add_argument('-xsvsg', '--xosSyncVsg',action='store_true',help='Provision xos synchronizer vsg container')
+ parser_xos.add_argument('-xsonos', '--xosSyncOnos',action='store_true',help='Provision xos synchronizer onos container')
+ parser_xos.add_argument('-xsfabric', '--xosSyncFabric',action='store_true',help='Provision xos synchronizer fabric container')
+ parser_xos.add_argument('-xsvtn', '--xosSyncVtn',action='store_true',help='Provision xos synchronizer vtn container')
+ parser_xos.add_argument('-xsonb', '--xosSyncOnboarding',action='store_true',help='Provision xos synchronizer onboarding container')
+ parser_xos.set_defaults(func=xosContainers)
+
parser_list = subparser.add_parser('list', help='List test cases')
parser_list.add_argument('-t', '--test', default='all', help='Specify test type to list test cases. '
'Eg: -t tls to list tls test cases.'
@@ -906,8 +979,8 @@
parser_list.set_defaults(func=listTests)
parser_build = subparser.add_parser('build', help='Build cord test container images')
- parser_build.add_argument('image', choices=['quagga', 'radius', 'test', 'all'])
- parser_build.add_argument('-p', '--prefix', default='', type=str, help='Provide container image prefix')
+ parser_build.add_argument('image', choices=['quagga', 'radius', 'test','all'])
+ parser_build.add_argument('-p', '--prefix', default='xosproject', type=str, help='Provide container image prefix')
parser_build.set_defaults(func=buildImages)
parser_metrics = subparser.add_parser('metrics', help='Info of container')