openshift / assisted-service

Apache License 2.0
109 stars 209 forks source link

MGMT-18121: Configure networking when using ISCSI over OCI #6665

Closed adriengentil closed 1 month ago

adriengentil commented 1 month ago

A secondary network interface is required in OCI in order to install clusters on iSCSI boot volumes. Extra interfaces in OCI must be statically set, this change adds a script that configures the secondary network interface on OCI during discovery. We ensure that we execute the script only for machines in OCI with an iBFT configuration.

Since the secondary interface is the one that will be part of the machine networks, we will prevent its configuration with DHCP though the kernel arguments.

Unfortunately, we cannot propagate the network configuration set during discovery to the installed system because --copy-network won't work with iSCSI boot volumes: https://github.com/coreos/coreos-installer/issues/1389. As an alternative, the user will need to pass extra custom manifests to configure the network on next boot.

For the moment, we'll keep this script to configure OCI networking in assisted-service, but in the future we may want Oracle to own this script and inject it at discovery time. This will be refined in a later stage.

openshift-ci[bot] commented 1 month ago

Skipping CI for Draft Pull Request. If you want CI signal for your change, please convert it to an actual PR. You can still manually trigger a test run with /test all

openshift-ci[bot] commented 1 month ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: adriengentil

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](https://github.com/openshift/assisted-service/blob/master/OWNERS)~~ [adriengentil] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
adriengentil commented 1 month ago

/test edge-unit-test edge-lint edge-e2e-oci-assisted edge-e2e-metal-assisted-external

openshift-ci-robot commented 1 month ago

@adriengentil: This pull request references MGMT-18121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.17.0" version, but no target version was set.

In response to [this](https://github.com/openshift/assisted-service/pull/6665): >- **[MGMT-18121](https://issues.redhat.com//browse/MGMT-18121): OCI network configuration script** >- **[MGMT-18122](https://issues.redhat.com//browse/MGMT-18122): Copy network configuration when ISCSI on OCI is in use** > Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fassisted-service). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.61%. Comparing base (8c9c437) to head (5c749ae). Report is 1 commits behind head on master.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/openshift/assisted-service/pull/6665/graphs/tree.svg?width=650&height=150&src=pr&token=YOR4NSSOXQ&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openshift)](https://app.codecov.io/gh/openshift/assisted-service/pull/6665?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openshift) ```diff @@ Coverage Diff @@ ## master #6665 +/- ## ========================================== + Coverage 68.60% 68.61% +0.01% ========================================== Files 246 246 Lines 36819 36836 +17 ========================================== + Hits 25259 25275 +16 Misses 9308 9308 - Partials 2252 2253 +1 ``` | [Files](https://app.codecov.io/gh/openshift/assisted-service/pull/6665?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openshift) | Coverage Δ | | |---|---|---| | [internal/host/hostcommands/install\_cmd.go](https://app.codecov.io/gh/openshift/assisted-service/pull/6665?src=pr&el=tree&filepath=internal%2Fhost%2Fhostcommands%2Finstall_cmd.go&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openshift#diff-aW50ZXJuYWwvaG9zdC9ob3N0Y29tbWFuZHMvaW5zdGFsbF9jbWQuZ28=) | `86.66% <100.00%> (-0.28%)` | :arrow_down: | ... and [1 file with indirect coverage changes](https://app.codecov.io/gh/openshift/assisted-service/pull/6665/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=openshift)
adriengentil commented 1 month ago

/test edge-unit-test edge-lint edge-e2e-oci-assisted edge-e2e-metal-assisted-external

adriengentil commented 1 month ago

/test edge-e2e-oci-assisted edge-e2e-metal-assisted-external

openshift-ci-robot commented 1 month ago

@adriengentil: This pull request references MGMT-18121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/assisted-service/pull/6665): >A secondary network interface is required in OCI in order to install clusters on iSCSI boot volumes. Extra interfaces in OCI must be statically set, this change adds a script that configures the secondary network interface on OCI during discovery. > >Since the secondary interface is the one that will be part of the machine networks, we will prevent it's configuration with DHCP though the kernel arguments. Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fassisted-service). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 month ago

@adriengentil: This pull request references MGMT-18121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/assisted-service/pull/6665): >A secondary network interface is required in OCI in order to install clusters on iSCSI boot volumes. Extra interfaces in OCI must be statically set, this change adds a script that configures the secondary network interface on OCI during discovery. > >Since the secondary interface is the one that will be part of the machine networks, we will prevent it's configuration with DHCP though the kernel arguments. > >Unfortunately, we cannot propagate the network configuration set during discovery to the installed system because `--copy-network` won't work with iSCSI boot volumes: https://github.com/coreos/coreos-installer/issues/1389. As an alternative, the user will need to pass extra custom manifests to configure the network on next boot. Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fassisted-service). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 month ago

@adriengentil: This pull request references MGMT-18121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/assisted-service/pull/6665): >A secondary network interface is required in OCI in order to install clusters on iSCSI boot volumes. Extra interfaces in OCI must be statically set, this change adds a script that configures the secondary network interface on OCI during discovery. > >Since the secondary interface is the one that will be part of the machine networks, we will prevent its configuration with DHCP though the kernel arguments. > >Unfortunately, we cannot propagate the network configuration set during discovery to the installed system because `--copy-network` won't work with iSCSI boot volumes: https://github.com/coreos/coreos-installer/issues/1389. As an alternative, the user will need to pass extra custom manifests to configure the network on next boot. Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fassisted-service). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
openshift-ci-robot commented 1 month ago

@adriengentil: This pull request references MGMT-18121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/assisted-service/pull/6665): >A secondary network interface is required in OCI in order to install clusters on iSCSI boot volumes. Extra interfaces in OCI must be statically set, this change adds a script that configures the secondary network interface on OCI during discovery. We ensure that we execute the script only for machines in OCI with an iBFT configuration. > >Since the secondary interface is the one that will be part of the machine networks, we will prevent its configuration with DHCP though the kernel arguments. > >Unfortunately, we cannot propagate the network configuration set during discovery to the installed system because `--copy-network` won't work with iSCSI boot volumes: https://github.com/coreos/coreos-installer/issues/1389. As an alternative, the user will need to pass extra custom manifests to configure the network on next boot. Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fassisted-service). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
adriengentil commented 1 month ago

/test edge-unit-test edge-lint

openshift-ci-robot commented 1 month ago

@adriengentil: This pull request references MGMT-18121 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "4.18.0" version, but no target version was set.

In response to [this](https://github.com/openshift/assisted-service/pull/6665): >A secondary network interface is required in OCI in order to install clusters on iSCSI boot volumes. Extra interfaces in OCI must be statically set, this change adds a script that configures the secondary network interface on OCI during discovery. We ensure that we execute the script only for machines in OCI with an iBFT configuration. > >Since the secondary interface is the one that will be part of the machine networks, we will prevent its configuration with DHCP though the kernel arguments. > >Unfortunately, we cannot propagate the network configuration set during discovery to the installed system because `--copy-network` won't work with iSCSI boot volumes: https://github.com/coreos/coreos-installer/issues/1389. As an alternative, the user will need to pass extra custom manifests to configure the network on next boot. > >For the moment, we'll keep this script to configure OCI networking in assisted-service, but in the future we may want Oracle to own this script and inject it at discovery time. This will be refined in the later stage. Instructions for interacting with me using PR comments are available [here](https://prow.ci.openshift.org/command-help?repo=openshift%2Fassisted-service). If you have questions or suggestions related to my behavior, please file an issue against the [openshift-eng/jira-lifecycle-plugin](https://github.com/openshift-eng/jira-lifecycle-plugin/issues/new) repository.
adriengentil commented 1 month ago

/cc @eifrach

openshift-ci[bot] commented 1 month ago

@adriengentil: The following test 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/edge-e2e-oci-assisted 573f4c0f1279a42cc2828c805c32c956d43f2358 link false /test edge-e2e-oci-assisted

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes-sigs/prow](https://github.com/kubernetes-sigs/prow/issues/new?title=Prow%20issue:) repository. I understand the commands that are listed [here](https://go.k8s.io/bot-commands).
eifrach commented 1 month ago

/lgtm

openshift-bot commented 1 month ago

[ART PR BUILD NOTIFIER]

Distgit: ose-agent-installer-api-server This PR has been included in build ose-agent-installer-api-server-container-v4.18.0-202408132015.p0.g52cb256.assembly.stream.el9. All builds following this will include this PR.