diff --git a/inventory/any.cf b/inventory/any.cf index e3e0a58b92..06c4bf3125 100644 --- a/inventory/any.cf +++ b/inventory/any.cf @@ -1107,7 +1107,11 @@ bundle agent cfe_autorun_inventory_packages fileexists("$(sys.workdir)/state/software_packages.csv"), }; - "use_package_module_for_inventory" or => { "redhat", "debian", "suse", "sles", "alpinelinux", "windows" }; + "use_package_module_for_inventory" -> { "ENT-13525" } + expression => some (".*", "@(default:control_common.package_inventory)"), + comment => concat( "If body common control defines package_inventory then the system", + " is using package modules for inventory"); + "use_package_method_for_inventory" or => { "gentoo", "aix" }; "use_package_method_generic_for_inventory" not => "use_package_module_for_inventory|use_package_method_for_inventory"; @@ -1151,7 +1155,6 @@ bundle agent cfe_autorun_inventory_packages "DEBUG $(this.bundle): we don't have the inventory files." if => "!have_inventory"; } - bundle agent cfe_autorun_inventory_policy_servers # @brief Inventory policy servers { diff --git a/tests/acceptance/17_packages/11_old/unsafe/12_packagesmatching.cf b/tests/acceptance/17_packages/11_old/unsafe/12_packagesmatching.cf index ef382f271b..af0e4c4c4c 100644 --- a/tests/acceptance/17_packages/11_old/unsafe/12_packagesmatching.cf +++ b/tests/acceptance/17_packages/11_old/unsafe/12_packagesmatching.cf @@ -31,18 +31,31 @@ body common control bundle agent init { + vars: + + # if we have the patches, 7 days; otherwise keep trying + "refresh" string => ifelse("have_inventory", "10080", + "0"); + classes: + "have_patches" or => { "community_edition", # not in Community + fileexists("$(sys.workdir)/state/software_patches_avail.csv") }; + + "have_inventory" and => { "have_patches", + fileexists("$(sys.workdir)/state/software_packages.csv"), + }; + packages: # Old way of forcing package updates, for the legacy packages promise. debian:: "cfe_internal_non_existing_package" package_policy => "add", - package_method => inventory_apt_get($(cfe_autorun_inventory_packages.refresh)), + package_method => inventory_apt_get($(refresh)), action => if_elapsed_day; redhat:: "cfe_internal_non_existing_package" package_policy => "add", - package_method => inventory_yum_rpm($(cfe_autorun_inventory_packages.refresh)), + package_method => inventory_yum_rpm($(refresh)), action => if_elapsed_day; vars: diff --git a/tests/acceptance/17_packages/11_old/unsafe/package-inventory.cf b/tests/acceptance/17_packages/11_old/unsafe/package-inventory.cf index c157dabb48..0bdf426727 100644 --- a/tests/acceptance/17_packages/11_old/unsafe/package-inventory.cf +++ b/tests/acceptance/17_packages/11_old/unsafe/package-inventory.cf @@ -28,18 +28,31 @@ bundle agent init bundle agent test { + vars: + + # if we have the patches, 7 days; otherwise keep trying + "refresh" string => ifelse("have_inventory", "10080", + "0"); + classes: + "have_patches" or => { "community_edition", # not in Community + fileexists("$(sys.workdir)/state/software_patches_avail.csv") }; + + "have_inventory" and => { "have_patches", + fileexists("$(sys.workdir)/state/software_packages.csv"), + }; + packages: # Old way of forcing package updates, for the legacy packages promise. debian:: "cfe_internal_non_existing_package" package_policy => "add", - package_method => inventory_apt_get($(cfe_autorun_inventory_packages.refresh)), + package_method => inventory_apt_get($(refresh)), action => if_elapsed_day; redhat:: "cfe_internal_non_existing_package" package_policy => "add", - package_method => inventory_yum_rpm($(cfe_autorun_inventory_packages.refresh)), + package_method => inventory_yum_rpm($(refresh)), action => if_elapsed_day; methods: diff --git a/tests/acceptance/17_packages/11_old/unsafe/timed/inventory_packages_update_frequency.cf b/tests/acceptance/17_packages/11_old/unsafe/timed/inventory_packages_update_frequency.cf index f900104e4e..cc13efaf43 100644 --- a/tests/acceptance/17_packages/11_old/unsafe/timed/inventory_packages_update_frequency.cf +++ b/tests/acceptance/17_packages/11_old/unsafe/timed/inventory_packages_update_frequency.cf @@ -13,18 +13,31 @@ body common control bundle agent init { + vars: + + # if we have the patches, 7 days; otherwise keep trying + "refresh" string => ifelse("have_inventory", "10080", + "0"); + classes: + "have_patches" or => { "community_edition", # not in Community + fileexists("$(sys.workdir)/state/software_patches_avail.csv") }; + + "have_inventory" and => { "have_patches", + fileexists("$(sys.workdir)/state/software_packages.csv"), + }; + packages: # Old way of forcing package updates, for the legacy packages promise. debian:: "cfe_internal_non_existing_package" package_policy => "add", - package_method => inventory_apt_get($(cfe_autorun_inventory_packages.refresh)), + package_method => inventory_apt_get($(refresh)), action => if_elapsed_day; redhat:: "cfe_internal_non_existing_package" package_policy => "add", - package_method => inventory_yum_rpm($(cfe_autorun_inventory_packages.refresh)), + package_method => inventory_yum_rpm($(refresh)), action => if_elapsed_day; }