UdevRules - files /usr/lib/udev/rules.d/* and /etc/udev/rules.d/

The parsers included in this module are:

UdevRulesFCWWPN - file /usr/lib/udev/rules.d/59-fc-wwpn-id.rules

UdevRules40Redhat - files /etc/udev/rules.d/40-redhat.rules, /run/udev/rules.d/40-redhat.rules, /usr/lib/udev/rules.d/40-redhat.rules, /usr/local/lib/udev/rules.d/40-redhat.rules

UdevRulesOracleASM - file /etc/udev/rules.d/*asm*.rules

class insights.parsers.udev_rules.UdevRules40Redhat(context)[source]

Bases: LogFileOutput

Read the content of 40-redhat.rules file.

Note

The syntax of the .rules file is complex, and no rules require to get the serialized parsed result currently. An only existing rule’s supposed to check the syntax of some specific line, so here the insights.core.LogFileOutput is the base class.

Sample input:

# do not edit this file, it will be overwritten on update
# CPU hotadd request
SUBSYSTEM=="cpu", ACTION=="add", TEST=="online", ATTR{online}=="0", ATTR{online}="1"

# Memory hotadd request
SUBSYSTEM!="memory", ACTION!="add", GOTO="memory_hotplug_end"
PROGRAM="/bin/uname -p", RESULT=="s390*", GOTO="memory_hotplug_end"

LABEL="memory_hotplug_end"

Examples

>>> 'LABEL="memory_hotplug_end"' in udev_40_redhat_rules.lines
True
class insights.parsers.udev_rules.UdevRulesFCWWPN(context)[source]

Bases: LogFileOutput

Read the content of /usr/lib/udev/rules.d/59-fc-wwpn-id.rules file.

Note

The syntax of the .rules file is complex, and no rules require to get the serialized parsed result currently. An only existing rule’s supposed to check the syntax of some specific line, so here the insights.core.LogFileOutput is the base class.

Examples

>>> type(udev_rules)
<class 'insights.parsers.udev_rules.UdevRulesFCWWPN'>
>>> 'ENV{FC_TARGET_WWPN}!="$*"; GOTO="fc_wwpn_end"' in udev_rules.lines
True
class insights.parsers.udev_rules.UdevRulesOracleASM(context)[source]

Bases: LogFileOutput

Read the content of /etc/udev/rules.d/*asm*.rules file.

Note

The syntax of the .rules file is complex, and no rules require to get the serialized parsed result currently. An only existing rule’s supposed to check the syntax of some specific lines, so here the insights.core.LogFileOutput is the base class.

Sample input:

KERNEL=="dm*", PROGRAM=="scsi_id --page=0x83 --whitelisted --device=/dev/%k",         RESULT=="360060e80164c210000014c2100007a8f",         SYMLINK+="oracleasm/disks/asm_sbe80_7a8f", OWNER="oracle", GROUP="dba", MODE="0660"


KERNEL=="dm*", PROGRAM=="scsi_id --page=0x83 --whitelisted --device=/dev/%k",         RESULT=="360060e80164c210000014c2100007a91",         SYMLINK+="oracleasm/disks/asm_sbe80_7a91", OWNER="oracle", GROUP="dba", MODE="0660"

# NOTE: Insert new Oracle ASM LUN configuration before this comment
ACTION=="add|change", KERNEL=="sd*", OPTIONS:="nowatch"

Examples:

>>> 'ACTION=="add|change", KERNEL=="sd*", OPTIONS:="nowatch"' in udev_oracle_asm_rules.lines
True
>>> udev_oracle_asm_rules.get('ACTION')[0]['raw_message']
'ACTION=="add|change", KERNEL=="sd*", OPTIONS:="nowatch"'