Skip to content
This repository has been archived by the owner on Jun 29, 2022. It is now read-only.

Commit

Permalink
Add -xdev option to find commands but expand default scan directories.
Browse files Browse the repository at this point in the history
…Closes #289.
  • Loading branch information
chambridge committed Sep 8, 2017
1 parent a056316 commit 2522b35
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 10 deletions.
2 changes: 1 addition & 1 deletion rho/scancommand.py
Expand Up @@ -493,7 +493,7 @@ def _validate_options(self):
sys.exit(1)

if self.options.scan_dirs == []:
self.options.scan_dirs = ['/']
self.options.scan_dirs = ['/', '/opt', '/app', '/home', '/usr']
elif os.path.isfile(self.options.scan_dirs[0]):
self.options.scan_dirs = \
_read_in_file(self.options.scan_dirs[0])
Expand Down
6 changes: 3 additions & 3 deletions roles/brms/tasks/main.yml
Expand Up @@ -2,19 +2,19 @@
---
# This will scan linux systems for JBoss BRMS or Drools Installations
- name: Gather jboss.brms.kie-api-ver
raw: find {{scan_dirs}} -name kie-api* 2> /dev/null | sed 's/.*kie-api-//g' | sed 's/.jar.*//g' | sort -u
raw: find {{scan_dirs}} -xdev -name kie-api* 2> /dev/null | sed 's/.*kie-api-//g' | sed 's/.jar.*//g' | sort -u
register: jboss.brms.kie-api-ver
ignore_errors: yes
when: '"jboss.brms.kie-api-ver" in facts_to_collect'

- name: Gather jboss.brms.drools-core-ver
raw: find {{scan_dirs}} -name drools-core* 2> /dev/null | sed 's/.*drools-core-//g' | sed 's/.jar.*//g' | sort -u
raw: find {{scan_dirs}} -xdev -name drools-core* 2> /dev/null | sed 's/.*drools-core-//g' | sed 's/.jar.*//g' | sort -u
register: jboss.brms.drools-core-ver
ignore_errors: yes
when: '"jboss.brms.drools-core-ver" in facts_to_collect'

- name: Gather jboss.brms.kie-war-ver
raw: OIFS="$IFS"; IFS=$'\n'; for war in $(find {{scan_dirs}} -name kie*.war 2> /dev/null); do if [[ -d "$war" ]]; then cat "$war"/META-INF/MANIFEST.MF 2> /dev/null | grep Implementation-Version | sed "s/Implementation-Version://g" | sed "s/ //g" | sed 's/\r$//' | sort -u; else fgrep -irsal kie-api "$war" | egrep -o "[0-9]\.[0-9]\.[0-9].*-" | sed "s/-$//g" | sed 's/\r$//' | sort -u; fi; done; IFS="$OIFS"
raw: OIFS="$IFS"; IFS=$'\n'; for war in $(find {{scan_dirs}} -xdev -name kie*.war 2> /dev/null); do if [[ -d "$war" ]]; then cat "$war"/META-INF/MANIFEST.MF 2> /dev/null | grep Implementation-Version | sed "s/Implementation-Version://g" | sed "s/ //g" | sed 's/\r$//' | sort -u; else fgrep -irsal kie-api "$war" | egrep -o "[0-9]\.[0-9]\.[0-9].*-" | sed "s/-$//g" | sed 's/\r$//' | sort -u; fi; done; IFS="$OIFS"
register: jboss.brms.kie-war-ver
ignore_errors: yes
when: '"jboss.brms.kie-war-ver" in facts_to_collect'
6 changes: 3 additions & 3 deletions roles/fuse/tasks/main.yml
Expand Up @@ -2,19 +2,19 @@
---
# This will scan linux systems for JBoss Fuse, ActiveMQ, CXF, Camel or Community Installations
- name: Gather jboss.fuse.activemq-ver
raw: FOUND=""; for jar in `find {{scan_dirs}} -type f -name \*activemq-\*redhat\*.jar 2>/dev/null | sed -n 's/.*\(redhat-[0-9]\{6\}\).*/\1/p' | sort -u`; do if [ ! -z "${jar}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $jar"; else FOUND=${jar}; fi; fi; done; echo ${FOUND}
raw: FOUND=""; for jar in `find {{scan_dirs}} -type f -xdev -name \*activemq-\*redhat\*.jar 2>/dev/null | sed -n 's/.*\(redhat-[0-9]\{6\}\).*/\1/p' | sort -u`; do if [ ! -z "${jar}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $jar"; else FOUND=${jar}; fi; fi; done; echo ${FOUND}
register: jboss.fuse.activemq-ver
ignore_errors: yes
when: '"jboss.fuse.activemq-ver" in facts_to_collect'

- name: Gather jboss.fuse.camel-ver
raw: FOUND=""; for jar in `find {{scan_dirs}} -type f -name \*camel-core\*redhat\*.jar 2>/dev/null | sed -n 's/.*\(redhat-[0-9]\{6\}\).*/\1/p' | sort -u`; do if [ ! -z "${jar}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $jar"; else FOUND=${jar}; fi; fi; done; echo ${FOUND}
raw: FOUND=""; for jar in `find {{scan_dirs}} -type f -xdev -name \*camel-core\*redhat\*.jar 2>/dev/null | sed -n 's/.*\(redhat-[0-9]\{6\}\).*/\1/p' | sort -u`; do if [ ! -z "${jar}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $jar"; else FOUND=${jar}; fi; fi; done; echo ${FOUND}
register: jboss.fuse.camel-ver
ignore_errors: yes
when: '"jboss.fuse.camel-ver" in facts_to_collect'

- name: Gather jboss.fuse.cxf-ver
raw: FOUND=""; for jar in `find {{scan_dirs}} -type f -name \*cxf-rt\*redhat\*.jar 2>/dev/null | sed -n 's/.*\(redhat-[0-9]\{6\}\).*/\1/p' | sort -u`; do if [ ! -z "${jar}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $jar"; else FOUND=${jar}; fi; fi; done; echo ${FOUND}
raw: FOUND=""; for jar in `find {{scan_dirs}} -type f -xdev -name \*cxf-rt\*redhat\*.jar 2>/dev/null | sed -n 's/.*\(redhat-[0-9]\{6\}\).*/\1/p' | sort -u`; do if [ ! -z "${jar}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $jar"; else FOUND=${jar}; fi; fi; done; echo ${FOUND}
register: jboss.fuse.cxf-ver
ignore_errors: yes
when: '"jboss.fuse.cxf-ver" in facts_to_collect'
6 changes: 3 additions & 3 deletions roles/jboss/tasks/main.yml
Expand Up @@ -2,19 +2,19 @@
---
# Scan linux systems for JBoss EAP or Wildfly Installations
- name: Gather jboss.jar-ver
raw: FOUND=""; for jar in `find {{scan_dirs}} -name 'jboss-modules.jar' 2>/dev/null | grep -v '\.installation/patches'`; do VERSION=$(java -jar ${jar} -version 2> /dev/null | grep version | sed 's/.*version\s//g'); inode=$(stat -c '%i' "${jar}"); fs=$(df -T "${jar}" | grep "/dev" | sed 's/ .*//'); ctime=$(stat ${jar} | grep 'Change' | grep -oP '[1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]'); if [ ! -z "${VERSION}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $VERSION**$ctime"; else FOUND=${VERSION}'**'${ctime}; fi; fi; done; echo ${FOUND}
raw: FOUND=""; for jar in `find {{scan_dirs}} -xdev -name 'jboss-modules.jar' 2>/dev/null | grep -v '\.installation/patches'`; do VERSION=$(java -jar ${jar} -version 2> /dev/null | grep version | sed 's/.*version\s//g'); inode=$(stat -c '%i' "${jar}"); fs=$(df -T "${jar}" | grep "/dev" | sed 's/ .*//'); ctime=$(stat ${jar} | grep 'Change' | grep -oP '[1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]'); if [ ! -z "${VERSION}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $VERSION**$ctime"; else FOUND=${VERSION}'**'${ctime}; fi; fi; done; echo ${FOUND}
register: jboss.jar-ver
ignore_errors: yes
when: 'have_java and ("jboss.installed-versions" in facts_to_collect or "jboss.deploy-dates" in facts_to_collect)'

- name: Gather jboss.run-jar-ver
raw: FOUND=""; for jar in `find {{scan_dirs}} -name 'run.jar' 2>/dev/null`; do VERSION=$(java -jar ${jar} --version 2> /dev/null | grep build | sed 's/.*[CS]V[NS]Tag.//g' | sed 's/\sdate.*//g'); inode=$(stat -c '%i' "${jar}"); fs=$(df -T "${jar}" | tail -1 | sed 's/ .*//'); ctime=$(stat ${jar} | grep 'Change' | grep -oP '[1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]'); if [ ! -z "${VERSION}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $VERSION**${ctime}"; else FOUND=${VERSION}'**'${ctime}; fi; fi; done; echo ${FOUND};
raw: FOUND=""; for jar in `find {{scan_dirs}} -xdev -name 'run.jar' 2>/dev/null`; do VERSION=$(java -jar ${jar} --version 2> /dev/null | grep build | sed 's/.*[CS]V[NS]Tag.//g' | sed 's/\sdate.*//g'); inode=$(stat -c '%i' "${jar}"); fs=$(df -T "${jar}" | tail -1 | sed 's/ .*//'); ctime=$(stat ${jar} | grep 'Change' | grep -oP '[1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]'); if [ ! -z "${VERSION}" ]; then if [ ! -z "$FOUND" ]; then FOUND="$FOUND; $VERSION**${ctime}"; else FOUND=${VERSION}'**'${ctime}; fi; fi; done; echo ${FOUND};
register: jboss.run-jar-ver
ignore_errors: yes
when: 'have_java and ("jboss.installed-versions" in facts_to_collect or "jboss.deploy-dates" in facts_to_collect)'

- name: Gather jboss.running-versions
raw: for proc_pid in $(find /proc -maxdepth 1 -name "[0-9]*"); do ls -l ${proc_pid}/fd 2>/dev/null | grep "java"; done | grep -e "/modules/system/layers/base\|/opt/rh/eap" | sed -n "s/.*\->//p" | sed -n 's/\/modules\/system\/layers\/base.*//p;s/.*\(\/opt\/rh\/eap[1-9]\).*/\1/p' | sort -u
raw: for proc_pid in $(find /proc -maxdepth 1 -xdev -name "[0-9]*"); do ls -l ${proc_pid}/fd 2>/dev/null | grep "java"; done | grep -e "/modules/system/layers/base\|/opt/rh/eap" | sed -n "s/.*\->//p" | sed -n 's/\/modules\/system\/layers\/base.*//p;s/.*\(\/opt\/rh\/eap[1-9]\).*/\1/p' | sort -u
register: jboss.running-versions
ignore_errors: yes
when: 'have_java and "jboss.running-versions" in facts_to_collect'

0 comments on commit 2522b35

Please sign in to comment.