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

Commit

Permalink
Merge branch 'master' into issues/20-part-2
Browse files Browse the repository at this point in the history
  • Loading branch information
Noah Lavine committed Aug 2, 2017
2 parents 2c76d1f + 747995f commit eed4db6
Show file tree
Hide file tree
Showing 15 changed files with 210 additions and 54 deletions.
2 changes: 1 addition & 1 deletion library/spit_results.py
Expand Up @@ -335,7 +335,7 @@ def handle_redhat_packages(self, data):
rh_packages = list(filter(self.PkgInfo.is_red_hat_pkg,
installed_packages))

rhpkg_prefix = 'RedhatPackages_redhat-packages.'
rhpkg_prefix = 'redhat-packages.'
is_rhpkg_str = rhpkg_prefix + 'is_redhat'
num_rh_str = rhpkg_prefix + 'num_rh_packages'
installed_pkg_str = rhpkg_prefix + 'num_installed_packages'
Expand Down
24 changes: 24 additions & 0 deletions rho/scancommand.py
Expand Up @@ -283,6 +283,25 @@ def _validate_options(self):
self.parser.print_help()
sys.exit(1)

# perform fact validation
facts = self.options.facts
default_facts = False
if facts == ['default']:
default_facts = True
elif os.path.isfile(facts[0]):
facts_to_collect = _read_in_file(facts[0])
else:
assert isinstance(facts, list)
facts_to_collect = facts
# check facts_to_collect is subset of utilities.DEFAULT_FACTS_TUPLE
all_facts = utilities.DEFAULT_FACTS_TUPLE
if not default_facts and not set(facts_to_collect).issubset(all_facts):
invalid_facts = set(facts_to_collect).difference(all_facts)
print(_("Invalid facts were supplied to scan command: " +
",".join(invalid_facts)))
self.parser.print_help()
sys.exit(1)

def _do_command(self):
# pylint: disable=too-many-locals
# pylint: disable=too-many-branches
Expand Down Expand Up @@ -358,6 +377,11 @@ def _do_command(self):
assert isinstance(facts, list)
facts_to_collect = facts

# always output connection.x
for key in utilities.CONNECTION_FACTS_TUPLE:
if key not in facts_to_collect:
facts_to_collect.append(key)

ansible_vars = {'facts_to_collect': facts_to_collect,
'report_path': report_path}

Expand Down
1 change: 1 addition & 0 deletions rho_playbook.yml
Expand Up @@ -6,6 +6,7 @@

- name: collect all requested facts
hosts: all
gather_facts: no
roles:
- connection
- cpu
Expand Down
37 changes: 24 additions & 13 deletions roles/cpu/tasks/main.yml
@@ -1,76 +1,86 @@
---

- name: initialize cpu dictionary
set_fact:
cpu: "{{ cpu|default({}) }}"

- name: gather cpu.vendor_id fact
raw: cat /proc/cpuinfo | grep '^vendor_id\s*:' | sed -n -e 's/^.*vendor_id\s*:\s//p'
raw: cat /proc/cpuinfo | grep '^vendor_id\s*' | sed -n -e 's/^.*vendor_id\s*.\s*//p'
register: cpu_vendor_id
ignore_errors: yes
when: '"cpu.vendor_id" in facts_to_collect'

- name: add cpu.vendor_id to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_vendor_id['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_vendor_id['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.vendor_id'
when: '"cpu.vendor_id" in facts_to_collect'

- name: gather cpu.model_name fact
raw: cat /proc/cpuinfo | grep '^model name\s*:' | sed -n -e 's/^.*model name\s*:\s//p'
raw: cat /proc/cpuinfo | grep '^model name\s*.' | sed -n -e 's/^.*model name\s*.\s*//p'
register: cpu_model_name
ignore_errors: yes
when: '"cpu.model_name" in facts_to_collect'

- name: add cpu.model_name to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_model_name['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_model_name['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.model_name'
when: '"cpu.model_name" in facts_to_collect'

- name: gather cpu.bogomips fact
raw: cat /proc/cpuinfo | grep '^bogomips\s*:' | sed -n -e 's/^.*bogomips\s*:\s//p'
raw: cat /proc/cpuinfo | grep '^bogomips\s*.' | sed -n -e 's/^.*bogomips\s*.\s*//p'
register: cpu_bogomips
ignore_errors: yes
when: '"cpu.bogomips" in facts_to_collect'

- name: add cpu.bogomips to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_bogomips['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_bogomips['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.bogomips'
when: '"cpu.bogomips" in facts_to_collect'

- name: gather cpu.cpu_family fact
raw: cat /proc/cpuinfo | grep '^cpu family\s*:' | sed -n -e 's/^.*cpu family\s*:\s//p'
raw: cat /proc/cpuinfo | grep '^cpu family\s*.' | sed -n -e 's/^.*cpu family\s*.\s*//p'
register: cpu_cpu_family
ignore_errors: yes
when: '"cpu.cpu_family" in facts_to_collect'

- name: add cpu.cpu_family to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_cpu_family['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_cpu_family['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.cpu_family'
when: '"cpu.cpu_family" in facts_to_collect'

- name: gather cpu.model_ver fact
raw: cat /proc/cpuinfo | grep '^model\s*:' | sed -n -e 's/^.*model\s*:\s//p'
raw: cat /proc/cpuinfo | grep '^model\s*.' | sed -n -e 's/^.*model\s*.\s*//p'
register: cpu_model_ver
ignore_errors: yes
when: '"cpu.model_ver" in facts_to_collect'

- name: add cpu.model_ver to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_model_ver['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_model_ver['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.model_ver'
when: '"cpu.model_ver" in facts_to_collect'

- name: gather cpu.count fact
raw: cat /proc/cpuinfo | grep '^processor\s*:' | wc -l
raw: cat /proc/cpuinfo | grep '^processor\s*.' | wc -l
register: cpu_count
ignore_errors: yes
when: '"cpu.count" in facts_to_collect'

- name: add cpu.count to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_count['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_count['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.count'
when: '"cpu.count" in facts_to_collect'

- name: gather cpu.socket_count fact
raw: sudo -n /usr/sbin/dmidecode -t 4 | grep 'Socket Designation'| wc -l
Expand All @@ -80,6 +90,7 @@

- name: add cpu.socket_count to dictionary
set_fact:
cpu: "{{ cpu|default({}) | combine({ item: cpu_socket_count['stdout_lines'][0] }) }}"
cpu: "{{ cpu|default({}) | combine({ item: cpu_socket_count['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'cpu.socket_count'
when: '"cpu.socket_count" in facts_to_collect'
19 changes: 14 additions & 5 deletions roles/date/tasks/main.yml
@@ -1,5 +1,9 @@
---

- name: initialize date dictionary
set_fact:
date: "{{ date|default({}) }}"

- name: gather date.date fact
raw: date
register: date_date
Expand All @@ -8,9 +12,10 @@

- name: add date.date to dictionary
set_fact:
date: "{{ date|default({}) | combine({ item: date_date['stdout_lines'][0] }) }}"
date: "{{ date|default({}) | combine({ item: date_date['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'date.date'
when: '"date.date" in facts_to_collect'

- name: gather date.anaconda_log fact
raw: ls --full-time /root/anaconda-ks.cfg | grep -o '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}'
Expand All @@ -20,9 +25,10 @@

- name: add date.anaconda_log to dictionary
set_fact:
date: "{{ date|default({}) | combine({ item: date_anaconda_log['stdout_lines'][0] }) }}"
date: "{{ date|default({}) | combine({ item: date_anaconda_log['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'date.anaconda_log'
when: '"date.anaconda_log" in facts_to_collect'

- name: gather date.machine_id fact
raw: ls --full-time /etc/machine-id | grep -o '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}'
Expand All @@ -32,9 +38,10 @@

- name: add date.machine_id to dictionary
set_fact:
date: "{{ date|default({}) | combine({ item: date_machine_id['stdout_lines'][0] }) }}"
date: "{{ date|default({}) | combine({ item: date_machine_id['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'date.machine_id'
when: '"date.machine_id" in facts_to_collect'

- name: gather date.filesystem_create fact
raw: fs_date=$(tune2fs -l $(mount | egrep '/ type' | grep -o '/dev.* on' | sed -e 's/\on//g') | grep 'Filesystem created' | sed 's/Filesystem created:\s*//g'); if [[ $fs_date ]]; then date +'%F' -d \"$fs_date\"; else echo "" ; fi
Expand All @@ -44,9 +51,10 @@

- name: add date.filesystem_create to dictionary
set_fact:
date: "{{ date|default({}) | combine({ item: date_filesystem_create['stdout_lines'][0] }) }}"
date: "{{ date|default({}) | combine({ item: date_filesystem_create['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'date.filesystem_create'
when: '"date.filesystem_create" in facts_to_collect'

- name: gather date.yum_history fact
raw: yum history | tail -n 4 | grep -o '[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}'
Expand All @@ -56,6 +64,7 @@

- name: add date.yum_history to dictionary
set_fact:
date: "{{ date|default({}) | combine({ item: date_yum_history['stdout_lines'][0] }) }}"
date: "{{ date|default({}) | combine({ item: date_yum_history['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'date.yum_history'
when: '"date.yum_history" in facts_to_collect'
16 changes: 12 additions & 4 deletions roles/dmi/tasks/main.yml
@@ -1,5 +1,9 @@
---

- name: initialize dmi dictionary
set_fact:
dmi: "{{ dmi|default({}) }}"

- name: gather dmi.bios-vendor fact
raw: sudo -n /usr/sbin/dmidecode -s bios-vendor
register: dmi_bios_vendor
Expand All @@ -8,9 +12,10 @@

- name: add dmi.bios-vendor to dictionary
set_fact:
dmi: "{{ dmi|default({}) | combine({ item: dmi_bios_vendor['stdout_lines'][0] }) }}"
dmi: "{{ dmi|default({}) | combine({ item: dmi_bios_vendor['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'dmi.bios-vendor'
when: '"dmi.bios-vendor" in facts_to_collect'

- name: gather dmi.bios-version fact
raw: sudo -n /usr/sbin/dmidecode -s bios-version
Expand All @@ -20,9 +25,10 @@

- name: add dmi.bios-version to dictionary
set_fact:
dmi: "{{ dmi|default({}) | combine({ item: dmi_bios_version['stdout_lines'][0] }) }}"
dmi: "{{ dmi|default({}) | combine({ item: dmi_bios_version['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'dmi.bios-version'
when: '"dmi.bios-version" in facts_to_collect'

- name: gather dmi.system-manufacturer fact
raw: sudo -n /usr/sbin/dmidecode | grep -A4 'System Information' | grep 'Manufacturer' | sed -n -e 's/^.*Manufacturer:\s//p'
Expand All @@ -32,9 +38,10 @@

- name: add dmi.system-manufacturer to dictionary
set_fact:
dmi: "{{ dmi|default({}) | combine({ item: dmi_system_manufacturer['stdout'] }) }}"
dmi: "{{ dmi|default({}) | combine({ item: dmi_system_manufacturer['stdout'] | default('error') }) }}"
with_items:
- 'dmi.system-manufacturer'
when: '"dmi.system-manufacturer" in facts_to_collect'

- name: gather processor-family fact
raw: sudo -n /usr/sbin/dmidecode -s processor-family
Expand All @@ -44,6 +51,7 @@

- name: add dmi.processor-family to dictionary
set_fact:
dmi: "{{ dmi|default({}) | combine({ item: dmi_processor_family['stdout_lines'][0] }) }}"
dmi: "{{ dmi|default({}) | combine({ item: dmi_processor_family['stdout_lines'][0] | default('error') }) }}"
with_items:
- 'dmi.processor-family'
when: '"dmi.processor-family" in facts_to_collect'
11 changes: 9 additions & 2 deletions roles/etc_release/tasks/main.yml
@@ -1,5 +1,9 @@
---

- name: initialize etc_release dictionary
set_fact:
etc_release: "{{ etc_release|default({}) }}"

- name: initialize etc_release.name
set_fact: etc_release_name=""
when: '"etc_release.name" in facts_to_collect'
Expand Down Expand Up @@ -289,7 +293,7 @@
when: '"etc_release.name" in facts_to_collect and etc_release_name == ""'

- name: gather etc_release.name based on etc_release_uname_os
set_fact: etc_release_name='{{ etc_release_uname_os["stdout_lines"][0] }}'
set_fact: etc_release_name='{{ etc_release_uname_os["stdout_lines"][0] | default('error') } }}'
when: '"etc_release.name" in facts_to_collect and etc_release_name == ""'

- name: set ver for etc_release.version using uname -r
Expand All @@ -299,7 +303,7 @@
when: '"etc_release.version" in facts_to_collect and etc_release_version == ""'

- name: gather etc_release.version based on etc_release_uname_ver
set_fact: etc_release_version='{{ etc_release_uname_ver["stdout_lines"][0] }}'
set_fact: etc_release_version='{{ etc_release_uname_ver["stdout_lines"][0] | default('error') } }}'
when: '"etc_release.version" in facts_to_collect and etc_release_version == ""'

- name: gather etc_release.release based on etc_release_uname_os and etc_release_uname_ver
Expand All @@ -311,15 +315,18 @@
etc_release: "{{ etc_release|default({}) | combine({ item: etc_release_name }) }}"
with_items:
- 'etc_release.name'
when: '"etc_release.name" in facts_to_collect'

- name: add etc_release.version to dictionary
set_fact:
etc_release: "{{ etc_release|default({}) | combine({ item: etc_release_version }) }}"
with_items:
- 'etc_release.version'
when: '"etc_release.version" in facts_to_collect'

- name: add etc_release.release to dictionary
set_fact:
etc_release: "{{ etc_release|default({}) | combine({ item: etc_release_release }) }}"
with_items:
- 'etc_release.release'
when: '"etc_release.release" in facts_to_collect'
13 changes: 10 additions & 3 deletions roles/file_contents/tasks/main.yml
@@ -1,5 +1,9 @@
---

- name: initialize file_contents dictionary
set_fact:
file_contents: "{{ file_contents|default({}) }}"

- name: gather etc-issue.etc-issue fact
raw: if [ -f /etc/issue ] ; then cat /etc/issue ; fi
register: etc_issue_etc_issue
Expand All @@ -8,9 +12,10 @@

- name: add etc-issue.etc-issue to dictionary
set_fact:
file_contents: "{{ file_contents|default({}) | combine({ item: etc_issue_etc_issue['stdout']}) }}"
file_contents: "{{ file_contents|default({}) | combine({ item: etc_issue_etc_issue['stdout'] | default('') }) }}"
with_items:
- 'etc-issue.etc-issue'
when: '"etc-issue.etc-issue" in facts_to_collect'

- name: gather instnum.instnum fact
raw: if [ -f /etc/sysconfig/rhn/install-num ] ; then cat /etc/sysconfig/rhn/install-num ; fi
Expand All @@ -20,9 +25,10 @@

- name: add instnum.instnum to dictionary
set_fact:
file_contents: "{{ file_contents|default({}) | combine({ item: instnum_instnum['stdout']}) }}"
file_contents: "{{ file_contents|default({}) | combine({ item: instnum_instnum['stdout'] | default('') }) }}"
with_items:
- 'instnum.instnum'
when: '"instnum.instnum" in facts_to_collect'

- name: gather systemid.contents fact
raw: if [ -f /etc/sysconfig/rhn/systemid ] ; then cat /etc/sysconfig/rhn/systemid ; fi
Expand All @@ -32,9 +38,10 @@

- name: add systemid_contents to dictionary
set_fact:
file_contents: "{{ file_contents|default({}) | combine({ item: systemid_contents['stdout']}) }}"
file_contents: "{{ file_contents|default({}) | combine({ item: systemid_contents['stdout'] | default('') }) }}"
with_items:
- 'systemid.contents'
when: '"systemid.system_id" in facts_to_collect or "SysId_systemid.username" in facts_to_collect'

- name: initialize systemid.system_id to dictionary
set_fact:
Expand Down

0 comments on commit eed4db6

Please sign in to comment.