-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
pkg/types: Add cross-platform Networking.MachineCIDR #983
pkg/types: Add cross-platform Networking.MachineCIDR #983
Conversation
544cf18
to
7156171
Compare
$ git fetch https://github.com/openshift/installer.git pull/983/head
fatal: unable to access 'https://github.com/openshift/installer.git/': Could not resolve host: github.com /retest |
7156171
to
f27c67b
Compare
@@ -96,7 +96,10 @@ type Networking struct { | |||
// Type is the network type to install | |||
Type netopv1.NetworkType `json:"type"` | |||
|
|||
// ServiceCIDR is the ip block from which to assign service IPs | |||
// MachineCIDR is the IP address space from which to assign machine IPs. | |||
MachineCIDR ipnet.IPNet `json:"machineCIDR"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about MachineNetwork
to match the convention that we are moving towards https://github.com/openshift/api/blob/master/config/v1/types_network.go#L26-L40
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about
MachineNetwork
to match the convention...
Are you ok with me breaking convention with the other properties we have here in Networking
now (which use CIDR
)? If we're going to make changes to the install-config, now would be the time to do that sort of thing. Personally, I think the fact that these are properties of a Networking
structure is enough namespacing, so if we don't feel a need to point out CIDR-ness, I'd be fine with just:
type Networking struct {
Clusters []netopv1.ClusterNetwork `json:"clusters,omitempty"`
Machine ipnet.IPNet `json:"machine"`
Service ipnet.IPNet `json:"service"`
Type netopv1.NetworkType `json:"type"`
}
f27c67b
to
7aee83e
Compare
The concept was not platform-specific, and it's simpler to track the cross-platform value in a single, generic location.
7aee83e
to
31952f1
Compare
This approach looks good to me. /approve |
/retest |
Looks like I need to wait for #902 or cludge something in... |
Preparing for openshift/installer@31952f15 (pkg/types: Add cross-platform Networking.MachineCIDR, 2019-01-03, openshift/installer#983). Once that lands we can drop the vpcCIDRBlock and NetworkCIDRBlock properties.
Does this filter down to anything that would need to support multiple CIDR blocks? |
The closest would probably using this for the libvirt domain's network here, and choose IPs from it here. But on all of our platforms, there's one network (e.g. the AWS VPC) that holds all the machines, so I expect we'll be fine with this until we get to stretch clusters or federation. |
openshift/release#2506 landed. /retest |
Checking via https://api.ci.openshift.org/console/project/ci-op-bpcyl265/browse/pods/e2e-aws?tab=logs (because I'm the PR author), this is going to fail with at least:
From here, that test has been flaky for update payload promotion as well. I'll kick it again once it returns. |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: crawford, wking 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 |
/retest |
/retest |
Same failures as last time? Hmm. /retest |
Hooray, finally got through CI 🎉 |
This change broke Hive, whenever possible please let us know if a non-backward compat change is made to install config. Will update to fix. |
I pinged @vrutkovs about the change here (although I could have done a better job emphasizing breaking-ness). Which other users/teams want to be CCed for future breaks? (although we're almost through the time when we're allowed to break this) |
Things are crazy and stuff gets missed, I can understand, but yeah hopefully all of this can stabilize soon. |
This pull request removed the platform-specific `openstack.NetworkCIDRBlock` and friends in favour of a cross-platform `networking.machineCIDR`: openshift/installer#983 Deployments using the old NetworkCIDRBlock are failing now.
Now that openshift/installer@31952f15 (pkg/types: Add cross-platform Networking.MachineCIDR, 2019-01-03, openshift/installer#983) has landed, we can drop the vpcCIDRBlock and NetworkCIDRBlock properties. This completes the transition started by 2a9a6a3 (ci-operator/templates/openshift: Set machineCIDR, 2019-01-04, openshift#2506).
The concept was not platform-specific, and it's simpler to track the cross-platform value in a single, generic location.
Spun off from #792; see the thread starting here.
CC @abhinavdahiya.