Skip to content

OSASINFRA-3181 - Volume Types for OpenStack CPMS#7300

Merged
openshift-merge-robot merged 1 commit intoopenshift:masterfrom
shiftstack:osp_vol_type_cpms
Jul 19, 2023
Merged

OSASINFRA-3181 - Volume Types for OpenStack CPMS#7300
openshift-merge-robot merged 1 commit intoopenshift:masterfrom
shiftstack:osp_vol_type_cpms

Conversation

@EmilienM
Copy link
Member

@EmilienM EmilienM commented Jul 6, 2023

  • add the JSON array controlPlane.platform.openstack.rootVolume.types (notice the "s") in install-config (this is an API addition)
  • add validation to prevent both rootVolume.type and rootVolume.types to be set
  • add validation to ensure that if both Compute availabilityZones and rootVolume.types are set, they have equal length
  • change Machine generation to vary rootVolume.volumeType according to the machine-pool rootVolume.types
  • instrument the Terraform code to apply variable volume types
  • tests in openstack-manifests
  • document the new types parameter

@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 Jul 6, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 6, 2023

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

@EmilienM
Copy link
Member Author

EmilienM commented Jul 6, 2023

/cc pierreprinetti

@openshift-ci openshift-ci bot requested a review from pierreprinetti July 6, 2023 20:56
@EmilienM EmilienM changed the title WIP - Volume Types for OpenStack CPMS OSASINFRA-3181 - WIP - Volume Types for OpenStack CPMS Jul 6, 2023
@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch from b30f1a4 to 924f1d9 Compare July 8, 2023 23:39
@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 8, 2023
@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch from 924f1d9 to 4ba698f Compare July 8, 2023 23:39
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 8, 2023
Copy link
Member

@pierreprinetti pierreprinetti left a comment

Choose a reason for hiding this comment

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

I know this is a WIP; I hope these comments are useful in this phase.

@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch from 4ba698f to 7c03015 Compare July 11, 2023 21:34
@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch 4 times, most recently from 524abb1 to 213d480 Compare July 12, 2023 15:13
@EmilienM EmilienM marked this pull request as ready for review July 12, 2023 15:13
@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 Jul 12, 2023
@EmilienM
Copy link
Member Author

I've removed the WIP so the CI can start provide feedback after some good progress.

/hold until we have all we need to get it merged.

/test e2e-openstack-kuryr
This job has a rootVolume in install-config, with the deprecated type, and an AZ, so we'll see how it works now with that PR.

@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 Jul 12, 2023
@openshift-ci openshift-ci bot requested review from dulek and gryf July 12, 2023 15:20
@EmilienM
Copy link
Member Author

/assign pierreprinetti

@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch from 213d480 to e09ccbc Compare July 12, 2023 16:09
@EmilienM
Copy link
Member Author

/test e2e-agent-ha-dualstack

Copy link
Contributor

@r4f4 r4f4 left a comment

Choose a reason for hiding this comment

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

It would really help with reviewing if this PR was broken down into multiple commits.

@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch from 717b67c to 197dbdc Compare July 18, 2023 14:14
@EmilienM
Copy link
Member Author

It would really help with reviewing if this PR was broken down into multiple commits.

I agree with you that multiple commits could have help reviewers but at this point it'll be difficult to reproduce the iterations that we went through so if possible let's keep it like this. We'll do better the next time 👍 .

Co-Authored-By: Emilien Macchi <emilien@redhat.com>
Co-Authored-By: Pierre Prinetti <pierreprinetti@redhat.com>
@EmilienM EmilienM force-pushed the osp_vol_type_cpms branch from 197dbdc to a1ea1c8 Compare July 18, 2023 14:40
@EmilienM
Copy link
Member Author

EmilienM commented Jul 18, 2023

/test e2e-agent-ha-dualstack e2e-aws-ovn e2e-openstack-ovn e2e-openstack-sdn-parallel openstack-manifests
infra issue, not related to this PR

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 18, 2023

@EmilienM: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

  • /test agent-integration-tests
  • /test aro-unit
  • /test e2e-agent-compact-ipv4
  • /test e2e-aws-ovn
  • /test e2e-aws-ovn-upi
  • /test e2e-azure-ovn
  • /test e2e-azure-ovn-upi
  • /test e2e-gcp-ovn
  • /test e2e-gcp-ovn-upi
  • /test e2e-metal-ipi-ovn-ipv6
  • /test e2e-openstack-ovn
  • /test e2e-vsphere-ovn
  • /test e2e-vsphere-upi
  • /test gofmt
  • /test golint
  • /test govet
  • /test images
  • /test okd-images
  • /test okd-scos-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-agent-compact-ipv4-none-platform
  • /test e2e-agent-ha-dualstack
  • /test e2e-agent-sno-ipv4-pxe
  • /test e2e-agent-sno-ipv6
  • /test e2e-alibaba
  • /test e2e-aws-ovn-disruptive
  • /test e2e-aws-ovn-fips
  • /test e2e-aws-ovn-imdsv2
  • /test e2e-aws-ovn-localzones
  • /test e2e-aws-ovn-proxy
  • /test e2e-aws-ovn-public-subnets
  • /test e2e-aws-ovn-shared-vpc
  • /test e2e-aws-ovn-shared-vpc-localzones
  • /test e2e-aws-ovn-single-node
  • /test e2e-aws-ovn-upgrade
  • /test e2e-aws-ovn-workers-rhel8
  • /test e2e-aws-upi-proxy
  • /test e2e-azure-ovn-resourcegroup
  • /test e2e-azure-ovn-shared-vpc
  • /test e2e-azurestack
  • /test e2e-azurestack-upi
  • /test e2e-crc
  • /test e2e-gcp-ovn-shared-vpc
  • /test e2e-gcp-ovn-xpn
  • /test e2e-gcp-secureboot
  • /test e2e-gcp-upgrade
  • /test e2e-gcp-upi-xpn
  • /test e2e-ibmcloud-ovn
  • /test e2e-libvirt
  • /test e2e-metal-assisted
  • /test e2e-metal-ipi-ovn-dualstack
  • /test e2e-metal-ipi-sdn
  • /test e2e-metal-ipi-sdn-swapped-hosts
  • /test e2e-metal-ipi-sdn-virtualmedia
  • /test e2e-metal-single-node-live-iso
  • /test e2e-nutanix-ovn
  • /test e2e-nutanix-sdn
  • /test e2e-openstack-externallb
  • /test e2e-openstack-kuryr
  • /test e2e-openstack-proxy
  • /test e2e-openstack-sdn-parallel
  • /test e2e-openstack-upi
  • /test e2e-vsphere-static-ovn
  • /test e2e-vsphere-upi-zones
  • /test e2e-vsphere-zones
  • /test okd-e2e-aws-ovn
  • /test okd-e2e-aws-ovn-upgrade
  • /test okd-e2e-gcp
  • /test okd-e2e-gcp-ovn-upgrade
  • /test okd-e2e-vsphere
  • /test okd-scos-e2e-aws-ovn
  • /test okd-scos-e2e-aws-upgrade
  • /test okd-scos-e2e-gcp
  • /test okd-scos-e2e-gcp-ovn-upgrade
  • /test okd-scos-e2e-vsphere
  • /test okd-scos-unit
  • /test okd-scos-verify-codegen
  • /test tf-fmt

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

  • pull-ci-openshift-installer-master-aro-unit
  • pull-ci-openshift-installer-master-e2e-agent-ha-dualstack
  • pull-ci-openshift-installer-master-e2e-aws-ovn
  • pull-ci-openshift-installer-master-e2e-openstack-kuryr
  • pull-ci-openshift-installer-master-e2e-openstack-ovn
  • pull-ci-openshift-installer-master-e2e-openstack-proxy
  • pull-ci-openshift-installer-master-e2e-openstack-sdn-parallel
  • 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-ovn
  • pull-ci-openshift-installer-master-okd-e2e-aws-ovn-upgrade
  • pull-ci-openshift-installer-master-okd-images
  • pull-ci-openshift-installer-master-okd-scos-e2e-aws-ovn
  • pull-ci-openshift-installer-master-okd-scos-images
  • pull-ci-openshift-installer-master-okd-scos-unit
  • pull-ci-openshift-installer-master-okd-scos-verify-codegen
  • 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:

/retest e2e-agent-ha-dualstack e2e-aws-ovn e2e-openstack-ovn e2e-openstack-sdn-parallel openstack-manifests
infra issue, not related to this 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.

@EmilienM
Copy link
Member Author

/test e2e-agent-ha-dualstack e2e-aws-ovn e2e-openstack-ovn e2e-openstack-sdn-parallel openstack-manifests

@EmilienM
Copy link
Member Author

/test okd-e2e-aws-ovn-upgrade okd-images

Copy link
Contributor

@r4f4 r4f4 left a comment

Choose a reason for hiding this comment

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

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Jul 18, 2023
@EmilienM
Copy link
Member Author

/cc patrickdillon
for review on the conversion thing (asked by @r4f4 on slack).

Thanks all

@openshift-ci openshift-ci bot requested a review from patrickdillon July 18, 2023 19:36
@EmilienM
Copy link
Member Author

/retest-required

@EmilienM
Copy link
Member Author

The following jobs are unrelated to that patch and can safely be ignored:

  • e2e-agent-ha-dualstack
  • okd-e2e-aws-ovn
  • okd-scos-e2e-aws-ovn

e2e-openstack-sdn-parallel is an OpenStack job but it's failing for different reasons and is not related to that patch.


// Types is the list of the volume types of the root volumes.
// This is mutually exclusive with Type.
// +required
Copy link
Contributor

Choose a reason for hiding this comment

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

@EmilienM @pierreprinetti can this new field be required and maintain backward compatibility, particularly during unmarshalling of the install config? I see the deprecated OpenStack controlPlane with type in rootVolume unit test and that looks good, but does that same scenario work when represented in a yaml install config? I would have suspected we would need to make this field optional/omitempty.

Copy link
Member Author

Choose a reason for hiding this comment

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

to confirm that it works:

  • I've done openstack: deploy ctlplane with rootVolume too release#41386 so e2e-openstack-kuryr is now re-running with a rootVolume that uses the deprecated type parameter (and not types); if that works it's a proof that it's 100% backward compatible. I'll report the results to confirm that it worked and that the volumes were created with the right type.
  • I've tested it manually and it worked as expected, when only using type in the install-config. The volumes were created with the unique type and no error was shown.

Copy link
Member Author

@EmilienM EmilienM Jul 19, 2023

Choose a reason for hiding this comment

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

I think it's working because of the conversion code, which always sets the Types field:

// type has been deprecated in favor of types in the machinePools.
if config.ControlPlane != nil && config.ControlPlane.Platform.OpenStack.RootVolume != nil && config.ControlPlane.Platform.OpenStack.RootVolume.DeprecatedType != "" {
if len(config.ControlPlane.Platform.OpenStack.RootVolume.Types) > 0 {
// Return error if both type and types of rootVolume are specified in the config
return field.Forbidden(field.NewPath("controlPlane").Child("platform").Child("openstack").Child("rootVolume").Child("type"), "cannot specify type and types in rootVolume together")
}
config.ControlPlane.Platform.OpenStack.RootVolume.Types = []string{config.ControlPlane.Platform.OpenStack.RootVolume.DeprecatedType}
config.ControlPlane.Platform.OpenStack.RootVolume.DeprecatedType = ""
}
for _, pool := range config.Compute {
mpool := pool.Platform.OpenStack
if mpool.RootVolume != nil && mpool.RootVolume.DeprecatedType != "" {
if mpool.RootVolume.Types != nil && len(mpool.RootVolume.Types) > 0 {
// Return error if both type and types of rootVolume are specified in the config
return field.Forbidden(field.NewPath("compute").Child("platform").Child("openstack").Child("rootVolume").Child("type"), "cannot specify type and types in rootVolume together")
}
mpool.RootVolume.Types = []string{mpool.RootVolume.DeprecatedType}
mpool.RootVolume.DeprecatedType = ""
}
}
if config.Platform.OpenStack.DefaultMachinePlatform != nil && config.Platform.OpenStack.DefaultMachinePlatform.RootVolume != nil && config.Platform.OpenStack.DefaultMachinePlatform.RootVolume.DeprecatedType != "" {
if len(config.Platform.OpenStack.DefaultMachinePlatform.RootVolume.Types) > 0 {
// Return error if both type and types of defaultMachinePlatform are specified in the config
return field.Forbidden(field.NewPath("platform").Child("openstack").Child("type"), "cannot specify type and types in defaultMachinePlatform together")
}
config.Platform.OpenStack.DefaultMachinePlatform.RootVolume.Types = []string{config.Platform.OpenStack.DefaultMachinePlatform.RootVolume.DeprecatedType}
config.Platform.OpenStack.DefaultMachinePlatform.RootVolume.DeprecatedType = ""
}

Copy link
Contributor

Choose a reason for hiding this comment

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

LGTM. This is my own ignorance of this detail of how golang unmarshaling works. Thanks!

Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

I'll keep an eye on that, but again both CI and manual tests confirmed that it's supposed to work...

Copy link
Member Author

Choose a reason for hiding this comment

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

Testing again with pull-ci-openshift-installer-master-e2e-openstack-kuryr via openshift/release#41450 which might gives a more recent build for the installer.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 19, 2023

@EmilienM: The /retest command does not accept any targets.
The following commands are available to trigger required jobs:

  • /test agent-integration-tests
  • /test aro-unit
  • /test e2e-agent-compact-ipv4
  • /test e2e-aws-ovn
  • /test e2e-aws-ovn-upi
  • /test e2e-azure-ovn
  • /test e2e-azure-ovn-upi
  • /test e2e-gcp-ovn
  • /test e2e-gcp-ovn-upi
  • /test e2e-metal-ipi-ovn-ipv6
  • /test e2e-openstack-ovn
  • /test e2e-vsphere-ovn
  • /test e2e-vsphere-upi
  • /test gofmt
  • /test golint
  • /test govet
  • /test images
  • /test okd-images
  • /test okd-scos-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-agent-compact-ipv4-none-platform
  • /test e2e-agent-ha-dualstack
  • /test e2e-agent-sno-ipv4-pxe
  • /test e2e-agent-sno-ipv6
  • /test e2e-alibaba
  • /test e2e-aws-ovn-disruptive
  • /test e2e-aws-ovn-fips
  • /test e2e-aws-ovn-imdsv2
  • /test e2e-aws-ovn-localzones
  • /test e2e-aws-ovn-proxy
  • /test e2e-aws-ovn-public-subnets
  • /test e2e-aws-ovn-shared-vpc
  • /test e2e-aws-ovn-shared-vpc-localzones
  • /test e2e-aws-ovn-single-node
  • /test e2e-aws-ovn-upgrade
  • /test e2e-aws-ovn-workers-rhel8
  • /test e2e-aws-upi-proxy
  • /test e2e-azure-ovn-resourcegroup
  • /test e2e-azure-ovn-shared-vpc
  • /test e2e-azurestack
  • /test e2e-azurestack-upi
  • /test e2e-crc
  • /test e2e-gcp-ovn-shared-vpc
  • /test e2e-gcp-ovn-xpn
  • /test e2e-gcp-secureboot
  • /test e2e-gcp-upgrade
  • /test e2e-gcp-upi-xpn
  • /test e2e-ibmcloud-ovn
  • /test e2e-libvirt
  • /test e2e-metal-assisted
  • /test e2e-metal-ipi-ovn-dualstack
  • /test e2e-metal-ipi-sdn
  • /test e2e-metal-ipi-sdn-swapped-hosts
  • /test e2e-metal-ipi-sdn-virtualmedia
  • /test e2e-metal-single-node-live-iso
  • /test e2e-nutanix-ovn
  • /test e2e-nutanix-sdn
  • /test e2e-openstack-externallb
  • /test e2e-openstack-kuryr
  • /test e2e-openstack-proxy
  • /test e2e-openstack-sdn-parallel
  • /test e2e-openstack-upi
  • /test e2e-vsphere-static-ovn
  • /test e2e-vsphere-upi-zones
  • /test e2e-vsphere-zones
  • /test okd-e2e-aws-ovn
  • /test okd-e2e-aws-ovn-upgrade
  • /test okd-e2e-gcp
  • /test okd-e2e-gcp-ovn-upgrade
  • /test okd-e2e-vsphere
  • /test okd-scos-e2e-aws-ovn
  • /test okd-scos-e2e-aws-upgrade
  • /test okd-scos-e2e-gcp
  • /test okd-scos-e2e-gcp-ovn-upgrade
  • /test okd-scos-e2e-vsphere
  • /test okd-scos-unit
  • /test okd-scos-verify-codegen
  • /test tf-fmt

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

  • pull-ci-openshift-installer-master-aro-unit
  • pull-ci-openshift-installer-master-e2e-agent-ha-dualstack
  • pull-ci-openshift-installer-master-e2e-aws-ovn
  • pull-ci-openshift-installer-master-e2e-openstack-kuryr
  • pull-ci-openshift-installer-master-e2e-openstack-ovn
  • pull-ci-openshift-installer-master-e2e-openstack-proxy
  • pull-ci-openshift-installer-master-e2e-openstack-sdn-parallel
  • 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-ovn
  • pull-ci-openshift-installer-master-okd-e2e-aws-ovn-upgrade
  • pull-ci-openshift-installer-master-okd-images
  • pull-ci-openshift-installer-master-okd-scos-e2e-aws-ovn
  • pull-ci-openshift-installer-master-okd-scos-images
  • pull-ci-openshift-installer-master-okd-scos-unit
  • pull-ci-openshift-installer-master-okd-scos-verify-codegen
  • 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:

/retest e2e-openstack-kuryr

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.

@EmilienM
Copy link
Member Author

/test e2e-openstack-kuryr

@patrickdillon
Copy link
Contributor

/approve

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 19, 2023

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: patrickdillon

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

The pull request process is described here

Details 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-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 19, 2023
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Jul 19, 2023

@EmilienM: 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-sdn-parallel a1ea1c8 link false /test e2e-openstack-sdn-parallel
ci/prow/okd-scos-e2e-aws-ovn a1ea1c8 link false /test okd-scos-e2e-aws-ovn
ci/prow/okd-e2e-aws-ovn a1ea1c8 link false /test okd-e2e-aws-ovn
ci/prow/e2e-agent-ha-dualstack a1ea1c8 link false /test e2e-agent-ha-dualstack
ci/prow/e2e-openstack-kuryr a1ea1c8 link false /test e2e-openstack-kuryr

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-merge-robot openshift-merge-robot merged commit de33516 into openshift:master Jul 19, 2023
@EmilienM EmilienM deleted the osp_vol_type_cpms branch July 19, 2023 20:15
* `rootVolume` (optional object): Defines the root volume for instances in the machine pool. The instances use ephemeral disks if not set.
* `size` (required integer): Size of the root volume in GB. Must be set to at least 25.
* `type` (required string): The volume pool to create the volume from.
* `type` (optional string): The volume pool to create the volume from. It was replaced by `types`.
Copy link
Member

Choose a reason for hiding this comment

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

Should have been

Suggested change
* `type` (optional string): The volume pool to create the volume from. It was replaced by `types`.
* `type` (deprecated string): The volume pool to create the volume from. It was replaced by `types`.

if poolPlatform := pool.Platform.Name(); poolPlatform != openstack.Name {
return nil, fmt.Errorf("non-OpenStack machine-pool: %q", poolPlatform)
}
if pool.Replicas == nil || *pool.Replicas < 1 {
Copy link
Member

Choose a reason for hiding this comment

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

I believe this change broke the NFV jobs, where we set the number of worker nodes to 0.
https://prow.ci.openshift.org/?job=*4.14-e2e-openstack*nfv*

We used to generate machinesets per zone, even if the number of replicas was 0, and we no longer do that. This causes the workerSpecs to be empty, and consequently workerServerGroupNames.

We may want to either revert these couple of lines of code where we return early in case of no replicas, or provide a default value for openstack_worker_server_group_names in terraform.

Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Member Author

Choose a reason for hiding this comment

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

@mandre I suggest we keep #7359, which is a good thing anyway. WDYT?

EmilienM added a commit to shiftstack/installer that referenced this pull request Jul 30, 2023
... even if zero workers is requested from install-config (replicas ==
0).

This was a non backward compatible change introduced by openshift#7300
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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants