Repository: ambari Updated Branches: refs/heads/trunk dc048aaa5 -> 05f1f4aaf
AMBARI-17089. HDFS logs not picked by log feeder on a newly installed cluster with log search with umask 0027 (oleewere) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/05f1f4aa Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/05f1f4aa Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/05f1f4aa Branch: refs/heads/trunk Commit: 05f1f4aafa2eea4ae10e874df41502046ec6b304 Parents: dc048aa Author: oleewere <[email protected]> Authored: Sun Jun 12 14:01:31 2016 +0200 Committer: oleewere <[email protected]> Committed: Sun Jun 12 14:15:15 2016 +0200 ---------------------------------------------------------------------- ambari-agent/conf/unix/ambari-agent | 15 ++-- .../libraries/functions/solr_cloud_util.py | 12 ++- .../ATLAS/0.1.0.2.3/package/scripts/metadata.py | 4 +- .../ATLAS/0.1.0.2.3/package/scripts/params.py | 4 - .../0.5.0/configuration/logfeeder-env.xml | 8 -- .../0.5.0/configuration/logsearch-env.xml | 8 -- .../configuration/logsearch-properties.xml | 3 + .../0.5.0/configuration/logsearch-solr-env.xml | 8 -- .../0.5.0/package/scripts/logfeeder.py | 9 ++- .../LOGSEARCH/0.5.0/package/scripts/params.py | 6 +- .../0.5.0/package/scripts/setup_logfeeder.py | 32 +++++--- .../0.5.0/package/scripts/setup_logsearch.py | 33 ++++++--- .../package/scripts/setup_logsearch_solr.py | 29 ++++++-- .../stacks/2.3/ATLAS/test_metadata_server.py | 15 ++-- .../stacks/2.4/LOGSEARCH/test_logfeeder.py | 78 ++++++++++++-------- .../stacks/2.4/LOGSEARCH/test_logsearch.py | 23 ++++-- .../python/stacks/2.4/LOGSEARCH/test_solr.py | 36 +++++---- .../test/python/stacks/2.4/configs/default.json | 3 +- .../stacks/2.5/ATLAS/test_atlas_server.py | 19 ++--- .../test/python/stacks/2.5/configs/default.json | 1 - ambari-web/app/data/HDP2/site_properties.js | 27 +++---- 21 files changed, 214 insertions(+), 159 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-agent/conf/unix/ambari-agent ---------------------------------------------------------------------- diff --git a/ambari-agent/conf/unix/ambari-agent b/ambari-agent/conf/unix/ambari-agent index b38b872..978e5c6 100755 --- a/ambari-agent/conf/unix/ambari-agent +++ b/ambari-agent/conf/unix/ambari-agent @@ -62,6 +62,7 @@ OK=1 NOTOK=0 current_user=`id -u -n` +current_group=`id -g -n` if [ "$EUID" -ne 0 ] ; then echo "" | sudo -S -l > /dev/null 2>&1 @@ -81,7 +82,7 @@ change_files_permissions() { ambari-sudo.sh mkdir -p "$AMBARI_PID_DIR" ambari-sudo.sh chown -R $current_user "$AMBARI_PID_DIR/" ambari-sudo.sh mkdir -p "$AMBARI_AGENT_LOG_DIR" - ambari-sudo.sh chown -R $current_user "$AMBARI_AGENT_LOG_DIR/" + ambari-sudo.sh chown -R $current_user:$current_group "$AMBARI_AGENT_LOG_DIR/" ambari-sudo.sh chown -R $current_user "/var/lib/ambari-agent/data/" ambari-sudo.sh chown -R $current_user "/var/lib/ambari-agent/cache/" ambari-sudo.sh chown $current_user "/usr/lib/ambari-agent/" @@ -161,16 +162,16 @@ case "$1" in fi fi change_files_permissions - + echo "Starting ambari-agent" - + if [ "$AMBARI_AGENT_RUN_IN_FOREGROUND" == true ] ; then - $PYTHON $AMBARI_AGENT_PY_SCRIPT "$@" > $OUTFILE 2>&1 + $PYTHON $AMBARI_AGENT_PY_SCRIPT "$@" > $OUTFILE 2>&1 exit $? fi - + nohup $PYTHON $AMBARI_AGENT_PY_SCRIPT "$@" > $OUTFILE 2>&1 & - + sleep 2 PID=$! echo "Verifying $AMBARI_AGENT process status..." @@ -232,7 +233,7 @@ case "$1" in echo "Stopping $AMBARI_AGENT" change_files_permissions $PYTHON $AGENT_SCRIPT stop - + status ambari-agent 2>/dev/null | grep start 1>/dev/null if [ "$?" -eq 0 ] ; then echo "Stopping $AMBARI_AGENT upstart job" http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-common/src/main/python/resource_management/libraries/functions/solr_cloud_util.py ---------------------------------------------------------------------- diff --git a/ambari-common/src/main/python/resource_management/libraries/functions/solr_cloud_util.py b/ambari-common/src/main/python/resource_management/libraries/functions/solr_cloud_util.py index 73619a3..e0a30ed 100644 --- a/ambari-common/src/main/python/resource_management/libraries/functions/solr_cloud_util.py +++ b/ambari-common/src/main/python/resource_management/libraries/functions/solr_cloud_util.py @@ -76,19 +76,27 @@ def create_collection(zookeeper_quorum, solr_znode, collection, config_set, java def setup_solr_client(config, user = None, group = None): solr_user = config['configurations']['logsearch-solr-env']['logsearch_solr_user'] if user is None else user - solr_group = config['configurations']['logsearch-solr-env']['logsearch_solr_group'] if group is None else group + solr_group = config['configurations']['cluster-env']['user_group'] if group is None else group solr_client_dir = '/usr/lib/ambari-logsearch-solr-client' solr_client_log_dir = default('/configurations/logsearch-solr-env/logsearch_solr_client_log_dir', '/var/log/ambari-logsearch-solr-client') solr_client_log = format("{solr_client_log_dir}/solr-client.log") solr_client_log4j_content = config['configurations']['logsearch-solr-client-log4j']['content'] - Directory([solr_client_dir, solr_client_log_dir], + Directory(solr_client_log_dir, mode=0755, cd_access='a', owner=solr_user, group=solr_group, create_parents=True ) + Directory(solr_client_dir, + mode=0755, + cd_access='a', + owner=solr_user, + group=solr_group, + create_parents=True, + recursive_ownership=True + ) solrCliFilename = format("{solr_client_dir}/solrCloudCli.sh") File(solrCliFilename, mode=0755, http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py index 2525d9f..1abf2c1 100644 --- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py +++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/metadata.py @@ -121,7 +121,7 @@ def upload_conf_set(config_set, random_num): config_set=config_set, tmp_config_set_dir=tmp_config_set_folder, java64_home=params.java64_home, - user=params.logsearch_solr_user) + user=params.metadata_user) def create_collection(collection, config_set): import params @@ -132,6 +132,6 @@ def create_collection(collection, config_set): collection = collection, config_set=config_set, java64_home=params.java64_home, - user=params.logsearch_solr_user, + user=params.metadata_user, shards=params.atlas_solr_shards, replication_factor = params.logsearch_solr_replication_factor) http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py index 8b7120a..37236fe 100644 --- a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py +++ b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/scripts/params.py @@ -142,10 +142,6 @@ logsearch_solr_replication_factor = 2 if len(logsearch_solr_hosts) > 1 else 1 atlas_solr_shards = default("/configurations/atlas-env/atlas_solr-shards", 1) has_logsearch_solr = len(logsearch_solr_hosts) > 0 -if has_logsearch_solr: - logsearch_solr_user = config['configurations']['logsearch-solr-env']['logsearch_solr_user'] - logsearch_solr_group = config['configurations']['logsearch-solr-env']['logsearch_solr_group'] - # zookeeper zookeeper_hosts = config['clusterHostInfo']['zookeeper_hosts'] zookeeper_port = default('/configurations/zoo.cfg/clientPort', None) http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-env.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-env.xml index 0b6e7ab..d27067c 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-env.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-env.xml @@ -54,14 +54,6 @@ <on-ambari-upgrade add="true"/> </property> <property> - <name>logfeeder_group</name> - <value>logfeeder</value> - <property-type>GROUP</property-type> - <description>logfeeder group</description> - <display-name>Logsfeeder Group</display-name> - <on-ambari-upgrade add="true"/> - </property> - <property> <name>logfeeder_max_mem</name> <value>512m</value> <description>Max Memory for Logfeeder</description> http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-env.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-env.xml index 93cf30d..3682e5d 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-env.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-env.xml @@ -61,14 +61,6 @@ <on-ambari-upgrade add="true"/> </property> <property> - <name>logsearch_group</name> - <value>logsearch</value> - <property-type>GROUP</property-type> - <description>Log Search group</description> - <display-name>Log Search Group</display-name> - <on-ambari-upgrade add="true"/> - </property> - <property> <name>logsearch_app_max_memory</name> <value>1024</value> <description>Max memory for Log Search Portal</description> http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml index 56ce721..53fc8f4 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-properties.xml @@ -124,6 +124,9 @@ <value>{metrics_collector_hosts}</value> <description>Metrics collector hosts for pushing metrics by Log Search Solr</description> <display-name>Metrics collector hosts</display-name> + <value-attributes> + <empty-value-valid>true</empty-value-valid> + </value-attributes> <on-ambari-upgrade add="true"/> </property> <property> http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-solr-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-solr-env.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-solr-env.xml index ff048b4..2420be0 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-solr-env.xml +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-solr-env.xml @@ -78,14 +78,6 @@ <on-ambari-upgrade add="true"/> </property> <property> - <name>logsearch_solr_group</name> - <value>solr</value> - <property-type>GROUP</property-type> - <description>Solr group</description> - <display-name>Log Search Solr Group</display-name> - <on-ambari-upgrade add="true"/> - </property> - <property> <name>logsearch_solr_datadir</name> <value>/opt/logsearch_solr/data</value> <display-name>Log Search Solr data dir</display-name> http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/logfeeder.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/logfeeder.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/logfeeder.py index c0689f3..ce7f71c 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/logfeeder.py +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/logfeeder.py @@ -16,12 +16,14 @@ See the License for the specific language governing permissions and limitations under the License. """ - +import os +import grp from resource_management.core.resources.system import Execute, File from resource_management.libraries.functions.format import format from resource_management.libraries.functions.check_process_status import check_process_status from resource_management.libraries.script.script import Script from setup_logfeeder import setup_logfeeder +from resource_management.core.resources.accounts import User from logsearch_common import kill_process @@ -35,6 +37,9 @@ class LogFeeder(Script): def configure(self, env, upgrade_type=None): import params env.set_params(params) + User(params.logfeeder_user, + groups=[params.user_group, grp.getgrgid(os.getegid()).gr_name], + fetch_nonlocal_groups = params.fetch_nonlocal_groups) setup_logfeeder() @@ -45,7 +50,7 @@ class LogFeeder(Script): Execute(format("{logfeeder_dir}/run.sh"), environment={'LOGFEEDER_INCLUDE': format('{logsearch_logfeeder_conf}/logfeeder-env.sh')}, - user=params.logfeeder_user + user = params.logfeeder_user ) def stop(self, env, upgrade_type=None): http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py index 7acdec2..8a1449d 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/params.py @@ -59,6 +59,9 @@ logsearch_pid_file = status_params.logsearch_pid_file logfeeder_pid_dir = status_params.logfeeder_pid_dir logfeeder_pid_file = status_params.logfeeder_pid_file +user_group = config['configurations']['cluster-env']['user_group'] +fetch_nonlocal_groups = config['configurations']['cluster-env']["fetch_nonlocal_groups"] + # shared configs java64_home = config['hostLevelParams']['java_home'] zookeeper_hosts_list = config['clusterHostInfo']['zookeeper_hosts'] @@ -122,7 +125,6 @@ else: zoo_cfg_properties_map = {} logsearch_solr_user = config['configurations']['logsearch-solr-env']['logsearch_solr_user'] -logsearch_solr_group = config['configurations']['logsearch-solr-env']['logsearch_solr_group'] logsearch_solr_log_dir = config['configurations']['logsearch-solr-env']['logsearch_solr_log_dir'] logsearch_solr_client_log_dir = config['configurations']['logsearch-solr-env']['logsearch_solr_client_log_dir'] logsearch_solr_client_log = format("{logsearch_solr_client_log_dir}/solr-client.log") @@ -201,7 +203,6 @@ logsearch_custom_properties.pop("logsearch.external.auth.login_url", None) # logsearch-env configs logsearch_user = config['configurations']['logsearch-env']['logsearch_user'] -logsearch_group = config['configurations']['logsearch-env']['logsearch_group'] logsearch_log_dir = config['configurations']['logsearch-env']['logsearch_log_dir'] logsearch_log = logsearch_log_dir + '/logsearch.out' logsearch_ui_port = config['configurations']['logsearch-env']["logsearch_ui_port"] @@ -274,7 +275,6 @@ logfeeder_dir = "/usr/lib/ambari-logsearch-logfeeder" # logfeeder-env configs logfeeder_user = config['configurations']['logfeeder-env']['logfeeder_user'] -logfeeder_group = config['configurations']['logfeeder-env']['logfeeder_group'] logfeeder_log_dir = config['configurations']['logfeeder-env']['logfeeder_log_dir'] logfeeder_log = logfeeder_log_dir + '/logfeeder.out' logfeeder_max_mem = config['configurations']['logfeeder-env']['logfeeder_max_mem'] http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logfeeder.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logfeeder.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logfeeder.py index 5ca2bd5..5d1ca85 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logfeeder.py +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logfeeder.py @@ -21,50 +21,64 @@ from resource_management.core.resources.system import Directory, File from resource_management.libraries.functions.format import format from resource_management.core.source import InlineTemplate, Template - def setup_logfeeder(): import params - Directory([params.logfeeder_log_dir, params.logfeeder_pid_dir, params.logfeeder_dir, - params.logsearch_logfeeder_conf, params.logfeeder_checkpoint_folder], + Directory([params.logfeeder_log_dir, params.logfeeder_pid_dir, + params.logfeeder_checkpoint_folder], mode=0755, cd_access='a', owner=params.logfeeder_user, - group=params.logfeeder_group, + group=params.user_group, create_parents=True ) + Directory([params.logfeeder_dir, params.logsearch_logfeeder_conf], + mode=0755, + cd_access='a', + owner=params.logfeeder_user, + group=params.user_group, + create_parents=True, + recursive_ownership=True + ) + File(params.logfeeder_log, mode=0644, owner=params.logfeeder_user, - group=params.logfeeder_group, + group=params.user_group, content='' ) File(format("{logsearch_logfeeder_conf}/logfeeder.properties"), content=Template("logfeeder.properties.j2"), - owner=params.logfeeder_user + owner=params.logfeeder_user, + group=params.user_group ) File(format("{logsearch_logfeeder_conf}/logfeeder-env.sh"), content=InlineTemplate(params.logfeeder_env_content), mode=0755, - owner=params.logfeeder_user + owner=params.logfeeder_user, + group=params.user_group ) File(format("{logsearch_logfeeder_conf}/log4j.xml"), content=InlineTemplate(params.logfeeder_log4j_content), - owner=params.logfeeder_user + owner=params.logfeeder_user, + group=params.user_group ) File(format("{logsearch_logfeeder_conf}/grok-patterns"), content=Template("grok-patterns.j2"), owner=params.logfeeder_user, + group=params.user_group, encoding="utf-8" ) for file_name in params.logfeeder_config_file_names: File(format("{logsearch_logfeeder_conf}/" + file_name), content=Template(file_name + ".j2"), - owner=params.logfeeder_user + owner=params.logfeeder_user, + group=params.user_group, ) + http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch.py index 890e8c6..368db03 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch.py +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch.py @@ -27,51 +27,64 @@ from resource_management.core.source import InlineTemplate, Template def setup_logsearch(): import params - Directory([params.logsearch_log_dir, params.logsearch_pid_dir, params.logsearch_dir, - params.logsearch_server_conf, params.logsearch_config_set_dir], + Directory([params.logsearch_log_dir, params.logsearch_pid_dir], mode=0755, cd_access='a', owner=params.logsearch_user, - group=params.logsearch_group, + group=params.user_group, create_parents=True ) + Directory([params.logsearch_dir, params.logsearch_server_conf, params.logsearch_config_set_dir], + mode=0755, + cd_access='a', + owner=params.logsearch_user, + group=params.user_group, + create_parents=True, + recursive_ownership=True + ) File(params.logsearch_log, mode=0644, owner=params.logsearch_user, - group=params.logsearch_group, + group=params.user_group, content='' ) File(format("{logsearch_server_conf}/logsearch.properties"), content=Template("logsearch.properties.j2"), - owner=params.logsearch_user + owner=params.logsearch_user, + group=params.user_group ) File(format("{logsearch_server_conf}/log4j.xml"), content=InlineTemplate(params.logsearch_app_log4j_content), - owner=params.logsearch_user + owner=params.logsearch_user, + group=params.user_group ) File(format("{logsearch_server_conf}/logsearch-env.sh"), content=InlineTemplate(params.logsearch_env_content), mode=0755, - owner=params.logsearch_user + owner=params.logsearch_user, + group=params.user_group ) File(format("{logsearch_server_conf}/logsearch-admin.json"), content=InlineTemplate(params.logsearch_admin_content), - owner=params.logsearch_user + owner=params.logsearch_user, + group=params.user_group ) File(format("{logsearch_config_set_dir}/hadoop_logs/conf/solrconfig.xml"), content=InlineTemplate(params.logsearch_service_logs_solrconfig_content), - owner=params.logsearch_user + owner=params.logsearch_user, + group=params.user_group ) File(format("{logsearch_config_set_dir}/audit_logs/conf/solrconfig.xml"), content=InlineTemplate(params.logsearch_audit_logs_solrconfig_content), - owner=params.logsearch_user + owner=params.logsearch_user, + group=params.user_group ) random_num = random.random() http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch_solr.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch_solr.py b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch_solr.py index 6e71334..eac60db 100644 --- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch_solr.py +++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/package/scripts/setup_logsearch_solr.py @@ -28,41 +28,54 @@ def setup_logsearch_solr(name = None): import params if name == 'server': - Directory([params.solr_dir, params.logsearch_solr_log_dir, params.logsearch_solr_piddir, params.logsearch_solr_conf, + Directory([params.logsearch_solr_log_dir, params.logsearch_solr_piddir, params.logsearch_solr_datadir, params.logsearch_solr_data_resources_dir], mode=0755, cd_access='a', + create_parents=True, owner=params.logsearch_solr_user, - group=params.logsearch_solr_group, - create_parents=True + group=params.user_group + ) + + Directory([params.solr_dir, params.logsearch_solr_conf], + mode=0755, + cd_access='a', + owner=params.logsearch_solr_user, + group=params.user_group, + create_parents=True, + recursive_ownership=True ) File(params.logsearch_solr_log, mode=0644, owner=params.logsearch_solr_user, - group=params.logsearch_solr_group, + group=params.user_group, content='' ) File(format("{logsearch_solr_conf}/logsearch-solr-env.sh"), content=InlineTemplate(params.solr_env_content), mode=0755, - owner=params.logsearch_solr_user + owner=params.logsearch_solr_user, + group=params.user_group ) File(format("{logsearch_solr_datadir}/solr.xml"), content=InlineTemplate(params.solr_xml_content), - owner=params.logsearch_solr_user + owner=params.logsearch_solr_user, + group=params.user_group ) File(format("{logsearch_solr_conf}/log4j.properties"), content=InlineTemplate(params.solr_log4j_content), - owner=params.logsearch_solr_user + owner=params.logsearch_solr_user, + group=params.user_group ) File(format("{logsearch_solr_datadir}/zoo.cfg"), content=Template("zoo.cfg.j2"), - owner=params.logsearch_solr_user + owner=params.logsearch_solr_user, + group=params.user_group ) zk_cli_prefix = format('export JAVA_HOME={java64_home}; {cloud_scripts}/zkcli.sh -zkhost {zookeeper_hosts}') http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.3/ATLAS/test_metadata_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.3/ATLAS/test_metadata_server.py b/ambari-server/src/test/python/stacks/2.3/ATLAS/test_metadata_server.py index bfd07b2..de355ea 100644 --- a/ambari-server/src/test/python/stacks/2.3/ATLAS/test_metadata_server.py +++ b/ambari-server/src/test/python/stacks/2.3/ATLAS/test_metadata_server.py @@ -96,36 +96,37 @@ class TestMetadataServer(RMFTestCase): group='hadoop', mode=0644, ) - self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-solr-client', + self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-solr-client', owner='solr', - group='solr', + group='hadoop', create_parents = True, cd_access='a', mode=0755 ) - self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-solr-client', + self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-solr-client', owner='solr', - group='solr', + group='hadoop', create_parents = True, + recursive_ownership = True, cd_access='a', mode=0755 ) self.assertResourceCalled('File', '/usr/lib/ambari-logsearch-solr-client/solrCloudCli.sh', content=StaticFile('/usr/lib/ambari-logsearch-solr-client/solrCloudCli.sh'), owner='solr', - group='solr', + group='hadoop', mode=0755, ) self.assertResourceCalled('File', '/usr/lib/ambari-logsearch-solr-client/log4j.properties', content=InlineTemplate(self.getConfig()['configurations'][ 'logsearch-solr-client-log4j']['content']), owner='solr', - group='solr', + group='hadoop', mode=0644, ) self.assertResourceCalled('File', '/var/log/ambari-logsearch-solr-client/solr-client.log', owner='solr', - group='solr', + group='hadoop', mode=0644, content = '' ) http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logfeeder.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logfeeder.py b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logfeeder.py index 981319c..0613770 100644 --- a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logfeeder.py +++ b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logfeeder.py @@ -18,73 +18,83 @@ See the License for the specific language governing permissions and limitations under the License. ''' -from stacks.utils.RMFTestCase import RMFTestCase, Template, InlineTemplate, StaticFile -from resource_management.core.exceptions import ComponentIsNotRunning - +import grp +from mock.mock import MagicMock, patch +from stacks.utils.RMFTestCase import RMFTestCase, Template, InlineTemplate class TestLogFeeder(RMFTestCase): COMMON_SERVICES_PACKAGE_DIR = "LOGSEARCH/0.5.0/package" STACK_VERSION = "2.4" def configureResourcesCalled(self): + self.assertResourceCalled('User', 'logfeeder', + groups = ['hadoop', 'agent_group'], + fetch_nonlocal_groups = True) self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-logfeeder', - owner='logfeeder', - group='logfeeder', create_parents=True, + owner = 'logfeeder', + group = 'hadoop', cd_access='a', mode=0755 ) self.assertResourceCalled('Directory', '/var/run/ambari-logsearch-logfeeder', - owner='logfeeder', - group='logfeeder', create_parents=True, + owner = 'logfeeder', + group = 'hadoop', cd_access='a', mode=0755 ) - self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-logfeeder', - owner='logfeeder', - group='logfeeder', + self.assertResourceCalled('Directory', '/etc/ambari-logsearch-logfeeder/conf/checkpoints', create_parents=True, + owner = 'logfeeder', + group = 'hadoop', cd_access='a', mode=0755 ) - self.assertResourceCalled('Directory', '/etc/ambari-logsearch-logfeeder/conf', - owner='logfeeder', - group='logfeeder', + + self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-logfeeder', create_parents=True, + owner = 'logfeeder', + group = 'hadoop', + recursive_ownership=True, cd_access='a', mode=0755 ) - self.assertResourceCalled('Directory', '/etc/ambari-logsearch-logfeeder/conf/checkpoints', - owner='logfeeder', - group='logfeeder', + self.assertResourceCalled('Directory', '/etc/ambari-logsearch-logfeeder/conf', create_parents=True, + recursive_ownership=True, + owner = 'logfeeder', + group = 'hadoop', cd_access='a', mode=0755 ) self.assertResourceCalled('File', '/var/log/ambari-logsearch-logfeeder/logfeeder.out', - owner='logfeeder', - group='logfeeder', mode=0644, - content='' + content='', + owner = 'logfeeder', + group = 'hadoop' ) self.assertResourceCalled('File', '/etc/ambari-logsearch-logfeeder/conf/logfeeder.properties', - owner='logfeeder', - content=Template('logfeeder.properties.j2') + content=Template('logfeeder.properties.j2'), + owner = 'logfeeder', + group = 'hadoop' ) self.assertResourceCalled('File', '/etc/ambari-logsearch-logfeeder/conf/logfeeder-env.sh', - owner='logfeeder', mode=0755, + owner = 'logfeeder', + group = 'hadoop', content=InlineTemplate(self.getConfig()['configurations']['logfeeder-env']['content']) ) self.assertResourceCalled('File', '/etc/ambari-logsearch-logfeeder/conf/log4j.xml', - owner='logfeeder', - content=InlineTemplate(self.getConfig()['configurations']['logfeeder-log4j']['content']) + content=InlineTemplate(self.getConfig()['configurations']['logfeeder-log4j']['content']), + owner = 'logfeeder', + group = 'hadoop' ) self.assertResourceCalled('File', '/etc/ambari-logsearch-logfeeder/conf/grok-patterns', - owner='logfeeder', content=Template('grok-patterns.j2'), + owner = 'logfeeder', + group = 'hadoop', encoding='utf-8' ) @@ -96,11 +106,14 @@ class TestLogFeeder(RMFTestCase): for file_name in logfeeder_config_file_names: self.assertResourceCalled('File', '/etc/ambari-logsearch-logfeeder/conf/' + file_name, - owner='logfeeder', - content=Template(file_name + ".j2") + content=Template(file_name + ".j2"), + owner = 'logfeeder', + group = 'hadoop' ) - - def test_configure_default(self): + @patch('grp.getgrgid') + def test_configure_default(self, grp_mock): + grp_mock.return_value = MagicMock() + grp_mock.return_value.gr_name = 'agent_group' self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/logfeeder.py", classname="LogFeeder", command="configure", @@ -112,7 +125,10 @@ class TestLogFeeder(RMFTestCase): self.configureResourcesCalled() self.assertNoMoreResources() - def test_start_default(self): + @patch('grp.getgrgid') + def test_start_default(self, grp_mock): + grp_mock.return_value = MagicMock() + grp_mock.return_value.gr_name = 'agent_group' self.executeScript(self.COMMON_SERVICES_PACKAGE_DIR + "/scripts/logfeeder.py", classname="LogFeeder", command="start", @@ -125,5 +141,5 @@ class TestLogFeeder(RMFTestCase): self.assertResourceCalled('Execute', '/usr/lib/ambari-logsearch-logfeeder/run.sh', environment={ 'LOGFEEDER_INCLUDE': '/etc/ambari-logsearch-logfeeder/conf/logfeeder-env.sh'}, - user='logfeeder' + user = 'logfeeder' ) http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py index bfe6921..ebf563d 100644 --- a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py +++ b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_logsearch.py @@ -30,69 +30,78 @@ class TestLogSearch(RMFTestCase): def configureResourcesCalled(self): self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-portal', owner = 'logsearch', - group = 'logsearch', + group = 'hadoop', create_parents = True, cd_access = 'a', mode = 0755 ) self.assertResourceCalled('Directory', '/var/run/ambari-logsearch-portal', owner = 'logsearch', - group = 'logsearch', + group = 'hadoop', create_parents = True, cd_access = 'a', mode = 0755 ) self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-portal', owner = 'logsearch', - group = 'logsearch', + group = 'hadoop', create_parents = True, + recursive_ownership = True, cd_access = 'a', mode = 0755 ) self.assertResourceCalled('Directory', '/etc/ambari-logsearch-portal/conf', owner = 'logsearch', - group = 'logsearch', + group = 'hadoop', create_parents = True, + recursive_ownership = True, cd_access = 'a', mode = 0755 ) self.assertResourceCalled('Directory', '/etc/ambari-logsearch-portal/conf/solr_configsets', owner = 'logsearch', - group = 'logsearch', + group = 'hadoop', create_parents = True, + recursive_ownership = True, cd_access = 'a', mode = 0755 ) self.assertResourceCalled('File', '/var/log/ambari-logsearch-portal/logsearch.out', owner = 'logsearch', - group = 'logsearch', + group = 'hadoop', mode = 0644, content = '' ) self.assertResourceCalled('File', '/etc/ambari-logsearch-portal/conf/logsearch.properties', owner = 'logsearch', + group='hadoop', content = Template('logsearch.properties.j2') ) self.assertResourceCalled('File', '/etc/ambari-logsearch-portal/conf/log4j.xml', owner = 'logsearch', + group='hadoop', content = InlineTemplate(self.getConfig()['configurations']['logsearch-log4j']['content']) ) self.assertResourceCalled('File', '/etc/ambari-logsearch-portal/conf/logsearch-env.sh', content = InlineTemplate(self.getConfig()['configurations']['logsearch-env']['content']), mode = 0755, - owner = "logsearch" + owner = "logsearch", + group='hadoop' ) self.assertResourceCalled('File', '/etc/ambari-logsearch-portal/conf/logsearch-admin.json', owner = 'logsearch', + group='hadoop', content = InlineTemplate(self.getConfig()['configurations']['logsearch-admin-json']['content']) ) self.assertResourceCalled('File', '/etc/ambari-logsearch-portal/conf/solr_configsets/hadoop_logs/conf/solrconfig.xml', owner = 'logsearch', + group='hadoop', content = InlineTemplate(self.getConfig()['configurations']['logsearch-service_logs-solrconfig']['content']) ) self.assertResourceCalled('File', '/etc/ambari-logsearch-portal/conf/solr_configsets/audit_logs/conf/solrconfig.xml', owner = 'logsearch', + group='hadoop', content = InlineTemplate(self.getConfig()['configurations']['logsearch-audit_logs-solrconfig']['content']) ) http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_solr.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_solr.py b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_solr.py index 0590dca..7cbbfc4 100644 --- a/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_solr.py +++ b/ambari-server/src/test/python/stacks/2.4/LOGSEARCH/test_solr.py @@ -27,70 +27,76 @@ class TestSolr(RMFTestCase): STACK_VERSION = "2.4" def configureResourcesCalled(self): - self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-solr', + self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-solr', owner = 'solr', - group = 'solr', + group = 'hadoop', create_parents = True, cd_access = 'a', mode = 0755 ) - self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-solr', + self.assertResourceCalled('Directory', '/var/run/ambari-logsearch-solr', owner = 'solr', - group = 'solr', + group = 'hadoop', create_parents = True, cd_access = 'a', mode = 0755 ) - self.assertResourceCalled('Directory', '/var/run/ambari-logsearch-solr', + self.assertResourceCalled('Directory', '/opt/logsearch_solr/data', owner = 'solr', - group = 'solr', + group = 'hadoop', create_parents = True, cd_access = 'a', mode = 0755 ) - self.assertResourceCalled('Directory', '/etc/ambari-logsearch-solr/conf', + self.assertResourceCalled('Directory', '/opt/logsearch_solr/data/resources', owner = 'solr', - group = 'solr', + group = 'hadoop', create_parents = True, cd_access = 'a', mode = 0755 ) - self.assertResourceCalled('Directory', '/opt/logsearch_solr/data', + self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-solr', owner = 'solr', - group = 'solr', + group = 'hadoop', create_parents = True, + recursive_ownership = True, cd_access = 'a', mode = 0755 - ) - self.assertResourceCalled('Directory', '/opt/logsearch_solr/data/resources', + ) + self.assertResourceCalled('Directory', '/etc/ambari-logsearch-solr/conf', owner = 'solr', - group = 'solr', + group = 'hadoop', create_parents = True, + recursive_ownership = True, cd_access = 'a', mode = 0755 - ) + ) self.assertResourceCalled('File', '/var/log/ambari-logsearch-solr/solr-install.log', owner = 'solr', - group = 'solr', + group = 'hadoop', mode = 0644, content = '' ) self.assertResourceCalled('File', '/etc/ambari-logsearch-solr/conf/logsearch-solr-env.sh', owner = 'solr', + group='hadoop', mode = 0755, content = InlineTemplate(self.getConfig()['configurations']['logsearch-solr-env']['content']) ) self.assertResourceCalled('File', '/opt/logsearch_solr/data/solr.xml', owner = 'solr', + group='hadoop', content = InlineTemplate(self.getConfig()['configurations']['logsearch-solr-xml']['content']) ) self.assertResourceCalled('File', '/etc/ambari-logsearch-solr/conf/log4j.properties', owner = 'solr', + group='hadoop', content = InlineTemplate(self.getConfig()['configurations']['logsearch-solr-log4j']['content']) ) self.assertResourceCalled('File', '/opt/logsearch_solr/data/zoo.cfg', owner = 'solr', + group='hadoop', content = Template('zoo.cfg.j2') ) self.assertResourceCalled('Execute', 'export JAVA_HOME=/usr/jdk64/jdk1.7.0_45; /usr/lib/ambari-logsearch-solr/server/scripts/cloud-scripts/zkcli.sh -zkhost c6401.ambari.apache.org -cmd makepath /logsearch', http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.4/configs/default.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.4/configs/default.json b/ambari-server/src/test/python/stacks/2.4/configs/default.json index c3aecff..10e4660 100644 --- a/ambari-server/src/test/python/stacks/2.4/configs/default.json +++ b/ambari-server/src/test/python/stacks/2.4/configs/default.json @@ -69,7 +69,8 @@ "ignore_groupsusers_create": "false", "smokeuser": "ambari-qa", "kerberos_domain": "EXAMPLE.COM", - "user_group": "hadoop" + "user_group": "hadoop", + "fetch_nonlocal_groups" : "true" }, "webhcat-site": { "templeton.jar": "/usr/hdp/current/hive-webhcat/share/webhcat/svr/lib/hive-webhcat-*.jar", http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.5/ATLAS/test_atlas_server.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.5/ATLAS/test_atlas_server.py b/ambari-server/src/test/python/stacks/2.5/ATLAS/test_atlas_server.py index 7127451..8729195 100644 --- a/ambari-server/src/test/python/stacks/2.5/ATLAS/test_atlas_server.py +++ b/ambari-server/src/test/python/stacks/2.5/ATLAS/test_atlas_server.py @@ -94,36 +94,37 @@ class TestAtlasServer(RMFTestCase): group='hadoop', mode=0644, ) - self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-solr-client', + self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-solr-client', owner='solr', - group='solr', - create_parents = True, + group='hadoop', + create_parents=True, cd_access='a', mode=0755 ) - self.assertResourceCalled('Directory', '/var/log/ambari-logsearch-solr-client', + self.assertResourceCalled('Directory', '/usr/lib/ambari-logsearch-solr-client', owner='solr', - group='solr', - create_parents=True, + group='hadoop', + create_parents = True, + recursive_ownership = True, cd_access='a', mode=0755 ) self.assertResourceCalled('File', '/usr/lib/ambari-logsearch-solr-client/solrCloudCli.sh', content=StaticFile('/usr/lib/ambari-logsearch-solr-client/solrCloudCli.sh'), owner='solr', - group='solr', + group='hadoop', mode=0755, ) self.assertResourceCalled('File', '/usr/lib/ambari-logsearch-solr-client/log4j.properties', content=InlineTemplate(self.getConfig()['configurations'][ 'logsearch-solr-client-log4j']['content']), owner='solr', - group='solr', + group='hadoop', mode=0644, ) self.assertResourceCalled('File', '/var/log/ambari-logsearch-solr-client/solr-client.log', owner='solr', - group='solr', + group='hadoop', mode=0644, content = '' ) http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-server/src/test/python/stacks/2.5/configs/default.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.5/configs/default.json b/ambari-server/src/test/python/stacks/2.5/configs/default.json index 1015593..c839405 100644 --- a/ambari-server/src/test/python/stacks/2.5/configs/default.json +++ b/ambari-server/src/test/python/stacks/2.5/configs/default.json @@ -174,7 +174,6 @@ "logsearch-solr-env": { "logsearch_solr_znode": "/logsearch", "logsearch_solr_user": "solr", - "logsearch_solr_group": "solr", "logsearch_solr_client_log_dir" :"/var/log/ambari-logsearch-solr-client" }, "logsearch-solr-client-log4j" : { http://git-wip-us.apache.org/repos/asf/ambari/blob/05f1f4aa/ambari-web/app/data/HDP2/site_properties.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/data/HDP2/site_properties.js b/ambari-web/app/data/HDP2/site_properties.js index 794da25..09b2572 100644 --- a/ambari-web/app/data/HDP2/site_properties.js +++ b/ambari-web/app/data/HDP2/site_properties.js @@ -1843,81 +1843,74 @@ var hdp2properties = [ "index": 3 }, { - "name": "logfeeder_group", - "serviceName": "LOGSEARCH", - "filename": "logfeeder-env.xml", - "category": "Advanced logfeeder-env", - "index": 4 - }, - { "name": "logfeeder_max_mem", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 5 + "index": 4 }, { "name": "logfeeder_solr_service_logs_enable", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 6 + "index": 5 }, { "name": "logfeeder_solr_audit_logs_enable", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 7 + "index": 6 }, { "name": "logfeeder_solr_ssl_client_truststore_location", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 8 + "index": 7 }, { "name": "logfeeder_solr_ssl_client_truststore_type", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 9 + "index": 8 }, { "name": "logfeeder_solr_ssl_client_truststore_password", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 10 + "index": 9 }, { "name": "logfeeder_solr_ssl_client_keystore_location", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 11 + "index": 10 }, { "name": "logfeeder_solr_ssl_client_keystore_type", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 12 + "index": 11 }, { "name": "logfeeder_solr_ssl_client_keystore_password", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 13 + "index": 12 }, { "name": "content", "serviceName": "LOGSEARCH", "filename": "logfeeder-env.xml", "category": "Advanced logfeeder-env", - "index": 14 + "index": 13 }, /*logfeeder-log4j*/ {
