Skip to content

Commit 24c0f0c

Browse files
authored
Merge pull request #1745 from jichenjc/bug/1742
✨remove flavor check to relief restrictions to CPU
2 parents 2858626 + 3f5343b commit 24c0f0c

File tree

5 files changed

+10
-11
lines changed

5 files changed

+10
-11
lines changed

controllers/openstackcluster_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ func reconcileBastion(scope scope.Scope, cluster *clusterv1.Cluster, openStackCl
349349
}
350350
}
351351

352-
instanceStatus, err = computeService.CreateInstance(openStackCluster, openStackCluster, instanceSpec, cluster.Name, true)
352+
instanceStatus, err = computeService.CreateInstance(openStackCluster, openStackCluster, instanceSpec, cluster.Name)
353353
if err != nil {
354354
return fmt.Errorf("failed to reconcile bastion: %w", err)
355355
}

controllers/openstackmachine_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ func (r *OpenStackMachineReconciler) getOrCreate(logger logr.Logger, cluster *cl
441441
if instanceStatus == nil {
442442
instanceSpec := machineToInstanceSpec(openStackCluster, machine, openStackMachine, userData)
443443
logger.Info("Machine does not exist, creating Machine", "name", openStackMachine.Name)
444-
instanceStatus, err = computeService.CreateInstance(openStackMachine, openStackCluster, instanceSpec, cluster.Name, false)
444+
instanceStatus, err = computeService.CreateInstance(openStackMachine, openStackCluster, instanceSpec, cluster.Name)
445445
if err != nil {
446446
conditions.MarkFalse(openStackMachine, infrav1.InstanceReadyCondition, infrav1.InstanceCreateFailedReason, clusterv1.ConditionSeverityError, err.Error())
447447
return nil, fmt.Errorf("create OpenStack instance: %w", err)

docs/book/src/clusteropenstack/configuration.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ The DNS servers must be exposed as an environment variable `OPENSTACK_DNS_NAMESE
153153

154154
The flavors for control plane and worker node machines must be exposed as environment variables `OPENSTACK_CONTROL_PLANE_MACHINE_FLAVOR` and `OPENSTACK_NODE_MACHINE_FLAVOR` respectively.
155155

156+
The recommmend minimum value of control plane flavor's vCPU is 2 and minimum value of worker node flavor's vCPU is 1.
157+
156158
# Optional Configuration
157159

158160
## Log level

pkg/cloud/services/compute/instance.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -221,23 +221,20 @@ func (s *Service) constructPorts(openStackCluster *infrav1.OpenStackCluster, ins
221221
return ports, nil
222222
}
223223

224-
func (s *Service) CreateInstance(eventObject runtime.Object, openStackCluster *infrav1.OpenStackCluster, instanceSpec *InstanceSpec, clusterName string, isBastion bool) (*InstanceStatus, error) {
225-
return s.createInstanceImpl(eventObject, openStackCluster, instanceSpec, clusterName, isBastion, retryIntervalInstanceStatus)
224+
func (s *Service) CreateInstance(eventObject runtime.Object, openStackCluster *infrav1.OpenStackCluster, instanceSpec *InstanceSpec, clusterName string) (*InstanceStatus, error) {
225+
return s.createInstanceImpl(eventObject, openStackCluster, instanceSpec, clusterName, retryIntervalInstanceStatus)
226226
}
227227

228-
func (s *Service) getAndValidateFlavor(flavorName string, isBastion bool) (*flavors.Flavor, error) {
228+
func (s *Service) getAndValidateFlavor(flavorName string) (*flavors.Flavor, error) {
229229
f, err := s.getComputeClient().GetFlavorFromName(flavorName)
230230
if err != nil {
231231
return nil, fmt.Errorf("error getting flavor from flavor name %s: %v", flavorName, err)
232232
}
233-
if !isBastion && f.VCPUs <= 1 {
234-
return nil, fmt.Errorf("kubeadm requires a minimum of 2 vCPUs, pick a flavor with at least 2 vCPUs")
235-
}
236233

237234
return f, nil
238235
}
239236

240-
func (s *Service) createInstanceImpl(eventObject runtime.Object, openStackCluster *infrav1.OpenStackCluster, instanceSpec *InstanceSpec, clusterName string, isBastion bool, retryInterval time.Duration) (*InstanceStatus, error) {
237+
func (s *Service) createInstanceImpl(eventObject runtime.Object, openStackCluster *infrav1.OpenStackCluster, instanceSpec *InstanceSpec, clusterName string, retryInterval time.Duration) (*InstanceStatus, error) {
241238
var server *clients.ServerExt
242239
portList := []servers.Network{}
243240

@@ -246,7 +243,7 @@ func (s *Service) createInstanceImpl(eventObject runtime.Object, openStackCluste
246243
return nil, fmt.Errorf("error getting image ID: %v", err)
247244
}
248245

249-
flavor, err := s.getAndValidateFlavor(instanceSpec.Flavor, isBastion)
246+
flavor, err := s.getAndValidateFlavor(instanceSpec.Flavor)
250247
if err != nil {
251248
return nil, err
252249
}

pkg/cloud/services/compute/instance_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -976,7 +976,7 @@ func TestService_ReconcileInstance(t *testing.T) {
976976
}
977977

978978
// Call CreateInstance with a reduced retry interval to speed up the test
979-
_, err = s.createInstanceImpl(&infrav1.OpenStackMachine{}, getDefaultOpenStackCluster(), tt.getInstanceSpec(), "cluster-name", false, time.Nanosecond)
979+
_, err = s.createInstanceImpl(&infrav1.OpenStackMachine{}, getDefaultOpenStackCluster(), tt.getInstanceSpec(), "cluster-name", time.Nanosecond)
980980
if (err != nil) != tt.wantErr {
981981
t.Errorf("Service.CreateInstance() error = %v, wantErr %v", err, tt.wantErr)
982982
return

0 commit comments

Comments
 (0)