Skip to content

CSPL-4623: FIPS appframework fix for SHC and ES#1821

Open
rlieberman-splunk wants to merge 13 commits intodevelopfrom
feature/fips-appframework-fix
Open

CSPL-4623: FIPS appframework fix for SHC and ES#1821
rlieberman-splunk wants to merge 13 commits intodevelopfrom
feature/fips-appframework-fix

Conversation

@rlieberman-splunk
Copy link
Copy Markdown
Collaborator

Description

This pull request introduces improvements to how the Splunk operator handles FIPS-related informational messages and SSL certificate warnings during bundle push and post-install checks, ensuring that these do not incorrectly trigger errors or retries. It also extends integration test and suite timeouts to accommodate longer-running tests. Comprehensive unit tests have been added to cover the new FIPS-aware logic.

Key Changes

FIPS and SSL warning handling improvements:

  • Enhanced the isBundlePushComplete function in afwscheduler.go to distinguish between meaningful output and purely informational lines (such as FIPS provider banners and SSL certificate warnings) when determining if a bundle push is complete, preventing premature errors or retries on FIPS-enabled clusters.
  • Updated the handleEsappPostinstall function to treat non-empty stderr as informational only, logging it for debugging but not treating it as a failure, since FIPS-enabled clusters always output banners and warnings to stderr.
  • Added new constants splunkFIPSProviderBannerStr and splunkSSLCertWarnStr in names.go to identify FIPS and SSL warning messages.

Test timeout increases:

  • Increased test timeout for integration tests due to the FIPS OpenSSL provider adding measurable cryptographic overhead to every TLS connection made by Splunk. Each SHC bundle push pushes content to 3 search heads via mTLS; on a FIPS cluster this is noticeably slower.

Testing and Verification

  • Added extensive unit tests in afwscheduler_test.go for both bundle push completion and post-install logic, covering various combinations of FIPS banners, SSL warnings, and error scenarios to ensure robust handling of edge cases.
  • Smoke and Integration tests passing on a FIPS enabled cluster.

Related Issues

PR Checklist

  • Code changes adhere to the project's coding standards.
  • Relevant unit and integration tests are included.
  • Documentation has been updated accordingly.
  • All tests pass locally.
  • The PR description follows the project's guidelines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants