Based on our internal conversation today, it appears that SELinux support is basically mandatory for DOD at this point, and the DOE may soon follow. It is unclear exactly what the entire scope of "full support" is.
A good starting point would be for Flux to launch batch jobs confined to a specific SELinux context. Initially, it might be easiest to have the target SELinux context provided by MUNGE (i.e., the user already has to be within the target context when they submit the job), but I can imagine a scenario where the user wants to be in context A and submit a job that will run in context B (assuming the user has the proper privileges to run in context B).
One potential "gotcha" that @grondo mentioned: if you aren't careful with permissions, then it is possible for the RM to create a file descriptor for a job that (once running under the target context) the job is unable to access.
Based on our internal conversation today, it appears that SELinux support is basically mandatory for DOD at this point, and the DOE may soon follow. It is unclear exactly what the entire scope of "full support" is.
A good starting point would be for Flux to launch batch jobs confined to a specific SELinux context. Initially, it might be easiest to have the target SELinux context provided by MUNGE (i.e., the user already has to be within the target context when they submit the job), but I can imagine a scenario where the user wants to be in context A and submit a job that will run in context B (assuming the user has the proper privileges to run in context B).
One potential "gotcha" that @grondo mentioned: if you aren't careful with permissions, then it is possible for the RM to create a file descriptor for a job that (once running under the target context) the job is unable to access.