Cannot introspect nodes due to SElinux denials in Red Hat OpenStack Platform 10

Solution In Progress - Updated -

Issue

Cannot introspect nodes due to SElinux denials in Red Hat OpenStack Platform 10 and /var/log/audit/audit.log shows:

msg=audit(1539127145.762:375): avc:  denied  { getattr } for  pid=1508 comm="httpd" path="/httpboot/inspector.ipxe" dev="vda1" ino=499128913 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file
type=AVC msg=audit(1539127171.411:376): avc:  denied  { getattr } for  pid=1502 comm="httpd" path="/httpboot/inspector.ipxe" dev="vda1" ino=499128913 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file
type=AVC msg=audit(1539127171.411:377): avc:  denied  { getattr } for  pid=1502 comm="httpd" path="/httpboot/inspector.ipxe" dev="vda1" ino=499128913 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file
type=AVC msg=audit(1539127222.991:378): avc:  denied  { getattr } for  pid=1505 comm="httpd" path="/httpboot/inspector.ipxe" dev="vda1" ino=499128913 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file
type=AVC msg=audit(1539127222.991:379): avc:  denied  { getattr } for  pid=1505 comm="httpd" path="/httpboot/inspector.ipxe" dev="vda1" ino=499128913 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:default_t:s0 tclass=file

restorecon of /httpboot or an autorelabel (https://access.redhat.com/solutions/24845) will set wrong permissions on /httpboot:

[root@podir011 ~]# ls -alZ /httpboot/
drwxr-xr-x. ironic           ironic           system_u:object_r:default_t:s0   .
dr-xr-xr-x. root             root             system_u:object_r:root_t:s0      ..
-rwxr-xr-x. root             root             system_u:object_r:default_t:s0   agent.kernel
-rw-r--r--. root             root             system_u:object_r:default_t:s0   agent.ramdisk
-rw-r--r--. ironic-inspector ironic-inspector system_u:object_r:default_t:s0   inspector.ipxe

Permissions can be fixed by manually changing the context:

[root@podir011 ~]# chcon -t httpd_sys_content_t /httpboot/ -R
[root@podir011 ~]# ls -alZ /httpboot
drwxr-xr-x. ironic           ironic           system_u:object_r:httpd_sys_content_t:s0 .
dr-xr-xr-x. root             root             system_u:object_r:root_t:s0      ..
-rwxr-xr-x. root             root             system_u:object_r:httpd_sys_content_t:s0 agent.kernel
-rw-r--r--. root             root             system_u:object_r:httpd_sys_content_t:s0 agent.ramdisk
-rw-r--r--. ironic-inspector ironic-inspector system_u:object_r:httpd_sys_content_t:s0 inspector.ipxe

However, running restorecon will reset the bad SElinux context (that will reset the dir and files therein to the stored SElinux context):

[root@podir011 ~]# restorecon /httpboot -RF
[root@podir011 ~]# ls -al /httpboot
total 377260
drwxr-xr-x.  2 ironic           ironic                  69 Oct  9 16:25 .
dr-xr-xr-x. 19 root             root                   256 Oct  9 19:01 ..
-rwxr-xr-x.  1 root             root               5889712 Oct  9 16:25 agent.kernel
-rw-r--r--.  1 root             root             380417527 Oct  9 16:25 agent.ramdisk
-rw-r--r--.  1 ironic-inspector ironic-inspector       459 Oct  9 16:21 inspector.ipxe
[root@podir011 ~]# ls -alZ /httpboot/
drwxr-xr-x. ironic           ironic           system_u:object_r:default_t:s0   .
dr-xr-xr-x. root             root             system_u:object_r:root_t:s0      ..
-rwxr-xr-x. root             root             system_u:object_r:default_t:s0   agent.kernel
-rw-r--r--. root             root             system_u:object_r:default_t:s0   agent.ramdisk
-rw-r--r--. ironic-inspector ironic-inspector system_u:object_r:default_t:s0   inspector.ipxe

And resetting it again:

[root@podir011 ~]# chcon -t httpd_sys_content_t /httpboot/ -R
[root@podir011 ~]# ls -alZ /httpboot/
drwxr-xr-x. ironic           ironic           system_u:object_r:httpd_sys_content_t:s0 .
dr-xr-xr-x. root             root             system_u:object_r:root_t:s0      ..
-rwxr-xr-x. root             root             system_u:object_r:httpd_sys_content_t:s0 agent.kernel
-rw-r--r--. root             root             system_u:object_r:httpd_sys_content_t:s0 agent.ramdisk
-rw-r--r--. ironic-inspector ironic-inspector system_u:object_r:httpd_sys_content_t:s0 inspector.ipxe
[root@podir011 ~]#

Environment

Red Hat OpenStack Platform 10

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content