Agent runs fail on AIX nodes with an error that facter cannot find Object Data Manager (ODM) object classes.
Error messages and logs
Agent runs fail on AIX nodes with the error:
Error: Facter: Facter.to_hash uncaught exception: 0519-010 libodm: The specified object class does not exist.
Check path name and permissions.
Error: Could not retrieve local facts: undefined method `[]=' for nil:NilClass
Error: Failed to apply catalog: Could not retrieve local facts: undefined method `[]=' for nil:NilClass
This occurs because the agent cannot access ODM classes when collecting memory facts with facter during the Puppet run.
Version and installation information
PE version: 2016.4 to 2018.1
OS: AIX 7.2
Installation type: Any
Solution
This issue occurs when the session running the agent cannot access ODM classes.
To determine the reason that the agent cannot access the ODM classes:
-
On the affected AIX node, run the following command in the current session:
odmget -q "value=paging and attribute=type" CuAt
When the command fails, it outputs the following:
# odmget -q "value=paging and attribute=type" CuAt 0518-506 odmget: Cannot open object class CuAt Check path name and permissions.
-
Ensure that you are running the agent as the root user and that the environment variable
$ODMDIR
is set to the object repo path, which by default is/etc/objrepos
. On the affected AIX node, run:# whoami root # echo $ODMDIR /etc/objrepos
-
If the
$ODMDIR
environment variable is not set, review the current environment settings in/etc/environment
and the method you used to log in as the root user. For example, if you have a misconfigured/etc/environment
or use PowerBroker to log in, the environment might not populate properly. Correct the issues. -
Run the following command in the current session to verify there are no errors:
odmget -q "value=paging and attribute=type" CuAt
-
Check that agent runs are working, run
puppet agent -t
.
How can we improve this article?
0 comments
Please sign in to leave a comment.
Related articles