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

baremetal: send full ignition to masters #4427

Merged
merged 2 commits into from
Dec 4, 2020

Conversation

hardys
Copy link
Contributor

@hardys hardys commented Nov 27, 2020

This restores the work which was previously done via #3276 but then reverted via #3589 due to breaking users who customized the pointer ignition config in IPI deployments.

A solution to that has been proposed via #4413 which this PR depends on, so when that lands this work can safely be restored, see openshift/enhancements#540 for more details.

Note that some additional changes beyond the initial implementation were required due to the MCO now supporting multiple
ignition versions, thus this PR depends on openshift-metal3/terraform-provider-ironic#46 which will need to land and be vendored here before the PR merges.

This replaces #4359

@hardys
Copy link
Contributor Author

hardys commented Nov 27, 2020

/label platform/baremetal

@openshift-ci-robot openshift-ci-robot added the platform/baremetal IPI bare metal hosts platform label Nov 27, 2020
@hardys
Copy link
Contributor Author

hardys commented Nov 27, 2020

/hold #4413 and openshift-metal3/terraform-provider-ironic#46 need to merge first

/cc @stbenjam @kirankt @staebler

@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 Nov 27, 2020
Copy link
Member

@stbenjam stbenjam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple minor comments on a first pass, not super familiar with the RawExt ignition stuff. Would be good to get MCO folks to review.

Note, you'll also need to update the dependency graph.

pkg/tfvars/baremetal/baremetal.go Outdated Show resolved Hide resolved
pkg/asset/ignition/bootstrap/bootstrap.go Outdated Show resolved Hide resolved
@hardys
Copy link
Contributor Author

hardys commented Dec 2, 2020

Note, you'll also need to update the dependency graph.

Ah I missed that in 4413, I'll push a follow-up, thanks!

@hardys
Copy link
Contributor Author

hardys commented Dec 2, 2020

/retest
/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 Dec 2, 2020
pkg/asset/cluster/tfvars.go Outdated Show resolved Hide resolved
data/data/baremetal/masters/variables.tf Outdated Show resolved Hide resolved
pkg/tfvars/baremetal/baremetal.go Show resolved Hide resolved
@hardys hardys force-pushed the bm-full-ignition branch 3 times, most recently from 5022ed6 to cc9b11d Compare December 2, 2020 16:54
This restores the work which was previously done via openshift#3276
but then reverted via openshift#3589 due to breaking users who customized
the pointer ignition config in IPI deployments.

A solution to that has been proposed via openshift#4413 - see openshift/enhancements#540 for more details.

Note that some additional changes beyond the initial implementation
were required due to the MCO now supporting multiple
ignition versions, thus this depends on openshift-metal3/terraform-provider-ironic#46

Co-Authored-By: Steven Hardy <[email protected]>
@@ -33,3 +28,18 @@ variable "instance_infos" {
type = list(map(string))
description = "Instance information for hosts"
}

variable "master_ignition_url" {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the confusion around the naming. These didn't need to change, as you correctly stated that there is already context in the path. You can leave it as is or change it back: Your call.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@staebler since CI passed I'm fine to leave it with the master prefix - it also makes it slightly more explicit when debugging and looking at the tfvars directly I guess

pkg/tfvars/baremetal/baremetal.go Show resolved Hide resolved
@stbenjam
Copy link
Member

stbenjam commented Dec 3, 2020

/test e2e-metal-ipi-virtualmedia

Just want to test the disabled/virtualmedia code path since it's so fragile, but the changes here look good to me!

@stbenjam
Copy link
Member

stbenjam commented Dec 3, 2020

/test e2e-metal-ipi-virtualmedia

@stbenjam
Copy link
Member

stbenjam commented Dec 3, 2020

@staebler Is there anything left from your side to get this approved? We'll need you to do it :)

Copy link
Contributor

@staebler staebler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/approve

@@ -34,7 +40,7 @@ type config struct {
}

// TFVars generates bare metal specific Terraform variables.
func TFVars(libvirtURI, bootstrapProvisioningIP, bootstrapOSImage, externalBridge, externalMAC, provisioningBridge, provisioningMAC string, platformHosts []*baremetal.Host, image, ironicUsername, ironicPassword string) ([]byte, error) {
func TFVars(libvirtURI, bootstrapProvisioningIP, bootstrapOSImage, externalBridge, externalMAC, provisioningBridge, provisioningMAC string, platformHosts []*baremetal.Host, image, ironicUsername, ironicPassword, ignition string) ([]byte, error) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was still hoping to get this changed from ignition to masterIgnition, but I won't hold up the PR for it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I can push a follow-up PR to make that consistent

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 3, 2020
@kirankt
Copy link
Contributor

kirankt commented Dec 3, 2020

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 3, 2020
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: kirankt, staebler

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:

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

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

6 similar comments
@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-bot
Copy link
Contributor

/retest

Please review the full test history for this PR and help us cut down flakes.

@openshift-merge-robot
Copy link
Contributor

@hardys: The following test failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
ci/prow/e2e-crc 98dc381 link /test e2e-crc

Full PR test history. Your PR dashboard.

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.

@openshift-merge-robot openshift-merge-robot merged commit abd33c5 into openshift:master Dec 4, 2020
hardys pushed a commit to hardys/installer that referenced this pull request Mar 8, 2021
This doesn't work for IPI baremetal deployments driven via hive,
because there are firewall rules that prevent access to the
bootstrap MCS from the pod running the installer.

This was implemented in:
openshift#4427

But we ran into problems making the same approach work for
worker machines ref:
openshift#4456

We're now looking at other approaches to resolve the
network-config requirements driving that work, so
switching back to the pointer config for masters seems
reasonable, particularly given this issue discovered for
hive deployments.

Conflicts:
  pkg/tfvars/baremetal/baremetal.go

This reverts commit 98dc381.
hardys pushed a commit to hardys/installer that referenced this pull request Mar 8, 2021
This doesn't work for IPI baremetal deployments driven via hive,
because there are firewall rules that prevent access to the
bootstrap MCS from the pod running the installer.

This was implemented in:
openshift#4427

But we ran into problems making the same approach work for
worker machines ref:
openshift#4456

We're now looking at other approaches to resolve the
network-config requirements driving that work, so
switching back to the pointer config for masters seems
reasonable, particularly given this issue discovered for
hive deployments.

Conflicts:
  pkg/tfvars/baremetal/baremetal.go

This reverts commit 98dc381.
smrowley pushed a commit to smrowley/installer that referenced this pull request Mar 31, 2021
This doesn't work for IPI baremetal deployments driven via hive,
because there are firewall rules that prevent access to the
bootstrap MCS from the pod running the installer.

This was implemented in:
openshift#4427

But we ran into problems making the same approach work for
worker machines ref:
openshift#4456

We're now looking at other approaches to resolve the
network-config requirements driving that work, so
switching back to the pointer config for masters seems
reasonable, particularly given this issue discovered for
hive deployments.

Conflicts:
  pkg/tfvars/baremetal/baremetal.go

This reverts commit 98dc381.
AnnaZivkovic pushed a commit to AnnaZivkovic/installer that referenced this pull request Apr 1, 2022
This doesn't work for IPI baremetal deployments driven via hive,
because there are firewall rules that prevent access to the
bootstrap MCS from the pod running the installer.

This was implemented in:
openshift#4427

But we ran into problems making the same approach work for
worker machines ref:
openshift#4456

We're now looking at other approaches to resolve the
network-config requirements driving that work, so
switching back to the pointer config for masters seems
reasonable, particularly given this issue discovered for
hive deployments.

Conflicts:
  pkg/tfvars/baremetal/baremetal.go

This reverts commit 98dc381.
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. platform/baremetal IPI bare metal hosts platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants