mirror of
https://github.com/ansible/awx.git
synced 2026-02-16 10:40:01 -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:
@@ -4,6 +4,7 @@
|
|||||||
scan_use_recursive: false
|
scan_use_recursive: false
|
||||||
tasks:
|
tasks:
|
||||||
- scan_packages:
|
- scan_packages:
|
||||||
|
- scan_services:
|
||||||
- scan_files:
|
- scan_files:
|
||||||
path: '{{ scan_file_path }}'
|
path: '{{ scan_file_path }}'
|
||||||
get_checksum: '{{ scan_use_checksum }}'
|
get_checksum: '{{ scan_use_checksum }}'
|
||||||
|
|||||||
@@ -3,10 +3,47 @@
|
|||||||
import os
|
import os
|
||||||
from ansible.module_utils.basic import * # noqa
|
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():
|
def rpm_package_list():
|
||||||
import rpm
|
import rpm
|
||||||
trans_set = rpm.TransactionSet()
|
trans_set = rpm.TransactionSet()
|
||||||
installed_packages = {}
|
installed_packages = []
|
||||||
for package in trans_set.dbMatch():
|
for package in trans_set.dbMatch():
|
||||||
package_details = dict(name=package[rpm.RPMTAG_NAME],
|
package_details = dict(name=package[rpm.RPMTAG_NAME],
|
||||||
version=package[rpm.RPMTAG_VERSION],
|
version=package[rpm.RPMTAG_VERSION],
|
||||||
@@ -14,16 +51,13 @@ def rpm_package_list():
|
|||||||
epoch=package[rpm.RPMTAG_EPOCH],
|
epoch=package[rpm.RPMTAG_EPOCH],
|
||||||
arch=package[rpm.RPMTAG_ARCH],
|
arch=package[rpm.RPMTAG_ARCH],
|
||||||
source='rpm')
|
source='rpm')
|
||||||
if package['name'] not in installed_packages:
|
installed_packages.append(package_details)
|
||||||
installed_packages[package['name']] = [package_details]
|
|
||||||
else:
|
|
||||||
installed_packages[package['name']].append(package_details)
|
|
||||||
return installed_packages
|
return installed_packages
|
||||||
|
|
||||||
def deb_package_list():
|
def deb_package_list():
|
||||||
import apt
|
import apt
|
||||||
apt_cache = apt.Cache()
|
apt_cache = apt.Cache()
|
||||||
installed_packages = {}
|
installed_packages = []
|
||||||
apt_installed_packages = [pk for pk in apt_cache.keys() if apt_cache[pk].is_installed]
|
apt_installed_packages = [pk for pk in apt_cache.keys() if apt_cache[pk].is_installed]
|
||||||
for package in apt_installed_packages:
|
for package in apt_installed_packages:
|
||||||
ac_pkg = apt_cache[package].installed
|
ac_pkg = apt_cache[package].installed
|
||||||
@@ -31,7 +65,7 @@ def deb_package_list():
|
|||||||
version=ac_pkg.version,
|
version=ac_pkg.version,
|
||||||
architecture=ac_pkg.architecture,
|
architecture=ac_pkg.architecture,
|
||||||
source='apt')
|
source='apt')
|
||||||
installed_packages[package] = [package_details]
|
installed_packages.append(package_details)
|
||||||
return installed_packages
|
return installed_packages
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
Reference in New Issue
Block a user