예제 #1
0
    def __init__(self, config, name, check_executor, cancel_executor):
        WMS.__init__(self, config, name)
        for executor in [check_executor, cancel_executor]:
            executor.setup(self._log)
        (self._check_executor, self._cancel_executor) = (check_executor,
                                                         cancel_executor)

        if self._name != self.__class__.__name__.upper():
            self._log.info('Using batch system: %s (%s)',
                           self.__class__.__name__, self._name)
        else:
            self._log.info('Using batch system: %s', self._name)

        self._runlib = config.get_work_path('gc-run.lib')
        fp = SafeFile(self._runlib, 'w')
        content = SafeFile(get_path_share('gc-run.lib')).read()
        fp.write(
            content.replace('__GC_VERSION__',
                            __import__('grid_control').__version__))
        fp.close()
        self._path_output = config.get_work_path('output')
        self._path_file_cache = config.get_work_path('files')
        ensure_dir_exists(self._path_output, 'output directory')
        self._path_fail = config.get_work_path('fail')

        # Initialise access token and storage managers

        # UI -> SE -> WN
        self._sm_se_in = config.get_plugin('se input manager',
                                           'SEStorageManager',
                                           cls=StorageManager,
                                           bind_kwargs={'tags': [self]},
                                           pargs=('se', 'se input',
                                                  'SE_INPUT'))
        self._sm_sb_in = config.get_plugin('sb input manager',
                                           'LocalSBStorageManager',
                                           cls=StorageManager,
                                           bind_kwargs={'tags': [self]},
                                           pargs=('sandbox', 'sandbox',
                                                  'SB_INPUT'))
        # UI <- SE <- WN
        self._sm_se_out = config.get_plugin('se output manager',
                                            'SEStorageManager',
                                            cls=StorageManager,
                                            bind_kwargs={'tags': [self]},
                                            pargs=('se', 'se output',
                                                   'SE_OUTPUT'))
        self._sm_sb_out = None

        self._token = config.get_composited_plugin(['proxy', 'access token'],
                                                   'TrivialAccessToken',
                                                   'MultiAccessToken',
                                                   cls=AccessToken,
                                                   bind_kwargs={
                                                       'inherit': True,
                                                       'tags': [self]
                                                   })
        self._output_fn_list = None
예제 #2
0
def main():
	os.chdir(os.path.join(os.path.dirname(__file__), '../..'))
	os.system('git rev-parse --short HEAD > .git_version')
	os.system('git log | grep git-svn > .svn_version')
	for line in SafeFile('.svn_version').iter_close():
		svn_version = int(line.split('@')[1].split()[0])
		break
	git_version = SafeFile('.git_version').read_close().strip()
	svn_version += 1
	logging.critical('%s %s', svn_version, git_version)
	os.unlink('.svn_version')
	os.unlink('.git_version')
	fn = 'packages/grid_control/__init__.py'
	line_list = SafeFile(fn).read().splitlines()
	fp = SafeFile(fn, 'w')
	for line in line_list:
		if line.startswith('__version__'):
			version_tuple = (svn_version / 1000, (svn_version / 100) % 10, svn_version % 100, git_version)
			line = "__version__ = '%d.%d.%d (%s)'" % version_tuple
		fp.write(line + '\n')
	fp.close()
예제 #3
0
	def __init__(self, config, name, check_executor, cancel_executor):
		WMS.__init__(self, config, name)
		for executor in [check_executor, cancel_executor]:
			executor.setup(self._log)
		(self._check_executor, self._cancel_executor) = (check_executor, cancel_executor)

		if self._name != self.__class__.__name__.upper():
			self._log.info('Using batch system: %s (%s)', self.__class__.__name__, self._name)
		else:
			self._log.info('Using batch system: %s', self._name)

		self._runlib = config.get_work_path('gc-run.lib')
		fp = SafeFile(self._runlib, 'w')
		content = SafeFile(get_path_share('gc-run.lib')).read()
		fp.write(content.replace('__GC_VERSION__', __import__('grid_control').__version__))
		fp.close()
		self._path_output = config.get_work_path('output')
		self._path_file_cache = config.get_work_path('files')
		ensure_dir_exists(self._path_output, 'output directory')
		self._path_fail = config.get_work_path('fail')

		# Initialise access token and storage managers

		# UI -> SE -> WN
		self._sm_se_in = config.get_plugin('se input manager', 'SEStorageManager',
			cls=StorageManager, bind_kwargs={'tags': [self]}, pargs=('se', 'se input', 'SE_INPUT'))
		self._sm_sb_in = config.get_plugin('sb input manager', 'LocalSBStorageManager',
			cls=StorageManager, bind_kwargs={'tags': [self]}, pargs=('sandbox', 'sandbox', 'SB_INPUT'))
		# UI <- SE <- WN
		self._sm_se_out = config.get_plugin('se output manager', 'SEStorageManager',
			cls=StorageManager, bind_kwargs={'tags': [self]}, pargs=('se', 'se output', 'SE_OUTPUT'))
		self._sm_sb_out = None

		self._token = config.get_composited_plugin(['proxy', 'access token'], 'TrivialAccessToken',
			'MultiAccessToken', cls=AccessToken, bind_kwargs={'inherit': True, 'tags': [self]})
		self._output_fn_list = None