def _set_environment_specific_options(self, container_opts={}): """ This function is used to setup these fields: namespace, log_prefix, and logfiles_links_source. """ logger.info('setup_namespace_and_metadata: long_id=' + self.long_id) _map = container_opts.get('long_id_to_namespace_map', {}) if self.long_id in _map: self.namespace = _map[self.long_id] self.log_prefix = '' self.logfiles_links_source = [] return host_namespace = container_opts.get('host_namespace', 'undefined') options = defaults.DEFAULT_CRAWL_OPTIONS default_logs = options['logcrawler']['default_log_files'] try: _options = { 'root_fs': self.root_fs, 'type': 'docker', 'name': self.name, 'host_namespace': host_namespace, 'container_logs': default_logs } runtime_env = plugins_manager.get_runtime_env_plugin() namespace = runtime_env.get_container_namespace( self.long_id, _options) if not namespace: _env = runtime_env.get_environment_name() logger.warning('Container %s does not have %s ' 'metadata.' % (self.short_id, _env)) raise ContainerInvalidEnvironment('') self.namespace = namespace self.log_prefix = runtime_env.get_container_log_prefix( self.long_id, _options) self.logfiles_links_source.extend( runtime_env.get_container_log_file_list( self.long_id, _options)) except ValueError: # XXX-kollerr: plugins are not supposed to throw ValueError logger.warning('Container %s does not have a valid alchemy ' 'metadata json file.' % self.short_id) raise ContainerInvalidEnvironment()
def _set_environment_specific_options(self, container_opts={}): """ This function is used to setup these environment specific fields: namespace, log_prefix, and logfile_links. The environment is defined by the --environment argument. """ logger.info('setup_namespace_and_metadata: long_id=' + self.long_id) host_namespace = container_opts.get('host_namespace', 'undefined') try: _options = { 'root_fs': self.root_fs, 'type': 'docker', 'name': self.name, 'host_namespace': host_namespace, 'container_logs': DEFAULT_LOG_FILES } env = plugins_manager.get_runtime_env_plugin() namespace = env.get_container_namespace(self.long_id, _options) if not namespace: _env = env.get_environment_name() logger.warning('Container %s does not have %s ' 'metadata.' % (self.short_id, _env)) raise ContainerInvalidEnvironment('') self.namespace = namespace self.log_prefix = env.get_container_log_prefix( self.long_id, _options) self.logs_list_input.extend([ LogFileLink(name=log['name']) for log in env.get_container_log_file_list( self.long_id, _options) ]) except ValueError: # XXX-kollerr: plugins are not supposed to throw ValueError logger.warning('Container %s does not have a valid alchemy ' 'metadata json file.' % self.short_id) raise ContainerInvalidEnvironment()
def _set_environment_specific_options(self, container_opts={}): logger.info('setup_namespace_and_metadata: long_id=' + self.long_id) _map = container_opts.get('long_id_to_namespace_map', {}) if self.long_id in _map: self.namespace = _map[self.long_id] self.log_prefix = '' self.logfiles_links_source = [] return host_namespace = container_opts.get('host_namespace', 'undefined') options=defaults.DEFAULT_CRAWL_OPTIONS default_logs = options['logcrawler']['default_log_files'] try: _options = {'root_fs': self.root_fs, 'type': 'docker', 'name': self.name, 'host_namespace': host_namespace, 'container_logs': default_logs} runtime_env = plugins_manager.get_runtime_env_plugin() namespace = runtime_env.get_container_namespace( self.long_id, _options) if not namespace: _env = runtime_env.get_environment_name() logger.warning('Container %s does not have %s ' 'metadata.' % (_env, self.short_id)) raise ContainerInvalidEnvironment('') self.namespace = namespace self.log_prefix = runtime_env.get_container_log_prefix( self.long_id, _options) self.logfiles_links_source.extend(runtime_env.get_container_log_file_list( self.long_id, _options)) except ValueError: # XXX-kollerr: plugins are not supposed to throw ValueError logger.warning('Container %s does not have a valid alchemy ' 'metadata json file.' % self.short_id) raise ContainerInvalidEnvironment()
def _set_environment_specific_options(self): """ This function is used to setup these environment specific fields: namespace, log_prefix, and logfile_links. """ logger.info('setup_namespace_and_metadata: long_id=' + self.long_id) try: _options = { 'root_fs': self.root_fs, 'type': 'docker', 'name': self.name, 'host_namespace': self.host_namespace, 'container_logs': DEFAULT_LOG_FILES} env = plugins_manager.get_runtime_env_plugin() namespace = env.get_container_namespace( self.long_id, _options) if not namespace: _env = env.get_environment_name() logger.warning('Container %s does not have %s ' 'metadata.' % (self.short_id, _env)) raise ContainerInvalidEnvironment('') self.namespace = namespace self.log_prefix = env.get_container_log_prefix( self.long_id, _options) self.logs_list_input.extend([LogFileLink(name=log['name']) for log in env.get_container_log_file_list( self.long_id, _options)]) except ValueError: # XXX-kollerr: plugins are not supposed to throw ValueError logger.warning('Container %s does not have a valid alchemy ' 'metadata json file.' % self.short_id) raise ContainerInvalidEnvironment()