setting additional package manager for aix

64 views
Skip to first unread message

Xander Cage

unread,
Mar 18, 2021, 4:32:16 AM3/18/21
to help-cfengine

hi,

here i am whith a new delicacy. to make the packageupdatesmatching() function and inventory work correctly in aix, i need to set yum as an "additional" package manager. as aix has set "nimclient" as default, the whole yum/packages/inventory  stuff does not work out of the box.

for testing, its enough to configure it in the policy via bodies and bundles,  but in production  whith complete mpf included, it throws of course duplicate bodies and other various errors.

body file control
{
  inputs => { "$(sys.libdir)/stdlib.cf",
               "$(sys.inputdir)/itsv/itsv_common_lib.cf",
               "$(sys.inputdir)/itsv/hostgroups.cf",
               "$(sys.inputdir)/itsv/itsv_stanza_lib.cf", };
}

bundle common package_module_knowledge_alternate
{

  vars:
      # set yum as alternnate package manager, this should go into mpf in some way
      "platform_default_alternate" string => "yum";

}


body common control
# use the alternate setting from above
{
  package_module => "$(package_module_knowledge_alternate.platform_default_alternate)";
  package_inventory => { $(package_module_knowledge_alternate.platform_default_alternate) };
}

aix default seting ->



bundle common package_module_knowledge
# @brief common package_module_knowledge bundle
#
# This common bundle defines which package modules are the defaults on different
# platforms.
{
  vars:
    ...
    aix::
      "platform_default" string => "nimclient";
    ...
     # CFEngine 3.12.2+ and 3.14+ have new package module on Windows
    windows.cfengine_3_12.!(cfengine_3_12_0|cfengine_3_12_1)::
      "platform_default" string => "msiexec";
@if minimum_version(3.14)
    windows::
      "platform_default" string => "msiexec";
@endif
}


any possibilty to configure this, best outside of mpf, augments or something like that?

Nick Anderson

unread,
Mar 18, 2021, 2:52:14 PM3/18/21
to Xander Cage, help-cfengine

Xander Cage <christia...@itsv.at> writes:

hi,

here i am whith a new delicacy. to make the packageupdatesmatching() function and inventory work correctly in aix, i need to set yum as an "additional" package manager. as aix has set "nimclient" as default, the whole yum/packages/inventory stuff does not work out of the box.

for testing, its enough to configure it in the policy via bodies and bundles, but in production whith complete mpf included, it throws of course duplicate bodies and other various errors.

body file control
{
  inputs => { "$(sys.libdir)/stdlib.cf",
               "$(sys.inputdir)/itsv/itsv_common_lib.cf",
               "$(sys.inputdir)/itsv/hostgroups.cf",
               "$(sys.inputdir)/itsv/itsv_stanza_lib.cf", };
}

If you want to make this policy file usable both as a policy entry (cf-agent -f ./whatever-this-file-is.cf) and part of a full policy set, I would not use sys.inputdir variables probably your errors about duplicate bundles and bodies are a result of including two separate files that have the same content, e.g. imagine you have used variables that result in /var/cfengine/masterfiles/lib/stdlib.cf and /var/cfengine/inputs/lib/stdlib.cf

any possibilty to configure this, best outside of mpf, augments or something like that?

Currently the MPF is not instrumented to configure this without modifying policy, but we are happy to review pull requests that implement that kind of feature.

Just a quick look at the MPF …

I see package_inventory and package_module in body common control reference package_module_knowledg.platform_default. Probably would want to de-conflate that having package_inventory use a different variable, and that variable could set the default and consider something defined in def (like via augments).

Xander Cage

unread,
Mar 23, 2021, 9:36:06 AM3/23/21
to help-cfengine
did what you suggested,  and the variables are set as expected.

alternate platform set in def.json:

root@aixtest01: /var/cfengine/inputs/itsv # /var/cfengine/bin/cf-promises --show-vars | grep yum
default:def.path[yum]                    /usr/bin/yum                                                 source=augments_file
default:def.platform_default_alternate_aix yum                                                          source=augments_file

in promise:

root@aixtest01: /var/cfengine/inputs/itsv # /var/cfengine/bin/cf-agent -KI -D DEBUG -b packages_version_latest_warn_classes
    info: Using command line specified bundlesequence
R: Some debugging output
...
gibberish stuff removed
...
R: []
R: Classes defined as result of packages promise:

R: package_module is set to yum
R: package_inventory is set to yum

but it still insists in using nimclient/aix lpp inventory stuff...


 verbose: ----------------------------------------------------------------
 verbose:  Begin policy/promise evaluation
 verbose: ----------------------------------------------------------------
    info: Using command line specified bundlesequence
 verbose: Using bundlesequence =>  {"packages_version_latest_warn_classes"}
 verbose: B: *****************************************************************
 verbose: B: BEGIN bundle packages_version_latest_warn_classes
 verbose: B: *****************************************************************
 verbose: V: .........................................................
 verbose: V: BEGIN variables (pass 1)
 verbose: V:     Computing value of 'package_module'
 verbose: V:     Computing value of 'package_inventory'
 verbose: V:     Computing value of '_wanted_packages_versions'
 verbose: V:     Computing value of '_pkg'
 verbose: V:     Computing value of '_pkg_name_regex'
 verbose: Cannot open the available packages inventory '/var/cfengine/state/software_patches_avail.csv' - This is not necessarily an error. Either the inventory policy has not been included, or it has not had time to have an effect yet or you are usingnew package promise and check for legacy promise is made.A future call may still succeed. (fopen: No such file or directory)
 verbose: V:     Computing value of '_package_updates'
 verbose: V:     Computing value of '_updates_available'
 verbose: V:     Computing value of '_count_updates'
 verbose: Skipping iteration since variable '_updates_available' resolves to an empty list
 verbose: V:     Computing value of '_packages_upgradeable'
 verbose: C: .........................................................


anything elso seems to be standing in the way...?

Nick Anderson

unread,
Mar 23, 2021, 9:58:43 AM3/23/21
to help-cfengine
Can you open a PR with the changes you made? I think it will be easier to investigate if I have a more full picture.

Xander Cage

unread,
Mar 23, 2021, 10:23:15 AM3/23/21
to help-cfengine
i changed nothing in the framework, only def.json and the policy were changed.

Nick Anderson

unread,
Mar 23, 2021, 10:29:23 AM3/23/21
to Xander Cage, help-cfengine

I am pretty sure that the framework needs to be changed. Either by hard coding the changes so that yum gets used on aix or to instrument the framework so that you can override the package inventory via augments.

--
You received this message because you are subscribed to a topic in the Google Groups "help-cfengine" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/help-cfengine/jzDzekirYTY/unsubscribe.
To unsubscribe from this group and all its topics, send an email to help-cfengin...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/help-cfengine/2865ef88-1e31-4167-8fed-ef2e927f98c0n%40googlegroups.com.

Xander Cage

unread,
Mar 23, 2021, 10:38:29 AM3/23/21
to help-cfengine
i made a git repo with the two file for review...

Nick Anderson

unread,
Mar 23, 2021, 3:07:22 PM3/23/21
to Xander Cage, help-cfengine

Xander Cage <christia...@itsv.at> writes:

i made a git repo with the two file for review…

https://github.com/flynn1973/cfengine_aix_yum

Hi Christian,

In those two files, I still do not see that you have set package_module and more importantly package_inventory. The body common control I see there is commented out.

On a test system I (CentOS 7):

Commented out package_module and package_inventory.

[root@hub services]# grep -P "#.*package_(module|inventory).*" ../promises.cf -B1
    (redhat|centos|suse|sles|opensuse|amazon_linux).cfe_yum_package_module_supported.!disable_inventory_package_refresh::
#        package_inventory => { $(package_module_knowledge.platform_default) };
--
    (debian|redhat|suse|sles|opensuse|amazon_linux)::
#          package_module => $(package_module_knowledge.platform_default);

I ran the update policy (cf-agent -KIf update.cf).

I deleted the package installed/updates cache generated by the package_module implementation of packages promises from state (rm -f /var/cfengine/state/packages_*.lmdb*).

I ran the main policy, then verified that no package data was cached in state (cf-agent -KI; ls /var/cfengine/state | grep packages_).

I introduced a packages promise, similar to what you were using although I specified the package module because after commenting out package_module in body common control, there is no default package module selected. If you don't then I would expect to see errors like Can not find package module body in policy. and New package promise failed sanity check. when executing the policy.

packages:
  "screen"
    policy => "present",
    package_module => yum,
    version => "latest",
    action => policy( "warn" );

I ran the update policy, then a normal policy run (cf-agent -KIf update.cf; cf-agent -KI). I saw warning: Package 'screen' should be installed emitted that screen should be installed (but wasn't because action => policy( "warn" ), ).

I inspected state and saw that the datastores for caching package info had been created.

[root@hub services]# ls /var/cfengine/state/ | grep packages_
packages_installed_yum.lmdb
packages_installed_yum.lmdb-lock
packages_installed_yum.lmdb.lock
packages_updates_yum.lmdb
packages_updates_yum.lmdb-lock
packages_updates_yum.lmdb.lock

I inspected the content using cf-check dump

[root@hub services]# cf-check dump /var/cfengine/state/packages_updates_yum.lmdb | head
{
        "<inventory>": "NetworkManager,1:1.18.8-2.el7_9,x86_64\nNetworkManager-libnm,1:1.18.8-2.el7_9,x86_64\nNetworkManager-team,1:1.18.8-2.el7_9,x86_64\nNetworkManager-tui,1:1.18.8-2.el7_9,x86_64\nbind-export-libs,32:9.11.4-26.P2.el7_9.4,x86_64\nca-certificates,2020.2.41-70.0.el7_8,noarch\ncentos-release,7-9.2009.1.el7.centos,x86_64\nchkconfig,1.7.6-1.el7,x86_64\ncoreutils,8.22-24.el7_9.2,x86_64\ncpio,2.11-28.el7,x86_64\ncups-libs,1:1.6.3-51.el7,x86_64\ncurl,7.29.0-59.el7_9.1,x86_64\ndbus,1:1.10.24-15.el7,x86_64\ndbus-libs,1:1.10.24-15.el7,x86_64\ndevice-mapper,7:1.02.170-6.el7_9.4,x86_64\ndevice-mapper-libs,7:1.02.170-6.el7_9.4,x86_64\ndhclient,12:4.2.5-82.el7.centos,x86_64\ndhcp-common,12:4.2.5-82.el7.centos,x86_64\ndhcp-libs,12:4.2.5-82.el7.centos,x86_64\ndmidecode,1:3.2-5.el7_9.1,x86_64\ndracut,033-572.el7,x86_64\ne2fsprogs,1.42.9-19.el7,x86_64\ne2fsprogs-libs,1.42.9-19.el7,x86_64\nelfutils-default-yama-scope,0.176-5.el7,noarch\nexpat,2.1.0-12.el7,x86_64\nfile,5.11-37.el7,x86_64\nfile-libs,5.11-37.el7,x86_64\nfirewalld,0.6.3-12.el7,noarch\nfirewalld-filesystem,0.6.3-12.el7,noarch\nfreetype,2.8-14.el7_9.1,x86_64\nglib2,2.56.1-8.el7,x86_64\ngrub2,1:2.02-0.87.el7.centos.6,x86_64\ngrub2-common,1:2.02-0.87.el7.centos.6,noarch\ngrub2-pc,1:2.02-0.87.el7.centos.6,x86_64\ngrub2-pc-modules,1:2.02-0.87.el7.centos.6,noarch\ngrub2-tools,1:2.02-0.87.el7.centos.6,x86_64\ngrub2-tools-extra,1:2.02-0.87.el7.centos.6,x86_64\ngrub2-tools-minimal,1:2.02-0.87.el7.centos.6,x86_64\ngssproxy,0.7.0-29.el7,x86_64\nhwdata,0.252-9.7.el7,x86_64\ninitscripts,9.49.53-1.el7_9.1,x86_64\niproute,4.11.0-30.el7,x86_64\niptables,1.4.21-35.el7,x86_64\nkernel-tools,3.10.0-1160.21.1.el7,x86_64\nkernel-tools-libs,3.10.0-1160.21.1.el7,x86_64\nkpartx,0.4.9-134.el7_9,x86_64\nkrb5-libs,1.15.1-50.el7,x86_64\nlibblkid,2.23.2-65.el7_9.1,x86_64\nlibcom_err,1.42.9-19.el7,x86_64\nlibcroco,0.6.12-6.el7_9,x86_64\nlibcurl,7.29.0-59.el7_9.1,x86_64\nlibmount,2.23.2-65.el7_9.1,x86_64\nlibmspack,0.5-0.8.alpha.el7,x86_64\nlibpng,2:1.5.13-8.el7,x86_64\nlibsmartcols,2.23.2-65.el7_9.1,x86_64\nlibss,1.42.9-19.el7,x86_64\nlibssh2,1.8.0-4.el7,x86_64\nlibstdc++,4.8.5-44.el7,x86_64\nlibteam,1.29-3.el7,x86_64\nlibuuid,2.23.2-65.el7_9.1,x86_64\nlibwbclient,4.10.16-13.el7_9,x86_64\nlibxml2,2.9.1-6.el7.5,x86_64\nlibxml2-python,2.9.1-6.el7.5,x86_64\nlibxslt,1.1.28-6.el7,x86_64\nlinux-firmware,20200421-80.git78c0348.el7_9,noarch\nlshw,B.02.18-17.el7,x86_64\nlz4,1.8.3-1.el7,x86_64\nmariadb-libs,1:5.5.68-1.el7,x86_64\nnfs-utils,1:1.3.0-0.68.el7,x86_64\nnspr,4.25.0-2.el7_9,x86_64\nnss,3.53.1-3.el7_9,x86_64\nnss-softokn,3.53.1-6.el7_9,x86_64\nnss-softokn-freebl,3.53.1-6.el7_9,x86_64\nnss-sysinit,3.53.1-3.el7_9,x86_64\nnss-tools,3.53.1-3.el7_9,x86_64\nnss-util,3.53.1-1.el7_9,x86_64\nopen-vm-tools,11.0.5-3.el7_9.2,x86_64\nopenldap,2.4.44-22.el7,x86_64\nopenssl,1:1.0.2k-21.el7_9,x86_64\nopenssl-libs,1:1.0.2k-21.el7_9,x86_64\nprocps-ng,3.3.10-28.el7,x86_64\npython,2.7.5-90.el7,x86_64\npython-firewall,0.6.3-12.el7,noarch\npython-libs,2.7.5-90.el7,x86_64\npython-perf,3.10.0-1160.21.1.el7,x86_64\nrpm,4.11.3-45.el7,x86_64\nrpm-build-libs,4.11.3-45.el7,x86_64\nrpm-libs,4.11.3-45.el7,x86_64\nrpm-python,4.11.3-45.el7,x86_64\nrsyslog,8.24.0-57.el7_9,x86_64\nsamba-client-libs,4.10.16-13.el7_9,x86_64\nsamba-common,4.10.16-13.el7_9,noarch\nsamba-common-libs,4.10.16-13.el7_9,x86_64\nsamba-libs,4.10.16-13.el7_9,x86_64\nsed,4.2.2-7.el7,x86_64\nselinux-policy,3.13.1-268.el7_9.2,noarch\nselinux-policy-targeted,3.13.1-268.el7_9.2,noarch\nsudo,1.8.23-10.el7_9.1,x86_64\nsystemd,219-78.el7_9.3,x86_64\nsystemd-libs,219-78.el7_9.3,x86_64\nsystemd-sysv,219-78.el7_9.3,x86_64\nteamd,1.29-3.el7,x86_64\ntuned,2.11.0-11.el7_9,noarch\ntzdata,2021a-1.el7,noarch\nutil-linux,2.23.2-65.el7_9.1,x86_64\nvim-minimal,2:7.4.629-8.el7_9,x86_64\nwpa_supplicant,1:2.6-12.el7_9.2,x86_64\nxfsprogs,4.5.0-22.el7,x86_64\nyum,3.4.3-168.el7.centos,noarch\nyum-plugin-fastestmirror,1.1.31-54.el7_8,noarch\nyum-utils,1.1.31-54.el7_8,noarch\n",
        "N<NetworkManager-libnm>": "V<1:1.18.8-2.el7_9>A<x86_64>\n",
        "N<NetworkManager-team>": "V<1:1.18.8-2.el7_9>A<x86_64>\n",
        "N<NetworkManager-tui>": "V<1:1.18.8-2.el7_9>A<x86_64>\n",
        "N<NetworkManager>": "V<1:1.18.8-2.el7_9>A<x86_64>\n",
        "N<bind-export-libs>": "V<32:9.11.4-26.P2.el7_9.4>A<x86_64>\n",
        "N<ca-certificates>": "V<2020.2.41-70.0.el7_8>A<noarch>\n",
        "N<centos-release>": "V<7-9.2009.1.el7.centos>A<x86_64>\n",
        "N<chkconfig>": "V<1.7.6-1.el7>A<x86_64>\n",

So, can we get data from packagesmatching() and packageupdatesmatching() without package_inventory being set in body common control? I introduced a couple of reports to see.

reports:
  "Installed:$(const.n)$(with)"
    with => string_mustache( "{{$-top-}}",
              packagesmatching( ".*", ".*", ".*", "yum" ));

  "Updates:$(const.n)$(with)"
    with => string_mustache( "{{$-top-}}",
              packageupdatesmatching( ".*", ".*", ".*", "yum" ));

I ran update and normal policy, and the result is that I got nothing back from packagesmatching() or packageupdatesmatching().

R: Installed:
[]
R: Updates:
[]

I set package_inventory in body common control to yum.

[root@hub services]# grep -P "#.*package_(module|inventory).*" ../promises.cf -B2
    (redhat|centos|suse|sles|opensuse|amazon_linux).cfe_yum_package_module_supported.!disable_inventory_package_refresh::
         package_inventory => { "yum"  };
#        package_inventory => { $(package_module_knowledge.platform_default) };

    (debian|redhat|suse|sles|opensuse|amazon_linux)::
#          package_module => $(package_module_knowledge.platform_default);

I ran update and normal policies (cf-agent -KIf update.cf; cf-agent -KI ).

I got output from the functions as expected:

R: Installed:
[{"arch":"x86_64","method":"yum","name":"hypervvssd","version":"0-0.34.20180415git.el7"},{"arch":"noarch","method":"yum","name":"grub2-common","version":"2.02-0.81.el7.centos"},{"arch":"x86_64","method":"yum","name":"grub2-tools-extra","version":"2.02-0.81.el7.centos"},{"arch":"noarch","method":"yum","name":"setup","version":"2.8.71-11.el7"},{"arch":"x86_64","method":"yum","name":"quota","version":"4.01-19.el7"},{"arch":"noarch","method":"yum","name":"hyperv-daemons-license","version":"0-0.34.20180415git.el7"},{"arch":"x86_64","method":"yum","name":"pciutils","version":"3.5.1-3.el7"},{"arch":"noarch","method":"yum","name":"grub2-pc-modules","version":"2.02-0.81.el7.centos"},{"arch":"x86_64","method":"yum","name":"libdrm","version":"2.4.97-2.el7"},{"arch":"noarch","method":"yum","name":"ncurses-base","version":"5.9-14.20130511.el7_4"},{"arch":"x86_64","method":"yum","name":"NetworkManager","version":"1.18.4-3.el7"},{"arch":"noarch","method":"yum","name":"firewalld-filesystem","version":"0.6.3-8.el7_8.1"},{"arch":"x86_64","method":"yum","name":"trousers","version":"0.3.14-2.el7"},{"arch":"x86_64","method":"yum","name":"samba-common-libs","version":"4.10.4-10.el7"},{"arch":"x86_64","method":"yum","name":"libwbclient","version":"4.10.4-10.el7"},{"arch":"x86_64","method":"yum","name":"nss-util","version":"3.44.0-4.el7_7"},{"arch":"x86_64","method":"yum","name":"gssproxy","version":"0.7.0-28.el7"},{"arch":"x86_64","method":"yum","name":"ncurses-libs","version":"5.9-14.20130511.el7_4"},{"arch":"x86_64","method":"yum","name":"dbus-glib","version":"0.100-7.el7"},{"arch":"x86_64","method":"yum","name":"libsepol","version":"2.5-10.el7"},{"arch":"noarch","method":"yum","name":"python-slip-dbus","version":"0.4.0-4.el7"},{"arch":"x86_64","method":"yum","name":"libselinux","version":"2.5-15.el7"},{"arch":"noarch","method":"yum","name":"python-pyudev","version":"0.15-9.el7"},{"arch":"x86_64","method":"yum","name":"info","version":"5.1-5.el7"},{"arch":"x86_64","method":"yum","name":"sg3_utils-libs","version":"1.37-19.el7"},{"arch":"x86_64","method":"yum","name":"xz-libs","version":"5.2.2-1.el7"},{"arch":"x86_64","method":"yum","name":"kbd","version":"1.15.5-15.el7"},{"arch":"x86_64","method":"yum","name":"chkconfig","version":"1.7.4-1.el7"},{"arch":"noarch","method":"yum","name":"tuned","version":"2.11.0-8.el7"},{"arch":"x86_64","method":"yum","name":"bzip2-libs","version":"1.0.6-13.el7"},{"arch":"x86_64","method":"yum","name":"NetworkManager-team","version":"1.18.4-3.el7"},{"arch":"x86_64","method":"yum","name":"libxml2","version":"2.9.1-6.el7.4"},{"arch":"x86_64","method":"yum","name":"cifs-utils","version":"6.2-10.el7"},{"arch":"x86_64","method":"yum","name":"libdb","version":"5.3.21-25.el7"},{"arch":"x86_64","method":"yum","name":"open-vm-tools","version":"10.3.10-2.el7"},{"arch":"x86_64","method":"yum","name":"libtalloc","version":"2.1.16-1.el7"},{"arch":"x86_64","method":"yum","name":"grub2","version":"2.02-0.81.el7.centos"},{"arch":"x86_64","method":"yum","name":"libgpg-error","version":"1.12-3.el7"},{"arch":"x86_64","method":"yum","name":"dhclient","version":"4.2.5-79.el7.centos"},{"arch":"x86_64","method":"yum","name":"libcap","version":"2.22-11.el7"},{"arch":"x86_64","method":"yum","name":"openssh-clients","version":"7.4p1-21.el7"},{"arch":"x86_64","method":"yum","name":"libcap-ng","version":"0.7.5-4.el7"},{"arch":"x86_64","method":"yum","name":"lshw","version":"B.02.18-14.el7"},{"arch":"x86_64","method":"yum","name":"libgcrypt","version":"1.5.3-14.el7"},{"arch":"x86_64","method":"yum","name":"audit","version":"2.8.5-4.el7"},{"arch":"x86_64","method":"yum","name":"chrony","version":"3.4-1.el7"},{"arch":"x86_64","method":"yum","name":"libffi","version":"3.0.13-19.el7"},{"arch":"x86_64","method":"yum","name":"rsyslog","version":"8.24.0-52.el7"},{"arch":"x86_64","method":"yum","name":"keyutils-libs","version":"1.5.8-3.el7"},{"arch":"x86_64","method":"yum","name":"irqbalance","version":"1.0.7-12.el7"},{"arch":"x86_64","method":"yum","name":"libtevent","version":"0.9.39-1.el7"},{"arch":"x86_64","method":"yum","name":"man-db","version":"2.6.3-11.el7"},{"arch":"x86_64","method":"yum","name":"libldb","version":"1.5.4-1.el7"},{"arch":"x86_64","method":"yum","name":"btrfs-progs","version":"4.9.1-1.el7"},{"arch":"x86_64","method":"yum","name":"cpio","version":"2.11-27.el7"},{"arch":"x86_64","method":"yum","name":"iprutils","version":"2.4.17.1-3.el7_7"},{"arch":"x86_64","method":"yum","name":"libnl3","version":"3.2.28-4.el7"},{"arch":"x86_64","method":"yum","name":"sudo","version":"1.8.23-9.el7"},{"arch":"x86_64","method":"yum","name":"p11-kit","version":"0.23.5-3.el7"},{"arch":"noarch","method":"yum","name":"bash-completion","version":"2.1-8.el7"},{"arch":"x86_64","method":"yum","name":"e2fsprogs-libs","version":"1.42.9-17.el7"},{"arch":"x86_64","method":"yum","name":"xfsprogs","version":"4.5.0-20.el7"},{"arch":"x86_64","method":"yum","name":"file-libs","version":"5.11-36.el7"},{"arch":"x86_64","method":"yum","name":"libsysfs","version":"2.1.0-16.el7"},{"arch":"x86_64","method":"yum","name":"gmp","version":"6.0.0-15.el7"},{"arch":"noarch","method":"yum","name":"man-pages","version":"3.53-5.el7"},{"arch":"x86_64","method":"yum","name":"libverto","version":"0.2.5-4.el7"},{"arch":"x86_64","method":"yum","name":"kernel","version":"3.10.0-1160.21.1.el7"},{"arch":"x86_64","method":"yum","name":"pciutils-libs","version":"3.5.1-3.el7"},{"arch":"noarch","method":"yum","name":"perl-HTTP-Tiny","version":"0.033-3.el7"},{"arch":"x86_64","method":"yum","name":"libnl3-cli","version":"3.2.28-4.el7"},{"arch":"noarch","method":"yum","name":"perl-Pod-Perldoc","version":"3.20-4.el7"},{"arch":"x86_64","method":"yum","name":"keyutils","version":"1.5.8-3.el7"},{"arch":"x86_64","method":"yum","name":"perl-Encode","version":"2.51-7.el7"},{"arch":"x86_64","method":"yum","name":"libassuan","version":"2.1.0-3.el7"},{"arch":"noarch","method":"yum","name":"perl-Pod-Usage","version":"1.63-3.el7"},{"arch":"x86_64","method":"yum","name":"kmod-libs","version":"20-28.el7"},{"arch":"x86_64","method":"yum","name":"perl-Storable","version":"2.45-3.el7"},{"arch":"x86_64","method":"yum","name":"libunistring","version":"0.9.3-9.el7"},{"arch":"noarch","method":"yum","name":"perl-constant","version":"1.27-2.el7"},{"arch":"x86_64","method":"yum","name":"libidn","version":"1.28-4.el7"},{"arch":"noarch","method":"yum","name":"perl-Time-Local","version":"1.2300-2.el7"},{"arch":"x86_64","method":"yum","name":"sysvinit-tools","version":"2.88-14.dsf.el7"},{"arch":"x86_64","method":"yum","name":"perl-Time-HiRes","version":"1.9725-3.el7"},{"arch":"x86_64","method":"yum","name":"libnfnetlink","version":"1.0.1-4.el7"},{"arch":"x86_64","method":"yum","name":"perl-Scalar-List-Utils","version":"1.27-248.el7"},{"arch":"x86_64","method":"yum","name":"newt","version":"0.52.15-4.el7"},{"arch":"noarch","method":"yum","name":"perl-File-Temp","version":"0.23.01-3.el7"},{"arch":"x86_64","method":"yum","name":"libtasn1","version":"4.10-1.el7"},{"arch":"x86_64","method":"yum","name":"perl-threads-shared","version":"1.43-6.el7"},{"arch":"x86_64","method":"yum","name":"hostname","version":"3.13-3.el7_7.1"},{"arch":"x86_64","method":"yum","name":"perl-Filter","version":"1.49-3.el7"},{"arch":"x86_64","method":"yum","name":"libbasicobjects","version":"0.1.1-32.el7"},{"arch":"noarch","method":"yum","name":"perl-Getopt-Long","version":"2.40-3.el7"},{"arch":"noarch","method":"yum","name":"ca-certificates","version":"2019.2.32-76.el7_7"},{"arch":"x86_64","method":"yum","name":"kernel-devel","version":"3.10.0-1160.21.1.el7"},{"arch":"x86_64","method":"yum","name":"iptables","version":"1.4.21-34.el7"},{"arch":"x86_64","method":"yum","name":"glibc-common","version":"2.17-323.el7_9"},{"arch":"x86_64","method":"yum","name":"less","version":"458-9.el7"},{"arch":"x86_64","method":"yum","name":"zlib","version":"1.2.7-19.el7_9"},{"arch":"x86_64","method":"yum","name":"ipset-libs","version":"7.1-1.el7"},{"arch":"x86_64","method":"yum","name":"libmpc","version":"1.0.1-3.el7"},{"arch":"x86_64","method":"yum","name":"nettle","version":"2.7.1-8.el7"},{"arch":"x86_64","method":"yum","name":"cpp","version":"4.8.5-44.el7"},{"arch":"x86_64","method":"yum","name":"fuse","version":"2.9.2-11.el7"},{"arch":"x86_64","method":"yum","name":"zlib-devel","version":"1.2.7-19.el7_9"},{"arch":"x86_64","method":"yum","name":"vim-minimal","version":"7.4.629-6.el7"},{"arch":"x86_64","method":"yum","name":"kernel-headers","version":"3.10.0-1160.21.1.el7"},{"arch":"x86_64","method":"yum","name":"pinentry","version":"0.8.1-17.el7"},{"arch":"x86_64","method":"yum","name":"glibc-devel","version":"2.17-323.el7_9"},{"arch":"x86_64","method":"yum","name":"make","version":"3.82-24.el7"},{"arch":"x86_64","method":"yum","name":"elfutils-libelf-devel","version":"0.176-5.el7"},{"arch":"x86_64","method":"yum","name":"freetype","version":"2.8-14.el7"},{"arch":"x86_64","method":"yum","name":"cfengine-nova-hub","version":"3.17.0-1.el6"},{"arch":"noarch","method":"yum","name":"linux-firmware","version":"20191203-76.gite8a0f4c.el7"},{"arch":"x86_64","method":"yum","name":"openssl-libs","version":"1.0.2k-19.el7"},{"arch":"x86_64","method":"yum","name":"krb5-libs","version":"1.15.1-46.el7"},{"arch":"x86_64","method":"yum","name":"python","version":"2.7.5-88.el7"},{"arch":"x86_64","method":"yum","name":"libmount","version":"2.23.2-63.el7"},{"arch":"x86_64","method":"yum","name":"shared-mime-info","version":"1.8-5.el7"},{"arch":"x86_64","method":"yum","name":"cracklib","version":"2.9.0-11.el7"},{"arch":"x86_64","method":"yum","name":"cracklib-dicts","version":"2.9.0-11.el7"},{"arch":"x86_64","method":"yum","name":"pam","version":"1.1.8-23.el7"},{"arch":"x86_64","method":"yum","name":"libcroco","version":"0.6.12-4.el7"},{"arch":"x86_64","method":"yum","name":"cyrus-sasl-lib","version":"2.1.26-23.el7"},{"arch":"x86_64","method":"yum","name":"libverto-libevent","version":"0.2.5-4.el7"},{"arch":"x86_64","method":"yum","name":"gettext","version":"0.19.8.1-3.el7"},{"arch":"x86_64","method":"yum","name":"python-gobject-base","version":"3.22.0-1.el7_4.1"},{"arch":"x86_64","method":"yum","name":"grubby","version":"8.28-26.el7"},{"arch":"x86_64","method":"yum","name":"pytalloc","version":"2.1.16-1.el7"},{"arch":"noarch","method":"yum","name":"python-iniparse","version":"0.4-9.el7"},{"arch":"x86_64","method":"yum","name":"pyldb","version":"1.5.4-1.el7"},{"arch":"x86_64","method":"yum","name":"newt-python","version":"0.52.15-4.el7"},{"arch":"noarch","method":"yum","name":"python-kitchen","version":"1.1.1-5.el7"},{"arch":"x86_64","method":"yum","name":"python-schedutils","version":"0.4-6.el7"},{"arch":"x86_64","method":"yum","name":"libselinux-python","version":"2.5-15.el7"},{"arch":"x86_64","method":"yum","name":"pyxattr","version":"0.5.1-5.el7"},{"arch":"x86_64","method":"yum","name":"bind-export-libs","version":"9.11.4-16.P2.el7_8.2"},{"arch":"x86_64","method":"yum","name":"nss-pem","version":"1.0.3-7.el7"},{"arch":"x86_64","method":"yum","name":"nss-sysinit","version":"3.44.0-7.el7_7"},{"arch":"x86_64","method":"yum","name":"libcurl","version":"7.29.0-57.el7"},{"arch":"x86_64","method":"yum","name":"rpm-libs","version":"4.11.3-43.el7"},{"arch":"x86_64","method":"yum","name":"openldap","version":"2.4.44-21.el7_6"},{"arch":"x86_64","method":"yum","name":"libnfsidmap","version":"0.25-19.el7"},{"arch":"noarch","method":"yum","name":"python-urlgrabber","version":"3.10-10.el7"},{"arch":"x86_64","method":"yum","name":"fipscheck","version":"1.4.1-6.el7"},{"arch":"x86_64","method":"yum","name":"mariadb-libs","version":"5.5.65-1.el7"},{"arch":"x86_64","method":"yum","name":"mozjs17","version":"17.0.0-20.el7"},{"arch":"x86_64","method":"yum","name":"kernel-tools-libs","version":"3.10.0-1127.el7"},{"arch":"x86_64","method":"yum","name":"libini_config","version":"1.3.1-32.el7"},{"arch":"x86_64","method":"yum","name":"ustr","version":"1.0.4-16.el7"},{"arch":"x86_64","method":"yum","name":"shadow-utils","version":"4.6-5.el7"},{"arch":"x86_64","method":"yum","name":"libmspack","version":"0.5-0.7.alpha.el7"},{"arch":"x86_64","method":"yum","name":"libndp","version":"1.2-9.el7"},{"arch":"x86_64","method":"yum","name":"gnupg2","version":"2.0.22-5.el7_5"},{"arch":"x86_64","method":"yum","name":"rpm-python","version":"4.11.3-43.el7"},{"arch":"x86_64","method":"yum","name":"pygpgme","version":"0.3-9.el7"},{"arch":"noarch","method":"yum","name":"yum","version":"3.4.3-167.el7.centos"},{"arch":"x86_64","method":"yum","name":"libfastjson","version":"0.99.4-3.el7"},{"arch":"x86_64","method":"yum","name":"qrencode-libs","version":"3.4.1-3.el7"},{"arch":"x86_64","method":"yum","name":"libestr","version":"0.1.9-2.el7"},{"arch":"x86_64","method":"yum","name":"numactl-libs","version":"2.0.12-5.el7"},{"arch":"x86_64","method":"yum","name":"hardlink","version":"1.0-19.el7"},{"arch":"x86_64","method":"yum","name":"libseccomp","version":"2.3.1-4.el7"},{"arch":"x86_64","method":"yum","name":"procps-ng","version":"3.3.10-27.el7"},{"arch":"x86_64","method":"yum","name":"device-mapper","version":"1.02.164-7.el7_8.1"},{"arch":"x86_64","method":"yum","name":"device-mapper-libs","version":"1.02.164-7.el7_8.1"},{"arch":"x86_64","method":"yum","name":"dracut","version":"033-568.el7"},{"arch":"x86_64","method":"yum","name":"dbus-libs","version":"1.10.24-13.el7_6"},{"arch":"x86_64","method":"yum","name":"dbus","version":"1.10.24-13.el7_6"},{"arch":"x86_64","method":"yum","name":"systemd-sysv","version":"219-73.el7_8.5"},{"arch":"x86_64","method":"yum","name":"polkit-pkla-compat","version":"0.1-4.el7"},{"arch":"x86_64","method":"yum","name":"avahi-libs","version":"0.6.31-20.el7"},{"arch":"x86_64","method":"yum","name":"grub2-tools-minimal","version":"2.02-0.81.el7.centos"},{"arch":"x86_64","method":"yum","name":"rpcbind","version":"0.2.0-49.el7"},{"arch":"x86_64","method":"yum","name":"grub2-tools","version":"2.02-0.81.el7.centos"},{"arch":"x86_64","method":"yum","name":"initscripts","version":"9.49.49-1.el7"},{"arch":"x86_64","method":"yum","name":"cronie-anacron","version":"1.4.11-23.el7"},{"arch":"noarch","method":"yum","name":"crontabs","version":"1.11-6.20121102git.el7"},{"arch":"x86_64","method":"yum","name":"dhcp-libs","version":"4.2.5-79.el7.centos"},{"arch":"x86_64","method":"yum","name":"openssh","version":"7.4p1-21.el7"},{"arch":"x86_64","method":"yum","name":"hypervkvpd","version":"0-0.34.20180415git.el7"},{"arch":"x86_64","method":"yum","name":"hypervfcopyd","version":"0-0.34.20180415git.el7"},{"arch":"x86_64","method":"yum","name":"centos-release","version":"7-8.2003.0.el7.centos"},{"arch":"x86_64","method":"yum","name":"grub2-pc","version":"2.02-0.81.el7.centos"},{"arch":"x86_64","method":"yum","name":"filesystem","version":"3.2-25.el7"},{"arch":"noarch","method":"yum","name":"selinux-policy","version":"3.13.1-266.el7"},{"arch":"noarch","method":"yum","name":"basesystem","version":"10.0-7.el7.centos"},{"arch":"x86_64","method":"yum","name":"libpciaccess","version":"0.14-1.el7"},{"arch":"noarch","method":"yum","name":"quota-nls","version":"4.01-19.el7"},{"arch":"x86_64","method":"yum","name":"wpa_supplicant","version":"2.6-12.el7"},{"arch":"noarch","method":"yum","name":"kbd-legacy","version":"1.15.5-15.el7"},{"arch":"x86_64","method":"yum","name":"ebtables","version":"2.0.10-16.el7"},{"arch":"noarch","method":"yum","name":"tzdata","version":"2020a-1.el7"},{"arch":"x86_64","method":"yum","name":"gnutls","version":"3.3.29-9.el7_6"},{"arch":"x86_64","method":"yum","name":"nss-softokn-freebl","version":"3.44.0-8.el7_7"},{"arch":"x86_64","method":"yum","name":"samba-libs","version":"4.10.4-10.el7"},{"arch":"x86_64","method":"yum","name":"nspr","version":"4.21.0-1.el7"},{"arch":"x86_64","method":"yum","name":"samba-client-libs","version":"4.10.4-10.el7"},{"arch":"x86_64","method":"yum","name":"libstdc++","version":"4.8.5-39.el7"},{"arch":"x86_64","method":"yum","name":"teamd","version":"1.29-1.el7"},{"arch":"x86_64","method":"yum","name":"bash","version":"4.2.46-34.el7"},{"arch":"x86_64","method":"yum","name":"dbus-python","version":"1.1.1-9.el7"},{"arch":"x86_64","method":"yum","name":"pcre","version":"8.32-17.el7"},{"arch":"noarch","method":"yum","name":"python-firewall","version":"0.6.3-8.el7_8.1"},{"arch":"x86_64","method":"yum","name":"virt-what","version":"1.18-4.el7"},{"arch":"x86_64","method":"yum","name":"libcom_err","version":"1.42.9-17.el7"},{"arch":"noarch","method":"yum","name":"kbd-misc","version":"1.15.5-15.el7"},{"arch":"x86_64","method":"yum","name":"popt","version":"1.13-16.el7"},{"arch":"x86_64","method":"yum","name":"sg3_utils","version":"1.37-19.el7"},{"arch":"x86_64","method":"yum","name":"sed","version":"4.2.2-6.el7"},{"arch":"noarch","method":"yum","name":"firewalld","version":"0.6.3-8.el7_8.1"},{"arch":"x86_64","method":"yum","name":"libuuid","version":"2.23.2-63.el7"},{"arch":"x86_64","method":"yum","name":"nfs-utils","version":"1.3.0-0.66.el7"},{"arch":"x86_64","method":"yum","name":"grep","version":"2.20-3.el7"},{"arch":"x86_64","method":"yum","name":"NetworkManager-tui","version":"1.18.4-3.el7"},{"arch":"x86_64","method":"yum","name":"gawk","version":"4.0.2-4.el7_3.1"},{"arch":"noarch","method":"yum","name":"selinux-policy-targeted","version":"3.13.1-266.el7"},{"arch":"x86_64","method":"yum","name":"readline","version":"6.2-11.el7"},{"arch":"x86_64","method":"yum","name":"hyperv-daemons","version":"0-0.34.20180415git.el7"},{"arch":"x86_64","method":"yum","name":"libattr","version":"2.4.46-13.el7"},{"arch":"x86_64","method":"yum","name":"openssh-server","version":"7.4p1-21.el7"},{"arch":"x86_64","method":"yum","name":"libacl","version":"2.2.51-15.el7"},{"arch":"x86_64","method":"yum","name":"authconfig","version":"6.2.8-30.el7"},{"arch":"x86_64","method":"yum","name":"audit-libs","version":"2.8.5-4.el7"},{"arch":"x86_64","method":"yum","name":"postfix","version":"2.10.1-9.el7"},{"arch":"x86_64","method":"yum","name":"which","version":"2.20-7.el7"},{"arch":"x86_64","method":"yum","name":"qemu-guest-agent","version":"2.12.0-3.el7"},{"arch":"x86_64","method":"yum","name":"libtdb","version":"1.3.18-1.el7"},{"arch":"x86_64","method":"yum","name":"rsync","version":"3.1.2-10.el7"},{"arch":"x86_64","method":"yum","name":"tcp_wrappers-libs","version":"7.6-77.el7"},{"arch":"x86_64","method":"yum","name":"biosdevname","version":"0.7.3-2.el7"},{"arch":"x86_64","method":"yum","name":"sqlite","version":"3.7.17-8.el7_7.1"},{"arch":"x86_64","method":"yum","name":"parted","version":"3.1-32.el7"},{"arch":"x86_64","method":"yum","name":"jansson","version":"2.10-1.el7"},{"arch":"noarch","method":"yum","name":"yum-utils","version":"1.1.31-53.el7"},{"arch":"x86_64","method":"yum","name":"lua","version":"5.1.4-15.el7"},{"arch":"x86_64","method":"yum","name":"kernel-tools","version":"3.10.0-1127.el7"},{"arch":"x86_64","method":"yum","name":"diffutils","version":"3.3-5.el7"},{"arch":"x86_64","method":"yum","name":"passwd","version":"0.79-6.el7"},{"arch":"x86_64","method":"yum","name":"expat","version":"2.1.0-11.el7"},{"arch":"x86_64","method":"yum","name":"deltarpm","version":"3.6-3.el7"},{"arch":"x86_64","method":"yum","name":"libxslt","version":"1.1.28-5.el7"},{"arch":"x86_64","method":"yum","name":"e2fsprogs","version":"1.42.9-17.el7"},{"arch":"x86_64","method":"yum","name":"findutils","version":"4.5.11-6.el7"},{"arch":"x86_64","method":"yum","name":"bzip2","version":"1.0.6-13.el7"},{"arch":"x86_64","method":"yum","name":"file","version":"5.11-36.el7"},{"arch":"noarch","method":"yum","name":"rootfiles","version":"8.1-11.el7"},{"arch":"x86_64","method":"yum","name":"libtool-ltdl","version":"2.4.2-22.el7_3"},{"arch":"(none)","method":"yum","name":"gpg-pubkey","version":"f4a80eb5-53a7ff4b"},{"arch":"x86_64","method":"yum","name":"libmnl","version":"1.0.3-7.el7"},{"arch":"noarch","method":"yum","name":"perl-parent","version":"0.225-244.el7"},{"arch":"x86_64","method":"yum","name":"xmlsec1","version":"1.2.20-7.el7_4"},{"arch":"noarch","method":"yum","name":"perl-podlators","version":"2.5.1-3.el7"},{"arch":"x86_64","method":"yum","name":"nss-softokn","version":"3.44.0-8.el7_7"},{"arch":"noarch","method":"yum","name":"perl-Pod-Escapes","version":"1.04-299.el7_9"},{"arch":"x86_64","method":"yum","name":"tar","version":"1.26-35.el7"},{"arch":"noarch","method":"yum","name":"perl-Text-ParseWords","version":"3.29-4.el7"},{"arch":"x86_64","method":"yum","name":"groff-base","version":"1.22.2-8.el7"},{"arch":"x86_64","method":"yum","name":"perl-macros","version":"5.16.3-299.el7_9"},{"arch":"x86_64","method":"yum","name":"xz","version":"5.2.2-1.el7"},{"arch":"noarch","method":"yum","name":"perl-Exporter","version":"5.68-3.el7"},{"arch":"x86_64","method":"yum","name":"perl-Socket","version":"2.010-5.el7"},{"arch":"x86_64","method":"yum","name":"libedit","version":"3.0-12.20121213cvs.el7"},{"arch":"noarch","method":"yum","name":"perl-Carp","version":"1.26-244.el7"},{"arch":"x86_64","method":"yum","name":"lz4","version":"1.7.5-3.el7"},{"arch":"x86_64","method":"yum","name":"perl-PathTools","version":"3.40-5.el7"},{"arch":"x86_64","method":"yum","name":"slang","version":"2.2.4-11.el7"},{"arch":"noarch","method":"yum","name":"perl-Pod-Simple","version":"3.28-4.el7"},{"arch":"x86_64","method":"yum","name":"libref_array","version":"0.1.5-32.el7"},{"arch":"noarch","method":"yum","name":"perl-File-Path","version":"2.09-2.el7"},{"arch":"x86_64","method":"yum","name":"p11-kit-trust","version":"0.23.5-3.el7"},{"arch":"x86_64","method":"yum","name":"perl-threads","version":"1.87-4.el7"},{"arch":"x86_64","method":"yum","name":"gdbm","version":"1.10-8.el7"},{"arch":"x86_64","method":"yum","name":"perl-libs","version":"5.16.3-299.el7_9"},{"arch":"x86_64","method":"yum","name":"libcollection","version":"0.7.0-32.el7"},{"arch":"x86_64","method":"yum","name":"perl","version":"5.16.3-299.el7_9"},{"arch":"x86_64","method":"yum","name":"libnetfilter_conntrack","version":"1.0.6-1.el7_3"},{"arch":"x86_64","method":"yum","name":"libgcc","version":"4.8.5-44.el7"},{"arch":"x86_64","method":"yum","name":"iproute","version":"4.11.0-25.el7_7.2"},{"arch":"x86_64","method":"yum","name":"glibc","version":"2.17-323.el7_9"},{"arch":"x86_64","method":"yum","name":"libteam","version":"1.29-1.el7"},{"arch":"x86_64","method":"yum","name":"mpfr","version":"3.1.1-4.el7"},{"arch":"x86_64","method":"yum","name":"ipset","version":"7.1-1.el7"},{"arch":"x86_64","method":"yum","name":"elfutils-libelf","version":"0.176-5.el7"},{"arch":"x86_64","method":"yum","name":"tcp_wrappers","version":"7.6-77.el7"},{"arch":"x86_64","method":"yum","name":"binutils","version":"2.27-44.base.el7"},{"arch":"x86_64","method":"yum","name":"acl","version":"2.2.51-15.el7"},{"arch":"x86_64","method":"yum","name":"libgomp","version":"4.8.5-44.el7"},{"arch":"x86_64","method":"yum","name":"libdb-utils","version":"5.3.21-25.el7"},{"arch":"x86_64","method":"yum","name":"glibc-headers","version":"2.17-323.el7_9"},{"arch":"x86_64","method":"yum","name":"libss","version":"1.42.9-17.el7"},{"arch":"x86_64","method":"yum","name":"gcc","version":"4.8.5-44.el7"},{"arch":"x86_64","method":"yum","name":"libpng","version":"1.5.13-7.el7_2"},{"arch":"x86_64","method":"yum","name":"elfutils-libs","version":"0.176-5.el7"},{"arch":"x86_64","method":"yum","name":"libselinux-utils","version":"2.5-15.el7"},{"arch":"x86_64","method":"yum","name":"ncurses","version":"5.9-14.20130511.el7_4"},{"arch":"x86_64","method":"yum","name":"coreutils","version":"8.22-24.el7"},{"arch":"x86_64","method":"yum","name":"python-libs","version":"2.7.5-88.el7"},{"arch":"x86_64","method":"yum","name":"libblkid","version":"2.23.2-63.el7"},{"arch":"x86_64","method":"yum","name":"glib2","version":"2.56.1-5.el7"},{"arch":"x86_64","method":"yum","name":"gzip","version":"1.5-10.el7"},{"arch":"noarch","method":"yum","name":"python-decorator","version":"3.4.0-3.el7"},{"arch":"x86_64","method":"yum","name":"libpwquality","version":"1.2.3-5.el7"},{"arch":"x86_64","method":"yum","name":"pkgconfig","version":"0.27.1-4.el7"},{"arch":"x86_64","method":"yum","name":"libtirpc","version":"0.2.4-0.16.el7"},{"arch":"x86_64","method":"yum","name":"libevent","version":"2.0.21-4.el7"},{"arch":"x86_64","method":"yum","name":"gettext-libs","version":"0.19.8.1-3.el7"},{"arch":"x86_64","method":"yum","name":"gobject-introspection","version":"1.56.1-1.el7"},{"arch":"x86_64","method":"yum","name":"yum-metadata-parser","version":"1.1.4-10.el7"},{"arch":"x86_64","method":"yum","name":"libxml2-python","version":"2.9.1-6.el7.4"},{"arch":"x86_64","method":"yum","name":"python-perf","version":"3.10.0-1127.el7"},{"arch":"x86_64","method":"yum","name":"python-tdb","version":"1.3.18-1.el7"},{"arch":"noarch","method":"yum","name":"python-configobj","version":"4.7.2-7.el7"},{"arch":"noarch","method":"yum","name":"python-chardet","version":"2.2.1-3.el7"},{"arch":"noarch","method":"yum","name":"python-linux-procfs","version":"0.4.11-4.el7"},{"arch":"x86_64","method":"yum","name":"pyliblzma","version":"0.5.3-11.el7"},{"arch":"noarch","method":"yum","name":"python-slip","version":"0.4.0-4.el7"},{"arch":"x86_64","method":"yum","name":"openssl","version":"1.0.2k-19.el7"},{"arch":"x86_64","method":"yum","name":"logrotate","version":"3.8.6-19.el7"},{"arch":"x86_64","method":"yum","name":"nss","version":"3.44.0-7.el7_7"},{"arch":"x86_64","method":"yum","name":"nss-tools","version":"3.44.0-7.el7_7"},{"arch":"x86_64","method":"yum","name":"libssh2","version":"1.8.0-3.el7"},{"arch":"x86_64","method":"yum","name":"curl","version":"7.29.0-57.el7"},{"arch":"x86_64","method":"yum","name":"rpm","version":"4.11.3-43.el7"},{"arch":"x86_64","method":"yum","name":"libuser","version":"0.60-9.el7"},{"arch":"x86_64","method":"yum","name":"python-pycurl","version":"7.19.0-19.el7"},{"arch":"x86_64","method":"yum","name":"xmlsec1-openssl","version":"1.2.20-7.el7_4"},{"arch":"x86_64","method":"yum","name":"fipscheck-lib","version":"1.4.1-6.el7"},{"arch":"x86_64","method":"yum","name":"libicu","version":"50.2-4.el7_7"},{"arch":"x86_64","method":"yum","name":"lsscsi","version":"0.27-6.el7"},{"arch":"x86_64","method":"yum","name":"libpath_utils","version":"0.2.1-32.el7"},{"arch":"x86_64","method":"yum","name":"libsmartcols","version":"2.23.2-63.el7"},{"arch":"x86_64","method":"yum","name":"libsemanage","version":"2.5-14.el7"},{"arch":"x86_64","method":"yum","name":"libutempter","version":"1.1.6-4.el7"},{"arch":"x86_64","method":"yum","name":"lzo","version":"2.06-8.el7"},{"arch":"x86_64","method":"yum","name":"pth","version":"2.0.7-23.el7"},{"arch":"x86_64","method":"yum","name":"rpm-build-libs","version":"4.11.3-43.el7"},{"arch":"x86_64","method":"yum","name":"gpgme","version":"1.3.2-5.el7"},{"arch":"noarch","method":"yum","name":"yum-plugin-fastestmirror","version":"1.1.31-53.el7"},{"arch":"x86_64","method":"yum","name":"fuse-libs","version":"2.9.2-11.el7"},{"arch":"x86_64","method":"yum","name":"libdaemon","version":"0.14-7.el7"},{"arch":"x86_64","method":"yum","name":"libpipeline","version":"1.2.3-3.el7"},{"arch":"x86_64","method":"yum","name":"dmidecode","version":"3.2-3.el7"},{"arch":"x86_64","method":"yum","name":"ethtool","version":"4.8-10.el7"},{"arch":"x86_64","method":"yum","name":"libdnet","version":"1.12-13.1.el7"},{"arch":"x86_64","method":"yum","name":"json-c","version":"0.11-4.el7_0"},{"arch":"x86_64","method":"yum","name":"kpartx","version":"0.4.9-131.el7"},{"arch":"x86_64","method":"yum","name":"util-linux","version":"2.23.2-63.el7"},{"arch":"x86_64","method":"yum","name":"cryptsetup-libs","version":"2.0.3-6.el7"},{"arch":"x86_64","method":"yum","name":"kmod","version":"20-28.el7"},{"arch":"x86_64","method":"yum","name":"systemd-libs","version":"219-73.el7_8.5"},{"arch":"x86_64","method":"yum","name":"systemd","version":"219-73.el7_8.5"},{"arch":"noarch","method":"yum","name":"elfutils-default-yama-scope","version":"0.176-4.el7"},{"arch":"x86_64","method":"yum","name":"polkit","version":"0.112-26.el7"},{"arch":"x86_64","method":"yum","name":"hwdata","version":"0.252-9.5.el7"},{"arch":"x86_64","method":"yum","name":"cups-libs","version":"1.6.3-43.el7"},{"arch":"x86_64","method":"yum","name":"policycoreutils","version":"2.5-34.el7"},{"arch":"x86_64","method":"yum","name":"os-prober","version":"1.58-9.el7"},{"arch":"x86_64","method":"yum","name":"iputils","version":"20160308-10.el7"},{"arch":"x86_64","method":"yum","name":"kernel","version":"3.10.0-1127.el7"},{"arch":"x86_64","method":"yum","name":"cronie","version":"1.4.11-23.el7"},{"arch":"noarch","method":"yum","name":"samba-common","version":"4.10.4-10.el7"},{"arch":"x86_64","method":"yum","name":"NetworkManager-libnm","version":"1.18.4-3.el7"},{"arch":"x86_64","method":"yum","name":"dhcp-common","version":"4.2.5-79.el7.centos"}]
R: Updates:
[{"arch":"x86_64","method":"yum","name":"NetworkManager","version":"1:1.18.8-2.el7_9"},{"arch":"x86_64","method":"yum","name":"NetworkManager-libnm","version":"1:1.18.8-2.el7_9"},{"arch":"x86_64","method":"yum","name":"NetworkManager-team","version":"1:1.18.8-2.el7_9"},{"arch":"x86_64","method":"yum","name":"NetworkManager-tui","version":"1:1.18.8-2.el7_9"},{"arch":"x86_64","method":"yum","name":"bind-export-libs","version":"32:9.11.4-26.P2.el7_9.4"},{"arch":"noarch","method":"yum","name":"ca-certificates","version":"2020.2.41-70.0.el7_8"},{"arch":"x86_64","method":"yum","name":"centos-release","version":"7-9.2009.1.el7.centos"},{"arch":"x86_64","method":"yum","name":"chkconfig","version":"1.7.6-1.el7"},{"arch":"x86_64","method":"yum","name":"coreutils","version":"8.22-24.el7_9.2"},{"arch":"x86_64","method":"yum","name":"cpio","version":"2.11-28.el7"},{"arch":"x86_64","method":"yum","name":"cups-libs","version":"1:1.6.3-51.el7"},{"arch":"x86_64","method":"yum","name":"curl","version":"7.29.0-59.el7_9.1"},{"arch":"x86_64","method":"yum","name":"dbus","version":"1:1.10.24-15.el7"},{"arch":"x86_64","method":"yum","name":"dbus-libs","version":"1:1.10.24-15.el7"},{"arch":"x86_64","method":"yum","name":"device-mapper","version":"7:1.02.170-6.el7_9.4"},{"arch":"x86_64","method":"yum","name":"device-mapper-libs","version":"7:1.02.170-6.el7_9.4"},{"arch":"x86_64","method":"yum","name":"dhclient","version":"12:4.2.5-82.el7.centos"},{"arch":"x86_64","method":"yum","name":"dhcp-common","version":"12:4.2.5-82.el7.centos"},{"arch":"x86_64","method":"yum","name":"dhcp-libs","version":"12:4.2.5-82.el7.centos"},{"arch":"x86_64","method":"yum","name":"dmidecode","version":"1:3.2-5.el7_9.1"},{"arch":"x86_64","method":"yum","name":"dracut","version":"033-572.el7"},{"arch":"x86_64","method":"yum","name":"e2fsprogs","version":"1.42.9-19.el7"},{"arch":"x86_64","method":"yum","name":"e2fsprogs-libs","version":"1.42.9-19.el7"},{"arch":"noarch","method":"yum","name":"elfutils-default-yama-scope","version":"0.176-5.el7"},{"arch":"x86_64","method":"yum","name":"expat","version":"2.1.0-12.el7"},{"arch":"x86_64","method":"yum","name":"file","version":"5.11-37.el7"},{"arch":"x86_64","method":"yum","name":"file-libs","version":"5.11-37.el7"},{"arch":"noarch","method":"yum","name":"firewalld","version":"0.6.3-12.el7"},{"arch":"noarch","method":"yum","name":"firewalld-filesystem","version":"0.6.3-12.el7"},{"arch":"x86_64","method":"yum","name":"freetype","version":"2.8-14.el7_9.1"},{"arch":"x86_64","method":"yum","name":"glib2","version":"2.56.1-8.el7"},{"arch":"x86_64","method":"yum","name":"grub2","version":"1:2.02-0.87.el7.centos.6"},{"arch":"noarch","method":"yum","name":"grub2-common","version":"1:2.02-0.87.el7.centos.6"},{"arch":"x86_64","method":"yum","name":"grub2-pc","version":"1:2.02-0.87.el7.centos.6"},{"arch":"noarch","method":"yum","name":"grub2-pc-modules","version":"1:2.02-0.87.el7.centos.6"},{"arch":"x86_64","method":"yum","name":"grub2-tools","version":"1:2.02-0.87.el7.centos.6"},{"arch":"x86_64","method":"yum","name":"grub2-tools-extra","version":"1:2.02-0.87.el7.centos.6"},{"arch":"x86_64","method":"yum","name":"grub2-tools-minimal","version":"1:2.02-0.87.el7.centos.6"},{"arch":"x86_64","method":"yum","name":"gssproxy","version":"0.7.0-29.el7"},{"arch":"x86_64","method":"yum","name":"hwdata","version":"0.252-9.7.el7"},{"arch":"x86_64","method":"yum","name":"initscripts","version":"9.49.53-1.el7_9.1"},{"arch":"x86_64","method":"yum","name":"iproute","version":"4.11.0-30.el7"},{"arch":"x86_64","method":"yum","name":"iptables","version":"1.4.21-35.el7"},{"arch":"x86_64","method":"yum","name":"kernel-tools","version":"3.10.0-1160.21.1.el7"},{"arch":"x86_64","method":"yum","name":"kernel-tools-libs","version":"3.10.0-1160.21.1.el7"},{"arch":"x86_64","method":"yum","name":"kpartx","version":"0.4.9-134.el7_9"},{"arch":"x86_64","method":"yum","name":"krb5-libs","version":"1.15.1-50.el7"},{"arch":"x86_64","method":"yum","name":"libblkid","version":"2.23.2-65.el7_9.1"},{"arch":"x86_64","method":"yum","name":"libcom_err","version":"1.42.9-19.el7"},{"arch":"x86_64","method":"yum","name":"libcroco","version":"0.6.12-6.el7_9"},{"arch":"x86_64","method":"yum","name":"libcurl","version":"7.29.0-59.el7_9.1"},{"arch":"x86_64","method":"yum","name":"libmount","version":"2.23.2-65.el7_9.1"},{"arch":"x86_64","method":"yum","name":"libmspack","version":"0.5-0.8.alpha.el7"},{"arch":"x86_64","method":"yum","name":"libpng","version":"2:1.5.13-8.el7"},{"arch":"x86_64","method":"yum","name":"libsmartcols","version":"2.23.2-65.el7_9.1"},{"arch":"x86_64","method":"yum","name":"libss","version":"1.42.9-19.el7"},{"arch":"x86_64","method":"yum","name":"libssh2","version":"1.8.0-4.el7"},{"arch":"x86_64","method":"yum","name":"libstdc++","version":"4.8.5-44.el7"},{"arch":"x86_64","method":"yum","name":"libteam","version":"1.29-3.el7"},{"arch":"x86_64","method":"yum","name":"libuuid","version":"2.23.2-65.el7_9.1"},{"arch":"x86_64","method":"yum","name":"libwbclient","version":"4.10.16-13.el7_9"},{"arch":"x86_64","method":"yum","name":"libxml2","version":"2.9.1-6.el7.5"},{"arch":"x86_64","method":"yum","name":"libxml2-python","version":"2.9.1-6.el7.5"},{"arch":"x86_64","method":"yum","name":"libxslt","version":"1.1.28-6.el7"},{"arch":"noarch","method":"yum","name":"linux-firmware","version":"20200421-80.git78c0348.el7_9"},{"arch":"x86_64","method":"yum","name":"lshw","version":"B.02.18-17.el7"},{"arch":"x86_64","method":"yum","name":"lz4","version":"1.8.3-1.el7"},{"arch":"x86_64","method":"yum","name":"mariadb-libs","version":"1:5.5.68-1.el7"},{"arch":"x86_64","method":"yum","name":"nfs-utils","version":"1:1.3.0-0.68.el7"},{"arch":"x86_64","method":"yum","name":"nspr","version":"4.25.0-2.el7_9"},{"arch":"x86_64","method":"yum","name":"nss","version":"3.53.1-3.el7_9"},{"arch":"x86_64","method":"yum","name":"nss-softokn","version":"3.53.1-6.el7_9"},{"arch":"x86_64","method":"yum","name":"nss-softokn-freebl","version":"3.53.1-6.el7_9"},{"arch":"x86_64","method":"yum","name":"nss-sysinit","version":"3.53.1-3.el7_9"},{"arch":"x86_64","method":"yum","name":"nss-tools","version":"3.53.1-3.el7_9"},{"arch":"x86_64","method":"yum","name":"nss-util","version":"3.53.1-1.el7_9"},{"arch":"x86_64","method":"yum","name":"open-vm-tools","version":"11.0.5-3.el7_9.2"},{"arch":"x86_64","method":"yum","name":"openldap","version":"2.4.44-22.el7"},{"arch":"x86_64","method":"yum","name":"openssl","version":"1:1.0.2k-21.el7_9"},{"arch":"x86_64","method":"yum","name":"openssl-libs","version":"1:1.0.2k-21.el7_9"},{"arch":"x86_64","method":"yum","name":"procps-ng","version":"3.3.10-28.el7"},{"arch":"x86_64","method":"yum","name":"python","version":"2.7.5-90.el7"},{"arch":"noarch","method":"yum","name":"python-firewall","version":"0.6.3-12.el7"},{"arch":"x86_64","method":"yum","name":"python-libs","version":"2.7.5-90.el7"},{"arch":"x86_64","method":"yum","name":"python-perf","version":"3.10.0-1160.21.1.el7"},{"arch":"x86_64","method":"yum","name":"rpm","version":"4.11.3-45.el7"},{"arch":"x86_64","method":"yum","name":"rpm-build-libs","version":"4.11.3-45.el7"},{"arch":"x86_64","method":"yum","name":"rpm-libs","version":"4.11.3-45.el7"},{"arch":"x86_64","method":"yum","name":"rpm-python","version":"4.11.3-45.el7"},{"arch":"x86_64","method":"yum","name":"rsyslog","version":"8.24.0-57.el7_9"},{"arch":"x86_64","method":"yum","name":"samba-client-libs","version":"4.10.16-13.el7_9"},{"arch":"noarch","method":"yum","name":"samba-common","version":"4.10.16-13.el7_9"},{"arch":"x86_64","method":"yum","name":"samba-common-libs","version":"4.10.16-13.el7_9"},{"arch":"x86_64","method":"yum","name":"samba-libs","version":"4.10.16-13.el7_9"},{"arch":"x86_64","method":"yum","name":"sed","version":"4.2.2-7.el7"},{"arch":"noarch","method":"yum","name":"selinux-policy","version":"3.13.1-268.el7_9.2"},{"arch":"noarch","method":"yum","name":"selinux-policy-targeted","version":"3.13.1-268.el7_9.2"},{"arch":"x86_64","method":"yum","name":"sudo","version":"1.8.23-10.el7_9.1"},{"arch":"x86_64","method":"yum","name":"systemd","version":"219-78.el7_9.3"},{"arch":"x86_64","method":"yum","name":"systemd-libs","version":"219-78.el7_9.3"},{"arch":"x86_64","method":"yum","name":"systemd-sysv","version":"219-78.el7_9.3"},{"arch":"x86_64","method":"yum","name":"teamd","version":"1.29-3.el7"},{"arch":"noarch","method":"yum","name":"tuned","version":"2.11.0-11.el7_9"},{"arch":"noarch","method":"yum","name":"tzdata","version":"2021a-1.el7"},{"arch":"x86_64","method":"yum","name":"util-linux","version":"2.23.2-65.el7_9.1"},{"arch":"x86_64","method":"yum","name":"vim-minimal","version":"2:7.4.629-8.el7_9"},{"arch":"x86_64","method":"yum","name":"wpa_supplicant","version":"1:2.6-12.el7_9.2"},{"arch":"x86_64","method":"yum","name":"xfsprogs","version":"4.5.0-22.el7"},{"arch":"noarch","method":"yum","name":"yum","version":"3.4.3-168.el7.centos"},{"arch":"noarch","method":"yum","name":"yum-plugin-fastestmirror","version":"1.1.31-54.el7_8"},{"arch":"noarch","method":"yum","name":"yum-utils","version":"1.1.31-54.el7_8"}]

I hope this illustrates how package_inventory in body common control is necessary if you want packagesmatching() or packageupdatesmatching() to use data cached by the package_module based implementation of packages promises.

Note that package_module in body common control is used to determine the default package module to use on that system when making packages promises using the package_module implementation (so that you do not have to supply package_module => something).

Xander Cage

unread,
Mar 23, 2021, 3:27:59 PM3/23/21
to help-cfengine
hi,

setting alternate platform default:


setting inventory by using the variable from def.json:


setting package module by using the variable from def.json:


the body common control is commented out because this throws duplicate error when used with full mpf, hence this whole fiddling. if modifying body common control is the only way to achieve
this functionality, it might be easier  for me to write a cfengine module. i refuse to edit mpf :-)
regardless, thank you for your kind help !

Nick Anderson

unread,
Mar 23, 2021, 3:47:45 PM3/23/21
to Xander Cage, help-cfengine

Xander Cage <christia...@itsv.at> writes:

hi,

setting alternate platform default:

https://github.com/flynn1973/cfengine_aix_yum/blob/main/def.json#L27

Agreed, that defines the variable def.platform_default_alternate_aix.

I disagree, there you are setting two variables, based on the value of the var you set from Augments. But these are just variables. package_inventory in body common control is not set.

the body common control is commented out because this throws duplicate error when used with full mpf, hence this whole fiddling.

Right, just like in Highlander, there can be only one.

if modifying body common control is the only way to achieve this functionality, it might be easier for me to write a cfengine module.

Yes, since aix does not get the value desired for package_inventory in body common control the MPF must be modified to instrument it, particularly the part that would let you set some variable from augments to either override or extend the package modules to use for inventory on that platform.

i refuse to edit mpf :-)

That's a shame, I thought that's why we were doing this, so you could open a PR instrumenting the ability to define package_inventory from augments.

regardless, thank you for your kind help !

Your most welcome!

Xander Cage

unread,
Mar 24, 2021, 2:53:43 AM3/24/21
to help-cfengine
On Tuesday, March 23, 2021 at 8:47:45 PM UTC+1 Nick Anderson wrote:

That's a shame, I thought that's why we were doing this, so you could open a PR instrumenting the ability to define package_inventory from augments.

regardless, thank you for your kind help !


ah right, completely forgot about that. i will do a PR when i cobbled together something usefull, i guess all the major parts are already discussed here.

Nick Anderson

unread,
Mar 24, 2021, 9:32:56 AM3/24/21
to help-cfengine
Great, I went ahead and created https://tracker.mender.io/browse/CFE-3612

Xander Cage

unread,
Mar 25, 2021, 9:47:43 AM3/25/21
to help-cfengine
still struggling...

setting the variable in augments is ok...

root@aixtest01: /var/cfengine/inputs # /var/cfengine/bin/cf-agent -KIv -b packages_version_latest_warn_classes | grep yum
  verbose: Installing augments variable 'def.packages_platform_default_alternate_aix=yum' from file '/var/cfengine/inputs/def.json'

shouldnt this change be enough to make this work somehow?


aix::

      "platform_default" -> { "CFE-3612" }
        comment => "set default package module via augments on aix else keep the default",
        string => ifelse( isvariable("def.packages_platform_default_alternate_aix"), "$(def.packages_platform_default_alternate_aix)",
                          "nimclient");

Xander Cage

unread,
Mar 25, 2021, 9:58:09 AM3/25/21
to help-cfengine
this part in promises.cf looks suspicious...maybe the "aix" class must be added here...

 # We only define pacakge_invetory on redhat like systems that have a
      # python version that works with the package module.

    (redhat|centos|suse|sles|opensuse|amazon_linux).cfe_yum_package_module_supported.!disable_inventory_package_refresh::
        package_inventory => { $(package_module_knowledge.platform_default) };

    (debian|redhat|suse|sles|opensuse|amazon_linux)::
          package_module => $(package_module_knowledge.platform_default);

Xander Cage

unread,
Mar 25, 2021, 11:42:42 AM3/25/21
to help-cfengine
funny...

inventory/redhat.cf

classes::

inventory_redhat_have_python_symlink::
      "cfe_yum_package_module_supported" -> { "CFE-2602" }
        comment => "Here we see if the version of python found is acceptable for
                    the yum package module. We use this guard to prevent errors
                    related to missing python modules.",
        expression => returnszero("$(sys.bindir)/python -V 2>&1 | grep ^Python | cut -d' ' -f 2 | ( IFS=. read v1 v2 v3 ; [ $v1 -ge 3 ] || [ $v1 -eq 2 -a $v2 -ge 4 ] )",
                                  useshell);

this piece is never considerd on aix, so the class " cfe_yum_package_module_supported" is never set and the whole yum related stuff is skipped.
setting " cfe_yum_package_module_supported" in def.json"  made the policy run.

root@aixtest01: /var/cfengine/inputs # /var/cfengine/bin/cf-agent -KI -b packages_version_latest_warn_classes

    info: Using command line specified bundlesequence
 warning: Package 'perl' needs to be installed,but only warning was promised
 warning: Package 'krb5-libs' needs to be installed,but only warning was promised
 warning: Package 'db' needs to be installed,but only warning was promised
 warning: Package 'lua' needs to be installed,but only warning was promised
R: COUNT OF AVAILABLE UPDATES: 4
R: New version '1:5.3.28-1' of package 'db' is available.
R: New version '1.18.3-1' of package 'krb5-libs' is available.
R: New version '5.4.1-1' of package 'lua' is available.
R: New version '1:5.30.3-2' of package 'perl' is available.

small steps in the right direction ;-)

one thing...there are (duplicate?) cache files with literal variable names created in the state directory , more cosemtic but any hint whats going on?

root@aixtest01: /var/cfengine/inputs # ls -ltr /var/cfengine/state/ | grep packages
-rw-------    1 root     system        46673 Jan  1 1970  software_packages.csv
-rw-------    1 root     system            0 Mar 25 16:29 packages_updates_$(package_module_knowledge.platform_default).lmdb.lock
-rw-------    1 root     system            0 Mar 25 16:29 packages_installed_$(package_module_knowledge.platform_default).lmdb.lock

-rw-------    1 root     system            0 Mar 25 16:29 packages_updates_yum.lmdb.lock
-rw-------    1 root     system            0 Mar 25 16:29 packages_installed_yum.lmdb.lock
-rw-------    1 root     system         8192 Mar 25 16:38 packages_updates_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_updates_$(package_module_knowledge.platform_default).lmdb-lock
-rw-------    1 root     system         8192 Mar 25 16:38 packages_installed_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_installed_$(package_module_knowledge.platform_default).lmdb-lock

-rw-------    1 root     system        90112 Mar 25 16:38 packages_installed_yum.lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_installed_yum.lmdb-lock
-rw-------    1 root     system        28672 Mar 25 16:38 packages_updates_yum.lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_updates_yum.lmdb-lock

wbr

chris

Xander Cage

unread,
Mar 27, 2021, 8:43:18 AM3/27/21
to help-cfengine
On Thursday, March 25, 2021 at 4:42:42 PM UTC+1 Xander Cage wrote:

one thing...there are (duplicate?) cache files with literal variable names created in the state directory , more cosemtic but any hint whats going on?

root@aixtest01: /var/cfengine/inputs # ls -ltr /var/cfengine/state/ | grep packages
-rw-------    1 root     system        46673 Jan  1 1970  software_packages.csv
-rw-------    1 root     system            0 Mar 25 16:29 packages_updates_$(package_module_knowledge.platform_default).lmdb.lock
-rw-------    1 root     system            0 Mar 25 16:29 packages_installed_$(package_module_knowledge.platform_default).lmdb.lock

-rw-------    1 root     system            0 Mar 25 16:29 packages_updates_yum.lmdb.lock
-rw-------    1 root     system            0 Mar 25 16:29 packages_installed_yum.lmdb.lock
-rw-------    1 root     system         8192 Mar 25 16:38 packages_updates_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_updates_$(package_module_knowledge.platform_default).lmdb-lock
-rw-------    1 root     system         8192 Mar 25 16:38 packages_installed_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_installed_$(package_module_knowledge.platform_default).lmdb-lock

-rw-------    1 root     system        90112 Mar 25 16:38 packages_installed_yum.lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_installed_yum.lmdb-lock
-rw-------    1 root     system        28672 Mar 25 16:38 packages_updates_yum.lmdb
-rw-------    1 root     system         8256 Mar 25 16:38 packages_updates_yum.lmdb-lock all the major parts are already discussed here.

out of curiosity, i skimmed through  https://github.com/cfengine/core/blob/master/cf-agent/package_module.c, but could not find any obvious reason for this behaviour. any hint or idea is
very welcome

Aleksey Tsalolikhin

unread,
Mar 27, 2021, 10:40:07 AM3/27/21
to Xander Cage, help-cfengine
Hi Christian,

CFEngine does that when a variable is not defined.

I think that's coming from here:
https://github.com/cfengine/core/blob/9914e9c951e1598bafb6bce8cf5ad5cbe260d290/cf-agent/package_module.c#L648
(not 100% sure on that)

Is the variable defined? Can you add a reports: promise to show the
contents of $(package_module_knowledge.platform_default) ?

It's usually set in the MPF, e.g.:

https://github.com/cfengine/masterfiles/blob/5fff7bd5f8bf3342251809b6d81a446260f0b159/lib/packages.cf#L34-L35

Best,
-at




--
Founder
Vertical Sysadmin, Inc.
Achieve real learning.
> --
> You received this message because you are subscribed to the Google Groups "help-cfengine" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to help-cfengin...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/help-cfengine/1276f671-e861-4288-ba7e-76088e6a24abn%40googlegroups.com.
Message has been deleted

Xander Cage

unread,
Mar 27, 2021, 12:05:47 PM3/27/21
to help-cfengine
yes, the variable is defined and the value contains "yum". dont get me wrong, the package cache db files are created correctly and all is working well. i just dont understand where these "duplicate" files with garbled names come from.
and i dont want to do the PR until this is fixed,  notorious perfectionist :-)

Aleksey Tsalolikhin

unread,
Mar 27, 2021, 1:09:54 PM3/27/21
to Xander Cage, help-cfengine
Got it. I appreciate your enthusiasm and attention to detail, Christian.

Are you sure these odd files are not left over from earlier iterations
(earlier attempts)?

How about a clean start? (Shut down CFEngine, remove the package,
wipe /var/cfengine, install CFEngine, bootstrap it, let it run a
couple of cycles.) Do the files come back?

--
Founder
Vertical Sysadmin, Inc.
Achieve real learning.

> To view this discussion on the web visit https://groups.google.com/d/msgid/help-cfengine/51825fcf-ac01-426b-99fc-1b4eea64a5c6n%40googlegroups.com.

Xander Cage

unread,
Mar 29, 2021, 3:58:54 AM3/29/21
to help-cfengine
i cleaned up everything, but those messed up files are still created beside the good ones.

root@aixtest01: /var/cfengine/masterfiles/itsv # /var/cfengine/bin/cf-agent -KI
        info: Installing cfe_internal_non_existing_package...

 warning: Package 'perl' needs to be installed,but only warning was promised
 warning: Package 'krb5-libs' needs to be installed,but only warning was promised
 warning: Package 'db' needs to be installed,but only warning was promised
 warning: Package 'lua' needs to be installed,but only warning was promised
R: COUNT OF AVAILABLE UPDATES: 4
R: New version '1:5.3.28-1' of package 'db' is available.
R: New version '1.18.3-1' of package 'krb5-libs' is available.
R: New version '5.4.1-1' of package 'lua' is available.
R: New version '1:5.30.3-2' of package 'perl' is available.
 warning: Method 'packages_version_latest_warn_classes' invoked repairs, but only warnings promised
R: autorun is executing
R: default:packages_version_latest_warn_classes: found bundle default:packages_version_latest_warn_classes
 warning: Method 'itsv_autorun' invoked repairs, but only warnings promised

root@aixtest01: /var/cfengine/masterfiles/itsv # ls -ltr /var/cfengine/state/ | grep packages

-rw-------    1 root     system        46673 Jan  1 1970  software_packages.csv
-rw-------    1 root     system            0 Mar 29 09:45 packages_installed_$(package_module_knowledge.platform_default).lmdb.lock
-rw-------    1 root     system            0 Mar 29 09:45 packages_updates_$(package_module_knowledge.platform_default).lmdb.lock
-rw-------    1 root     system            0 Mar 29 09:45 packages_installed_yum.lmdb.lock
-rw-------    1 root     system            0 Mar 29 09:45 packages_updates_yum.lmdb.lock
-rw-------    1 root     system         8192 Mar 29 09:53 packages_updates_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 29 09:53 packages_updates_$(package_module_knowledge.platform_default).lmdb-lock
-rw-------    1 root     system         8192 Mar 29 09:53 packages_installed_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 29 09:53 packages_installed_$(package_module_knowledge.platform_default).lmdb-lock
-rw-------    1 root     system        94208 Mar 29 09:53 packages_installed_yum.lmdb
-rw-------    1 root     system         8256 Mar 29 09:53 packages_installed_yum.lmdb-lock
-rw-------    1 root     system        32768 Mar 29 09:53 packages_updates_yum.lmdb
-rw-------    1 root     system         8256 Mar 29 09:53 packages_updates_yum.lmdb-lock

root@aixtest01: /var/cfengine/masterfiles/itsv # rm -f /var/cfengine/state/packages_*.lmdb*

root@aixtest01: /var/cfengine/masterfiles/itsv # /var/cfengine/bin/cf-agent -KI
       info: Installing cfe_internal_non_existing_package...
R: autorun is executing
R: default:packages_version_latest_warn_classes: found bundle default:packages_version_latest_warn_classes

root@aixtest01: /var/cfengine/masterfiles/itsv # ls -ltr /var/cfengine/state/ | grep packages

-rw-------    1 root     system        46673 Jan  1 1970  software_packages.csv
-rw-------    1 root     system            0 Mar 29 09:54 packages_updates_$(package_module_knowledge.platform_default).lmdb.lock
-rw-------    1 root     system            0 Mar 29 09:54 packages_installed_$(package_module_knowledge.platform_default).lmdb.lock
-rw-------    1 root     system         8192 Mar 29 09:54 packages_updates_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 29 09:54 packages_updates_$(package_module_knowledge.platform_default).lmdb-lock
-rw-------    1 root     system         8192 Mar 29 09:54 packages_installed_$(package_module_knowledge.platform_default).lmdb
-rw-------    1 root     system         8256 Mar 29 09:54 packages_installed_$(package_module_knowledge.platform_default).lmdb-lock
-rw-------    1 root     system            0 Mar 29 09:54 packages_updates_yum.lmdb.lock
-rw-------    1 root     system            0 Mar 29 09:54 packages_installed_yum.lmdb.lock
-rw-------    1 root     system         8256 Mar 29 09:54 packages_installed_yum.lmdb-lock
-rw-------    1 root     system        32768 Mar 29 09:54 packages_installed_yum.lmdb
-rw-------    1 root     system         8256 Mar 29 09:54 packages_updates_yum.lmdb-lock
-rw-------    1 root     system        12288 Mar 29 09:54 packages_updates_yum.lmdb

i have no idea how to proceed here...

Xander Cage

unread,
Mar 29, 2021, 8:03:04 AM3/29/21
to help-cfengine

Aleksey Tsalolikhin

unread,
Mar 29, 2021, 10:29:12 AM3/29/21
to Xander Cage, help-cfengine
Thanks Christian!

I don't have access to an AIX system just now, else I'd poke around...

Doesn't seem to be hurting anything though.

--
Founder
Vertical Sysadmin, Inc.
Achieve real learning.

> To view this discussion on the web visit https://groups.google.com/d/msgid/help-cfengine/43b214a9-05be-4700-b60e-219c0e65ee78n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages