mirror of
https://github.com/ansible/awx.git
synced 2026-01-12 10:30:03 -03:30
Update scan facts to include the service scanner which was inexplicably
missing, update scan_packages to match the footprint of scan_services (makes searching easier)
This commit is contained in:
parent
1bd2c99171
commit
2e040e9de3
@ -4,6 +4,7 @@
|
||||
scan_use_recursive: false
|
||||
tasks:
|
||||
- scan_packages:
|
||||
- scan_services:
|
||||
- scan_files:
|
||||
path: '{{ scan_file_path }}'
|
||||
get_checksum: '{{ scan_use_checksum }}'
|
||||
|
||||
@ -3,10 +3,47 @@
|
||||
import os
|
||||
from ansible.module_utils.basic import * # noqa
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
module: scan_packages
|
||||
short_description: Return installed packages information as fact data
|
||||
description:
|
||||
- Return information about installed packages as fact data
|
||||
version_added: "1.9"
|
||||
options:
|
||||
requirements: [ ]
|
||||
author: Matthew Jones
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
# Example fact output:
|
||||
# host | success >> {
|
||||
# "ansible_facts": {
|
||||
# "services": [
|
||||
# {
|
||||
# "source": "apt",
|
||||
# "version": "1.0.6-5",
|
||||
# "architecture": "amd64",
|
||||
# "name": "libbz2-1.0"
|
||||
# },
|
||||
# {
|
||||
# "source": "apt",
|
||||
# "version": "2.7.1-4ubuntu1",
|
||||
# "architecture": "amd64",
|
||||
# "name": "patch"
|
||||
# },
|
||||
# {
|
||||
# "source": "apt",
|
||||
# "version": "4.8.2-19ubuntu1",
|
||||
# "architecture": "amd64",
|
||||
# "name": "gcc-4.8-base"
|
||||
# }, ... ] } }
|
||||
'''
|
||||
|
||||
def rpm_package_list():
|
||||
import rpm
|
||||
trans_set = rpm.TransactionSet()
|
||||
installed_packages = {}
|
||||
installed_packages = []
|
||||
for package in trans_set.dbMatch():
|
||||
package_details = dict(name=package[rpm.RPMTAG_NAME],
|
||||
version=package[rpm.RPMTAG_VERSION],
|
||||
@ -14,16 +51,13 @@ def rpm_package_list():
|
||||
epoch=package[rpm.RPMTAG_EPOCH],
|
||||
arch=package[rpm.RPMTAG_ARCH],
|
||||
source='rpm')
|
||||
if package['name'] not in installed_packages:
|
||||
installed_packages[package['name']] = [package_details]
|
||||
else:
|
||||
installed_packages[package['name']].append(package_details)
|
||||
installed_packages.append(package_details)
|
||||
return installed_packages
|
||||
|
||||
def deb_package_list():
|
||||
import apt
|
||||
apt_cache = apt.Cache()
|
||||
installed_packages = {}
|
||||
installed_packages = []
|
||||
apt_installed_packages = [pk for pk in apt_cache.keys() if apt_cache[pk].is_installed]
|
||||
for package in apt_installed_packages:
|
||||
ac_pkg = apt_cache[package].installed
|
||||
@ -31,7 +65,7 @@ def deb_package_list():
|
||||
version=ac_pkg.version,
|
||||
architecture=ac_pkg.architecture,
|
||||
source='apt')
|
||||
installed_packages[package] = [package_details]
|
||||
installed_packages.append(package_details)
|
||||
return installed_packages
|
||||
|
||||
def main():
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user