X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=rwlaunchpad%2Ftest%2Flaunchpad.py;h=0ec3d18857fda093a9132e6aeaa831eca71354cb;hb=e7c1179c61fa136009f1cad67274ec93b524e015;hp=803679280dba34ecce294a6920384d075d505dc8;hpb=07da3570c19de04f015ade251dba8412daf2e280;p=osm%2FSO.git diff --git a/rwlaunchpad/test/launchpad.py b/rwlaunchpad/test/launchpad.py index 80367928..0ec3d188 100755 --- a/rwlaunchpad/test/launchpad.py +++ b/rwlaunchpad/test/launchpad.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 -# +# # Copyright 2016 RIFT.IO Inc # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -282,6 +282,32 @@ class AutoscalerTasklet(rift.vcs.core.Tasklet): plugin_directory = ClassProperty('./usr/lib/rift/plugins/rwautoscaler') plugin_name = ClassProperty('rwautoscaler') +class StagingManagerTasklet(rift.vcs.core.Tasklet): + """ + A class that provide a simple staging area for all tasklets + """ + + def __init__(self, name='StagingManager', uid=None, + config_ready=True, + recovery_action=core.RecoveryType.FAILCRITICAL.value, + data_storetype=core.DataStore.NOSTORE.value, + ): + """ + Creates a StagingMangerTasklet object. + + Arguments: + name - the name of the tasklet + uid - a unique identifier + + """ + super(StagingManagerTasklet, self).__init__(name=name, uid=uid, + config_ready=config_ready, + recovery_action=recovery_action, + data_storetype=data_storetype, + ) + + plugin_directory = ClassProperty('./usr/lib/rift/plugins/rwstagingmgr') + plugin_name = ClassProperty('rwstagingmgr') def get_ui_ssl_args(): """Returns the SSL parameter string for launchpad UI processes""" @@ -343,6 +369,32 @@ class ConfigManagerTasklet(rift.vcs.core.Tasklet): plugin_directory = ClassProperty('./usr/lib/rift/plugins/rwconmantasklet') plugin_name = ClassProperty('rwconmantasklet') +class PackageManagerTasklet(rift.vcs.core.Tasklet): + """ + This class represents a Resource Manager tasklet. + """ + + def __init__(self, name='Package-Manager', uid=None, + config_ready=True, + recovery_action=core.RecoveryType.FAILCRITICAL.value, + data_storetype=core.DataStore.NOSTORE.value, + ): + """ + Creates a PackageManager object. + + Arguments: + name - the name of the tasklet + uid - a unique identifier + """ + super(PackageManagerTasklet, self).__init__(name=name, uid=uid, + config_ready=config_ready, + recovery_action=recovery_action, + data_storetype=data_storetype, + ) + + plugin_directory = ClassProperty('./usr/lib/rift/plugins/rwpkgmgr') + plugin_name = ClassProperty('rwpkgmgr') + class GlanceServer(rift.vcs.NativeProcess): def __init__(self, name="glance-image-catalog", config_ready=True, @@ -393,12 +445,14 @@ class Demo(rift.vcs.demo.Demo): restart_procs = [ VnfmTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), VnsTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), - MonitorTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), + # MonitorTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), MonitoringParameterTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), NsmTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), ResMgrTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), ImageMgrTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), AutoscalerTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), + PackageManagerTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), + StagingManagerTasklet(recovery_action=core.RecoveryType.RESTART.value, data_storetype=datastore), ] if not mgmt_ip_list or len(mgmt_ip_list) == 0: @@ -470,10 +524,10 @@ def main(argv=sys.argv[1:]): # since it doesn't need it and it will fail within containers os.environ["NO_KERNEL_MODS"] = "1" - cleanup_dir_name = None - if os.environ["INSTALLDIR"] in ["/", "/home/rift", "/home/rift/.install"]: - cleanup_dir_name = os.environ["INSTALLDIR"] + "/" + if os.environ["INSTALLDIR"] in ["/", "/home/rift", "/home/rift/.install", + "/usr/rift/build/fc20_debug/install/usr/rift", "/usr/rift"]: + cleanup_dir_name = os.environ["INSTALLDIR"] + "/var/rift/" if args.test_name and not cleanup_dir_name: cleanup_dir_name = "find {rift_install}/var/rift -name '*{pattern}*' -type d".format( \ @@ -486,15 +540,16 @@ def main(argv=sys.argv[1:]): print ("Directory not found exception occurred. Probably running for first time") print ("Zookeper cleanup cmd = {}".format(cleanup_dir_name)) else: - cleanup_dir_name = os.environ["INSTALLDIR"] + "/" + if not cleanup_dir_name: + cleanup_dir_name = os.environ["INSTALLDIR"] + "/" # Remove the persistent Redis data try: for f in os.listdir(cleanup_dir_name): if f.endswith(".aof") or f.endswith(".rdb"): os.remove(os.path.join(cleanup_dir_name, f)) - - # Remove the persistant DTS recovery files + + # Remove the persistant DTS recovery files for f in os.listdir(cleanup_dir_name): if f.endswith(".db"): os.remove(os.path.join(cleanup_dir_name, f)) @@ -518,10 +573,8 @@ def main(argv=sys.argv[1:]): netconf_trace_override=True) confd_ip = socket.gethostbyname(socket.gethostname()) - intf = netifaces.ifaddresses('eth0') - if intf and netifaces.AF_INET in intf and len(intf[netifaces.AF_INET]): - confd_ip = intf[netifaces.AF_INET][0]['addr'] - rift.vcs.logger.configure_sink(config_file=None, confd_ip=confd_ip) + # TODO: This need to be changed when launchpad starts running on multiple VMs + rift.vcs.logger.configure_sink(config_file=None, confd_ip="127.0.0.1") # Start the prepared system system.start()