##############################################################################
# Local Function Definitions
##############################################################################

def separateBootPartition():
	FSLIST = SUSE.getFileSystems()
	for FILESYSTEM in FSLIST:
		if( FILESYSTEM['MountPoint'] == "/boot" ):
			return True
	return False

##############################################################################
# Main Program Execution
##############################################################################

FIPS = SUSE.getBasicFIPSData()
if( FIPS['Installed'] ):
	if( separateBootPartition() ):
		if( FIPS['KernBoot'] ):
			Core.updateStatus(Core.IGNORE, "Boot works regardless of FIPS enablement")
		else:
			if( FIPS['GrubFips'] or FIPS['KernFips'] ):
				Core.updateStatus(Core.CRIT, "Boot failure probable, configure boot device")
			else:
				Core.updateStatus(Core.WARN, "Enabling FIPS may cause server boot failure, configure boot device first.")
	else:
		Core.updateStatus(Core.ERROR, "Separate boot partiton not found")
else:
	Core.updateStatus(Core.ERROR, "FIPS not installed, not applicable")

Core.printPatternResults()