Skip to content

Support RAID and BIOS configuration for master nodes of baremetal IPI deployments#5196

Merged
openshift-merge-robot merged 3 commits intoopenshift:masterfrom
hs0210:ipi-support-raid-bios
Apr 30, 2022
Merged

Support RAID and BIOS configuration for master nodes of baremetal IPI deployments#5196
openshift-merge-robot merged 3 commits intoopenshift:masterfrom
hs0210:ipi-support-raid-bios

Conversation

@hs0210
Copy link
Copy Markdown
Contributor

@hs0210 hs0210 commented Sep 7, 2021

This PR adds the support of RAID and BIOS configuration for master nodes of baremetal IPI deployments.

Based on:

Signed-off-by: Hu Shuai hus.fnst@cn.fujitsu.com

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Sep 7, 2021

Hi @hs0210. Thanks for your PR.

I'm waiting for a openshift member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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.

@openshift-ci openshift-ci Bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Sep 7, 2021
@hs0210 hs0210 changed the title Support RAID and BIOS configuration for master nodes of baremetal IPI deployments WIP: Support RAID and BIOS configuration for master nodes of baremetal IPI deployments Sep 7, 2021
@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 7, 2021
@hardys
Copy link
Copy Markdown

hardys commented Sep 8, 2021

/ok-to-test

@openshift-ci openshift-ci Bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Sep 8, 2021
@hardys
Copy link
Copy Markdown

hardys commented Sep 8, 2021

/label platform/baremetal

@openshift-ci openshift-ci Bot added the platform/baremetal IPI bare metal hosts platform label Sep 8, 2021
@hs0210 hs0210 force-pushed the ipi-support-raid-bios branch from b0a4053 to fd01aa2 Compare September 9, 2021 01:21
@hs0210
Copy link
Copy Markdown
Contributor Author

hs0210 commented Sep 23, 2021

This won't work without the implementation of raid and bios processing on the terraform-provider-ironic side.

@hs0210 hs0210 force-pushed the ipi-support-raid-bios branch from 93ba7f3 to b8123f9 Compare October 29, 2021 09:52
@hs0210 hs0210 force-pushed the ipi-support-raid-bios branch 2 times, most recently from d7235bf to 55aaae9 Compare November 23, 2021 11:38
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 1, 2021
@hs0210 hs0210 force-pushed the ipi-support-raid-bios branch from 55aaae9 to ad7032c Compare December 2, 2021 11:06
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Dec 2, 2021
@hs0210 hs0210 force-pushed the ipi-support-raid-bios branch from ad7032c to e679664 Compare December 7, 2021 06:31
Comment thread pkg/tfvars/baremetal/baremetal.go Outdated
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'm not sure this is the standard way directly using asset.File in here. Because that brings about Marshalling&Unmarshalling like below.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks for your review, I understand your concerns. I'm not sure if this is a standard way either, but I saw cases where Unmarshalling is used to process asset.File data. And currently the configuration of RAID and BISO can only be obtained from mastersAsset.HostFiles. It seems that using Marshalling&Unmarshalling is a relatively straightforward way.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Unmarshalling the asset file is appropriate.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would take it a step further and suggest that you should be getting all of the configuration for the host from the asset file instead of from the install config. The install config is used as input into the asset file. But after the masters asset is created, the host files become the source of truth. The user is permitted to modify the host files on-disk, and the installer should respect those changes.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

The user is permitted to modify the host files on-disk, and the installer should respect those changes.

@staebler Thanks for your review. This is indeed reasonable. Considering that this is to modify the existing implementation, I will open a new PR to do what you suggested in the future.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@staebler We hope that this feature can be merged into OCP 4.10, could we implement the improvements you mentioned later?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yes, I did not mean to suggest that any changes needed to be made to this PR. I was only supporting the notion that reading the asset files is acceptable, and in many ways recommended.

@hs0210 hs0210 changed the title WIP: Support RAID and BIOS configuration for master nodes of baremetal IPI deployments Support RAID and BIOS configuration for master nodes of baremetal IPI deployments Dec 10, 2021
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Dec 10, 2021
@ardaguclu
Copy link
Copy Markdown
Member

This PR and #5473 are affecting same files.
To avoid possible conflicts and duplications, due to the urgency of this PR #5473
/hold

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Dec 14, 2021
@hs0210 hs0210 force-pushed the ipi-support-raid-bios branch 2 times, most recently from 1e92c35 to 3f99aec Compare December 15, 2021 10:54
Comment thread pkg/tfvars/baremetal/baremetal.go Outdated
"name": host.Name,
"port_address": host.BootMACAddress,
"bmc_address": host.BMC.Address,
"bmc_disable_certificate_verification": host.BMC.DisableCertificateVerification,
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The bmc address and flag to disable certificate validation already exists in the driver_info - see here:

https://github.com/openshift/installer/blob/master/pkg/tfvars/baremetal/baremetal.go#L78..L86

So I don't think we should add these new terraform APIs, the provider should just consume the existing driver_info data?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

It may be that DisableCertificateVerification can be derived from driver_info, but Address cannot. Please see the detailed statement in PR53's comments.

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

1 similar comment
@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@jacob-anders
Copy link
Copy Markdown

/skip

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

6 similar comments
@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@jacob-anders
Copy link
Copy Markdown

/test ci/prow/e2e-metal-ipi-ovn-ipv6

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 29, 2022

@rhjanders: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:

  • /test e2e-aws
  • /test e2e-metal-ipi-ovn-ipv6
  • /test gofmt
  • /test golint
  • /test govet
  • /test images
  • /test okd-images
  • /test okd-unit
  • /test okd-verify-codegen
  • /test openstack-manifests
  • /test shellcheck
  • /test tf-lint
  • /test unit
  • /test verify-codegen
  • /test verify-vendor
  • /test yaml-lint

The following commands are available to trigger optional jobs:

  • /test e2e-alibaba
  • /test e2e-aws-disruptive
  • /test e2e-aws-fips
  • /test e2e-aws-proxy
  • /test e2e-aws-shared-vpc
  • /test e2e-aws-single-node
  • /test e2e-aws-upgrade
  • /test e2e-aws-upi
  • /test e2e-aws-upi-proxy
  • /test e2e-aws-workers-rhel8
  • /test e2e-azure
  • /test e2e-azure-resourcegroup
  • /test e2e-azure-shared-vpc
  • /test e2e-azure-upi
  • /test e2e-azurestack
  • /test e2e-azurestack-upi
  • /test e2e-crc
  • /test e2e-gcp
  • /test e2e-gcp-shared-vpc
  • /test e2e-gcp-upgrade
  • /test e2e-gcp-upi
  • /test e2e-gcp-upi-xpn
  • /test e2e-ibmcloud
  • /test e2e-libvirt
  • /test e2e-metal
  • /test e2e-metal-assisted
  • /test e2e-metal-ipi
  • /test e2e-metal-ipi-ovn-dualstack
  • /test e2e-metal-ipi-swapped-hosts
  • /test e2e-metal-ipi-virtualmedia
  • /test e2e-metal-single-node-live-iso
  • /test e2e-openstack
  • /test e2e-openstack-kuryr
  • /test e2e-openstack-parallel
  • /test e2e-openstack-proxy
  • /test e2e-openstack-upi
  • /test e2e-ovirt
  • /test e2e-vsphere
  • /test e2e-vsphere-upi
  • /test okd-e2e-aws
  • /test okd-e2e-aws-upgrade
  • /test okd-e2e-gcp
  • /test okd-e2e-gcp-upgrade
  • /test okd-e2e-vsphere
  • /test tf-fmt

Use /test all to run the following jobs that were automatically triggered:

  • pull-ci-openshift-installer-master-e2e-aws
  • pull-ci-openshift-installer-master-e2e-aws-fips
  • pull-ci-openshift-installer-master-e2e-aws-proxy
  • pull-ci-openshift-installer-master-e2e-aws-shared-vpc
  • pull-ci-openshift-installer-master-e2e-aws-single-node
  • pull-ci-openshift-installer-master-e2e-azure
  • pull-ci-openshift-installer-master-e2e-crc
  • pull-ci-openshift-installer-master-e2e-gcp
  • pull-ci-openshift-installer-master-e2e-ibmcloud
  • pull-ci-openshift-installer-master-e2e-libvirt
  • pull-ci-openshift-installer-master-e2e-metal-assisted
  • pull-ci-openshift-installer-master-e2e-metal-ipi
  • pull-ci-openshift-installer-master-e2e-metal-ipi-ovn-dualstack
  • pull-ci-openshift-installer-master-e2e-metal-ipi-ovn-ipv6
  • pull-ci-openshift-installer-master-e2e-metal-ipi-swapped-hosts
  • pull-ci-openshift-installer-master-e2e-metal-ipi-virtualmedia
  • pull-ci-openshift-installer-master-e2e-metal-single-node-live-iso
  • pull-ci-openshift-installer-master-e2e-openstack
  • pull-ci-openshift-installer-master-e2e-openstack-kuryr
  • pull-ci-openshift-installer-master-e2e-openstack-parallel
  • pull-ci-openshift-installer-master-e2e-openstack-proxy
  • pull-ci-openshift-installer-master-e2e-ovirt
  • pull-ci-openshift-installer-master-e2e-vsphere
  • pull-ci-openshift-installer-master-gofmt
  • pull-ci-openshift-installer-master-golint
  • pull-ci-openshift-installer-master-govet
  • pull-ci-openshift-installer-master-images
  • pull-ci-openshift-installer-master-okd-e2e-aws
  • pull-ci-openshift-installer-master-okd-images
  • pull-ci-openshift-installer-master-okd-unit
  • pull-ci-openshift-installer-master-okd-verify-codegen
  • pull-ci-openshift-installer-master-openstack-manifests
  • pull-ci-openshift-installer-master-shellcheck
  • pull-ci-openshift-installer-master-tf-fmt
  • pull-ci-openshift-installer-master-tf-lint
  • pull-ci-openshift-installer-master-unit
  • pull-ci-openshift-installer-master-verify-codegen
  • pull-ci-openshift-installer-master-verify-vendor
  • pull-ci-openshift-installer-master-yaml-lint
Details

In response to this:

/test ci/prow/e2e-metal-ipi-ovn-ipv6

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.

@jacob-anders
Copy link
Copy Markdown

/test e2e-metal-ipi-ovn-ipv6

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

7 similar comments
@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@jacob-anders
Copy link
Copy Markdown

/test ci/prow/e2e-metal-ipi-ovn-ipv6

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 30, 2022

@rhjanders: The specified target(s) for /test were not found.
The following commands are available to trigger required jobs:

  • /test e2e-aws
  • /test e2e-metal-ipi-ovn-ipv6
  • /test gofmt
  • /test golint
  • /test govet
  • /test images
  • /test okd-images
  • /test okd-unit
  • /test okd-verify-codegen
  • /test openstack-manifests
  • /test shellcheck
  • /test tf-lint
  • /test unit
  • /test verify-codegen
  • /test verify-vendor
  • /test yaml-lint

The following commands are available to trigger optional jobs:

  • /test e2e-alibaba
  • /test e2e-aws-disruptive
  • /test e2e-aws-fips
  • /test e2e-aws-proxy
  • /test e2e-aws-shared-vpc
  • /test e2e-aws-single-node
  • /test e2e-aws-upgrade
  • /test e2e-aws-upi
  • /test e2e-aws-upi-proxy
  • /test e2e-aws-workers-rhel8
  • /test e2e-azure
  • /test e2e-azure-resourcegroup
  • /test e2e-azure-shared-vpc
  • /test e2e-azure-upi
  • /test e2e-azurestack
  • /test e2e-azurestack-upi
  • /test e2e-crc
  • /test e2e-gcp
  • /test e2e-gcp-shared-vpc
  • /test e2e-gcp-upgrade
  • /test e2e-gcp-upi
  • /test e2e-gcp-upi-xpn
  • /test e2e-ibmcloud
  • /test e2e-libvirt
  • /test e2e-metal
  • /test e2e-metal-assisted
  • /test e2e-metal-ipi
  • /test e2e-metal-ipi-ovn-dualstack
  • /test e2e-metal-ipi-swapped-hosts
  • /test e2e-metal-ipi-virtualmedia
  • /test e2e-metal-single-node-live-iso
  • /test e2e-openstack
  • /test e2e-openstack-kuryr
  • /test e2e-openstack-parallel
  • /test e2e-openstack-proxy
  • /test e2e-openstack-upi
  • /test e2e-ovirt
  • /test e2e-vsphere
  • /test e2e-vsphere-upi
  • /test okd-e2e-aws
  • /test okd-e2e-aws-upgrade
  • /test okd-e2e-gcp
  • /test okd-e2e-gcp-upgrade
  • /test okd-e2e-vsphere
  • /test tf-fmt

Use /test all to run the following jobs that were automatically triggered:

  • pull-ci-openshift-installer-master-e2e-aws
  • pull-ci-openshift-installer-master-e2e-aws-fips
  • pull-ci-openshift-installer-master-e2e-aws-proxy
  • pull-ci-openshift-installer-master-e2e-aws-shared-vpc
  • pull-ci-openshift-installer-master-e2e-aws-single-node
  • pull-ci-openshift-installer-master-e2e-azure
  • pull-ci-openshift-installer-master-e2e-crc
  • pull-ci-openshift-installer-master-e2e-gcp
  • pull-ci-openshift-installer-master-e2e-ibmcloud
  • pull-ci-openshift-installer-master-e2e-libvirt
  • pull-ci-openshift-installer-master-e2e-metal-assisted
  • pull-ci-openshift-installer-master-e2e-metal-ipi
  • pull-ci-openshift-installer-master-e2e-metal-ipi-ovn-dualstack
  • pull-ci-openshift-installer-master-e2e-metal-ipi-ovn-ipv6
  • pull-ci-openshift-installer-master-e2e-metal-ipi-swapped-hosts
  • pull-ci-openshift-installer-master-e2e-metal-ipi-virtualmedia
  • pull-ci-openshift-installer-master-e2e-metal-single-node-live-iso
  • pull-ci-openshift-installer-master-e2e-openstack
  • pull-ci-openshift-installer-master-e2e-openstack-kuryr
  • pull-ci-openshift-installer-master-e2e-openstack-parallel
  • pull-ci-openshift-installer-master-e2e-openstack-proxy
  • pull-ci-openshift-installer-master-e2e-ovirt
  • pull-ci-openshift-installer-master-e2e-vsphere
  • pull-ci-openshift-installer-master-gofmt
  • pull-ci-openshift-installer-master-golint
  • pull-ci-openshift-installer-master-govet
  • pull-ci-openshift-installer-master-images
  • pull-ci-openshift-installer-master-okd-e2e-aws
  • pull-ci-openshift-installer-master-okd-images
  • pull-ci-openshift-installer-master-okd-unit
  • pull-ci-openshift-installer-master-okd-verify-codegen
  • pull-ci-openshift-installer-master-openstack-manifests
  • pull-ci-openshift-installer-master-shellcheck
  • pull-ci-openshift-installer-master-tf-fmt
  • pull-ci-openshift-installer-master-tf-lint
  • pull-ci-openshift-installer-master-unit
  • pull-ci-openshift-installer-master-verify-codegen
  • pull-ci-openshift-installer-master-verify-vendor
  • pull-ci-openshift-installer-master-yaml-lint
Details

In response to this:

/test ci/prow/e2e-metal-ipi-ovn-ipv6

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.

@jacob-anders
Copy link
Copy Markdown

/test e2e-metal-ipi-ovn-ipv6

@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 30, 2022

@hs0210: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-openstack-provider-network fd01aa2 link /test e2e-openstack-provider-network
ci/prow/e2e-openstack-byon fd01aa2 link /test e2e-openstack-byon
ci/prow/e2e-aws-workers-rhel7 4da0dae5e092d9c5c90df518f56bc43d2222d8e2 link false /test e2e-aws-workers-rhel7
ci/prow/e2e-azure-upi 2f82368 link false /test e2e-azure-upi
ci/prow/okd-e2e-aws-upgrade 097d5db link false /test okd-e2e-aws-upgrade
ci/prow/e2e-metal-ipi-swapped-hosts 1da5324 link false /test e2e-metal-ipi-swapped-hosts
ci/prow/e2e-aws-disruptive 1da5324 link false /test e2e-aws-disruptive
ci/prow/e2e-vsphere 1da5324 link false /test e2e-vsphere
ci/prow/e2e-crc 1da5324 link false /test e2e-crc
ci/prow/e2e-ibmcloud 1da5324 link false /test e2e-ibmcloud
ci/prow/e2e-azurestack 1da5324 link false /test e2e-azurestack
ci/prow/e2e-gcp-shared-vpc 1da5324 link false /test e2e-gcp-shared-vpc
ci/prow/e2e-metal-ipi-ovn-dualstack 1da5324 link false /test e2e-metal-ipi-ovn-dualstack
ci/prow/e2e-libvirt 1da5324 link false /test e2e-libvirt
ci/prow/e2e-gcp-upi-xpn 1da5324 link false /test e2e-gcp-upi-xpn
ci/prow/e2e-openstack 1da5324 link false /test e2e-openstack
ci/prow/e2e-openstack-parallel 1da5324 link false /test e2e-openstack-parallel
ci/prow/e2e-azure-shared-vpc 1da5324 link false /test e2e-azure-shared-vpc

Full PR test history. Your PR dashboard.

Details

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-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

1 similar comment
@openshift-bot
Copy link
Copy Markdown
Contributor

/retest-required

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

@openshift-merge-robot openshift-merge-robot merged commit 78aee55 into openshift:master Apr 30, 2022
patrickdillon pushed a commit to patrickdillon/installer that referenced this pull request Oct 24, 2023
Support RAID and BIOS configuration for master nodes of baremetal IPI deployments
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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. platform/baremetal IPI bare metal hosts platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.