Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a fips flag to install-config.yaml #2594

Merged
merged 3 commits into from
Oct 31, 2019

Conversation

cgwalters
Copy link
Member

Part of: openshift/enhancements#15

We added FIPS to the MCO a while ago:
openshift/machine-config-operator#889

However, during some discussion it became clear that the main
use case for FIPS is "day 1" - it doesn't make sense to turn it
on "day 2" because the standard requires that e.g. long-term key
material was created with FIPS enabled.

Further, it's unlikely that admins will want to turn it off
if they ever had it on.

This is a good candidate for an install config.

@openshift-ci-robot openshift-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Oct 30, 2019
@cgwalters
Copy link
Member Author

So with this PR so far, I verified that the encapsulated MachineConfig that ends up on the node has fips: true. But, making use of this requires further changes in RHCOS to process that flag very early on in the initramfs and reboot.

pkg/types/installconfig.go Outdated Show resolved Hide resolved
@cgwalters
Copy link
Member Author

To emphasize, this PR is just "sugar" for providing MachineConfig objects which set fips: true via additional manifests.

@cgwalters
Copy link
Member Author

/test govet

@cgwalters
Copy link
Member Author

OK, fixed the unit tests, and addressed comments!

@sdodson
Copy link
Member

sdodson commented Oct 31, 2019

/approve

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 31, 2019
@abhinavdahiya
Copy link
Contributor

/hold

Need to make sure a global FIPS option is more appropriate than per pool.

@openshift-ci-robot openshift-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 31, 2019
Apparently the code in library-go which parses these doesn't
honor multiple YAML documents.  I thought about fixing that but
on the other hand, there's no really good *reason* for us to
not just write out individual files either.  It's clearer.

Prep for FIPS injecting another MachineConfig.
Part of: openshift/enhancements#15

We added FIPS to the MCO a while ago:
openshift/machine-config-operator#889

However, during some discussion it became clear that the main
use case for FIPS is "day 1" - it doesn't make sense to turn it
on "day 2" because the standard requires that e.g. long-term key
material was created with FIPS enabled.

Further, it's unlikely that admins will want to turn it *off*
if they ever had it on.

This is a good candidate for an install config.
@cgwalters
Copy link
Member Author

/test e2e-aws

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Oct 31, 2019

@cgwalters: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
ci/prow/e2e-aws-scaleup-rhel7 0cdd641 link /test e2e-aws-scaleup-rhel7
ci/prow/e2e-openstack 0cdd641 link /test e2e-openstack

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@cgwalters
Copy link
Member Author

Addressed comments!

@cgwalters
Copy link
Member Author

Need to make sure a global FIPS option is more appropriate than per pool.

Fair question - who makes that call?

@sdodson
Copy link
Member

sdodson commented Oct 31, 2019

Fair question - who makes that call?

Discussed during group G arch call, feedback from PM and @crawford is that non FIPs hosts taint a cluster so it has to be cluster scoped.

@abhinavdahiya
Copy link
Contributor

/hold cancel

@openshift-ci-robot openshift-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 31, 2019
@abhinavdahiya
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Oct 31, 2019
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinavdahiya, cgwalters, sdodson

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:
  • OWNERS [abhinavdahiya,sdodson]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-robot openshift-merge-robot merged commit 7d81834 into openshift:master Oct 31, 2019
cgwalters added a commit to cgwalters/machine-config-operator that referenced this pull request Nov 5, 2019
Our new thought around this is that really FIPS should be a "day 1"
operation, and we don't want to make it really easy to undo.
See also openshift/installer#2594
 Anyone who wants to force this can change the MC flag, then
`oc debug node` and run the disable command by hand, then reboot.

Our MachineConfig merge semantics should make it hard for this
to happen unless the admin explicitly deletes the installer-generated MC,
but still.

Since we don't support it and don't want customers
to do it by accident, let's disable it and also stop wasting compute
hours testing it.

Further, a pending RHCOS change will delete the FIPS command entirely
and move it into the initramfs.  Cleanly handle that case by also refusing
to enable FIPS "day 2" - what we expect to be the future.

But we still support enabling day 2 for testing until that RHCOS change
lands.
wking added a commit to wking/openshift-installer that referenced this pull request Dec 12, 2019
The more-convenient property got vendored in with 5366d28 (vendor:
Bump machine-config-operator to latest, 2019-10-30, openshift#2594) as part of
FIPS support.
wking added a commit to wking/openshift-installer that referenced this pull request Dec 12, 2019
The more-convenient property got vendored in with 5366d28 (vendor:
Bump machine-config-operator to latest, 2019-10-30, openshift#2594) as part of
FIPS support.
wking added a commit to wking/openshift-installer that referenced this pull request Dec 12, 2019
The more-convenient property got vendored in with 5366d28 (vendor:
Bump machine-config-operator to latest, 2019-10-30, openshift#2594) as part of
FIPS support.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants