Skip to content

Commit 8d73989

Browse files
Merge pull request openshift#7172 from shiftstack/OCPBUGS-13300
OCPBUGS-13300: masters on a single compute server group
2 parents b322709 + d649634 commit 8d73989

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

docs/user/openstack/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ Once you configure the quota for your project, please ensure that the user for t
101101

102102
The default deployment stands up 3 master nodes, which is the minimum amount required for a cluster. For each master node you stand up, you will need 1 instance, and 1 port available in your quota. They should be assigned a flavor with at least 16 GB RAM, 4 vCPUs, and 100 GB Disk (or Root Volume). It is theoretically possible to run with a smaller flavor, but be aware that if it takes too long to stand up services, or certain essential services crash, the installer could time out, leading to a failed install.
103103

104-
The master nodes are placed in a single Server group with "soft anti-affinity" policy by default; the machines will therefore be created on separate hosts when possible.
104+
The master nodes are placed in a single Server group with "soft anti-affinity" policy by default; the machines will therefore be created on separate hosts when possible. Note that this is also the case when the master nodes are deployed across multiple availability zones that were specified by their failure domain.
105105

106106
### Worker Nodes
107107

pkg/asset/machines/openstack/machines.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,17 @@ func generateProvider(clusterID string, platform *openstack.Platform, mpool *ope
174174
}
175175

176176
serverGroupName := clusterID + "-" + role
177-
if failureDomain.ComputeAvailabilityZone != "" {
177+
// We initially used the AZ name as part of the server group name for the masters
178+
// but we realized that it was not useful. Whether or not the AZ is specified, the
179+
// masters will be spread across multiple hosts by default by the Nova scheduler
180+
// (the policy can be changed via `serverGroupPolicy` in install-config.yaml).
181+
// For the workers, we still use the AZ name as part of the server group name
182+
// so the user can control the scheduling policy per AZ and change the MachineSets
183+
// if needed on a day 2 operation.
184+
if role == "worker" && failureDomain.ComputeAvailabilityZone != "" {
178185
serverGroupName += "-" + failureDomain.ComputeAvailabilityZone
179186
}
187+
180188
spec := machinev1alpha1.OpenstackProviderSpec{
181189
TypeMeta: metav1.TypeMeta{
182190
APIVersion: machinev1alpha1.GroupVersion.String(),

scripts/openstack/manifest-tests/server-groups/install-config.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ controlPlane:
1010
serverGroupPolicy: anti-affinity
1111
zones:
1212
- zoneone
13+
- zonetwo
1314
replicas: 3
1415
compute:
1516
- name: worker

0 commit comments

Comments
 (0)