Skip to content

Commit 92eec2d

Browse files
committed
OCM-3852 | feat: Added SDK support for KubeletConfig and day 2 operations for setting podPidsLimits
1 parent ca9f331 commit 92eec2d

15 files changed

+20169
-18224
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export PATH := $(LOCAL_BIN_PATH):$(PATH)
2727
export CGO_ENABLED=0
2828

2929
# Details of the model to use:
30-
model_version:=v0.0.332
30+
model_version:=v0.0.333
3131
model_url:=https://github.com/openshift-online/ocm-api-model.git
3232

3333
# Details of the metamodel to use:

clustersmgmt/v1/cluster_builder.go

Lines changed: 60 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ type ClusterBuilder struct {
9797
inflightChecks *InflightCheckListBuilder
9898
infraID string
9999
ingresses *IngressListBuilder
100+
kubeletConfig *KubeletConfigBuilder
100101
loadBalancerQuota int
101102
machinePools *MachinePoolListBuilder
102103
managedService *ManagedServiceBuilder
@@ -476,24 +477,38 @@ func (b *ClusterBuilder) Ingresses(value *IngressListBuilder) *ClusterBuilder {
476477
return b
477478
}
478479

480+
// KubeletConfig sets the value of the 'kubelet_config' attribute to the given value.
481+
//
482+
// OCM representation of KubeletConfig, exposing the fields of Kubernetes
483+
// KubeletConfig that can be managed by users
484+
func (b *ClusterBuilder) KubeletConfig(value *KubeletConfigBuilder) *ClusterBuilder {
485+
b.kubeletConfig = value
486+
if value != nil {
487+
b.bitmap_ |= 34359738368
488+
} else {
489+
b.bitmap_ &^= 34359738368
490+
}
491+
return b
492+
}
493+
479494
// LoadBalancerQuota sets the value of the 'load_balancer_quota' attribute to the given value.
480495
func (b *ClusterBuilder) LoadBalancerQuota(value int) *ClusterBuilder {
481496
b.loadBalancerQuota = value
482-
b.bitmap_ |= 34359738368
497+
b.bitmap_ |= 68719476736
483498
return b
484499
}
485500

486501
// MachinePools sets the value of the 'machine_pools' attribute to the given values.
487502
func (b *ClusterBuilder) MachinePools(value *MachinePoolListBuilder) *ClusterBuilder {
488503
b.machinePools = value
489-
b.bitmap_ |= 68719476736
504+
b.bitmap_ |= 137438953472
490505
return b
491506
}
492507

493508
// Managed sets the value of the 'managed' attribute to the given value.
494509
func (b *ClusterBuilder) Managed(value bool) *ClusterBuilder {
495510
b.managed = value
496-
b.bitmap_ |= 137438953472
511+
b.bitmap_ |= 274877906944
497512
return b
498513
}
499514

@@ -503,24 +518,24 @@ func (b *ClusterBuilder) Managed(value bool) *ClusterBuilder {
503518
func (b *ClusterBuilder) ManagedService(value *ManagedServiceBuilder) *ClusterBuilder {
504519
b.managedService = value
505520
if value != nil {
506-
b.bitmap_ |= 274877906944
521+
b.bitmap_ |= 549755813888
507522
} else {
508-
b.bitmap_ &^= 274877906944
523+
b.bitmap_ &^= 549755813888
509524
}
510525
return b
511526
}
512527

513528
// MultiAZ sets the value of the 'multi_AZ' attribute to the given value.
514529
func (b *ClusterBuilder) MultiAZ(value bool) *ClusterBuilder {
515530
b.multiAZ = value
516-
b.bitmap_ |= 549755813888
531+
b.bitmap_ |= 1099511627776
517532
return b
518533
}
519534

520535
// Name sets the value of the 'name' attribute to the given value.
521536
func (b *ClusterBuilder) Name(value string) *ClusterBuilder {
522537
b.name = value
523-
b.bitmap_ |= 1099511627776
538+
b.bitmap_ |= 2199023255552
524539
return b
525540
}
526541

@@ -530,9 +545,9 @@ func (b *ClusterBuilder) Name(value string) *ClusterBuilder {
530545
func (b *ClusterBuilder) Network(value *NetworkBuilder) *ClusterBuilder {
531546
b.network = value
532547
if value != nil {
533-
b.bitmap_ |= 2199023255552
548+
b.bitmap_ |= 4398046511104
534549
} else {
535-
b.bitmap_ &^= 2199023255552
550+
b.bitmap_ &^= 4398046511104
536551
}
537552
return b
538553
}
@@ -560,17 +575,17 @@ func (b *ClusterBuilder) Network(value *NetworkBuilder) *ClusterBuilder {
560575
func (b *ClusterBuilder) NodeDrainGracePeriod(value *ValueBuilder) *ClusterBuilder {
561576
b.nodeDrainGracePeriod = value
562577
if value != nil {
563-
b.bitmap_ |= 4398046511104
578+
b.bitmap_ |= 8796093022208
564579
} else {
565-
b.bitmap_ &^= 4398046511104
580+
b.bitmap_ &^= 8796093022208
566581
}
567582
return b
568583
}
569584

570585
// NodePools sets the value of the 'node_pools' attribute to the given values.
571586
func (b *ClusterBuilder) NodePools(value *NodePoolListBuilder) *ClusterBuilder {
572587
b.nodePools = value
573-
b.bitmap_ |= 8796093022208
588+
b.bitmap_ |= 17592186044416
574589
return b
575590
}
576591

@@ -580,17 +595,17 @@ func (b *ClusterBuilder) NodePools(value *NodePoolListBuilder) *ClusterBuilder {
580595
func (b *ClusterBuilder) Nodes(value *ClusterNodesBuilder) *ClusterBuilder {
581596
b.nodes = value
582597
if value != nil {
583-
b.bitmap_ |= 17592186044416
598+
b.bitmap_ |= 35184372088832
584599
} else {
585-
b.bitmap_ &^= 17592186044416
600+
b.bitmap_ &^= 35184372088832
586601
}
587602
return b
588603
}
589604

590605
// OpenshiftVersion sets the value of the 'openshift_version' attribute to the given value.
591606
func (b *ClusterBuilder) OpenshiftVersion(value string) *ClusterBuilder {
592607
b.openshiftVersion = value
593-
b.bitmap_ |= 35184372088832
608+
b.bitmap_ |= 70368744177664
594609
return b
595610
}
596611

@@ -600,9 +615,9 @@ func (b *ClusterBuilder) OpenshiftVersion(value string) *ClusterBuilder {
600615
func (b *ClusterBuilder) Product(value *ProductBuilder) *ClusterBuilder {
601616
b.product = value
602617
if value != nil {
603-
b.bitmap_ |= 70368744177664
618+
b.bitmap_ |= 140737488355328
604619
} else {
605-
b.bitmap_ &^= 70368744177664
620+
b.bitmap_ &^= 140737488355328
606621
}
607622
return b
608623
}
@@ -611,9 +626,9 @@ func (b *ClusterBuilder) Product(value *ProductBuilder) *ClusterBuilder {
611626
func (b *ClusterBuilder) Properties(value map[string]string) *ClusterBuilder {
612627
b.properties = value
613628
if value != nil {
614-
b.bitmap_ |= 140737488355328
629+
b.bitmap_ |= 281474976710656
615630
} else {
616-
b.bitmap_ &^= 140737488355328
631+
b.bitmap_ &^= 281474976710656
617632
}
618633
return b
619634
}
@@ -624,9 +639,9 @@ func (b *ClusterBuilder) Properties(value map[string]string) *ClusterBuilder {
624639
func (b *ClusterBuilder) ProvisionShard(value *ProvisionShardBuilder) *ClusterBuilder {
625640
b.provisionShard = value
626641
if value != nil {
627-
b.bitmap_ |= 281474976710656
642+
b.bitmap_ |= 562949953421312
628643
} else {
629-
b.bitmap_ &^= 281474976710656
644+
b.bitmap_ &^= 562949953421312
630645
}
631646
return b
632647
}
@@ -637,9 +652,9 @@ func (b *ClusterBuilder) ProvisionShard(value *ProvisionShardBuilder) *ClusterBu
637652
func (b *ClusterBuilder) Proxy(value *ProxyBuilder) *ClusterBuilder {
638653
b.proxy = value
639654
if value != nil {
640-
b.bitmap_ |= 562949953421312
655+
b.bitmap_ |= 1125899906842624
641656
} else {
642-
b.bitmap_ &^= 562949953421312
657+
b.bitmap_ &^= 1125899906842624
643658
}
644659
return b
645660
}
@@ -650,9 +665,9 @@ func (b *ClusterBuilder) Proxy(value *ProxyBuilder) *ClusterBuilder {
650665
func (b *ClusterBuilder) Region(value *CloudRegionBuilder) *ClusterBuilder {
651666
b.region = value
652667
if value != nil {
653-
b.bitmap_ |= 1125899906842624
668+
b.bitmap_ |= 2251799813685248
654669
} else {
655-
b.bitmap_ &^= 1125899906842624
670+
b.bitmap_ &^= 2251799813685248
656671
}
657672
return b
658673
}
@@ -662,7 +677,7 @@ func (b *ClusterBuilder) Region(value *CloudRegionBuilder) *ClusterBuilder {
662677
// Overall state of a cluster.
663678
func (b *ClusterBuilder) State(value ClusterState) *ClusterBuilder {
664679
b.state = value
665-
b.bitmap_ |= 2251799813685248
680+
b.bitmap_ |= 4503599627370496
666681
return b
667682
}
668683

@@ -672,9 +687,9 @@ func (b *ClusterBuilder) State(value ClusterState) *ClusterBuilder {
672687
func (b *ClusterBuilder) Status(value *ClusterStatusBuilder) *ClusterBuilder {
673688
b.status = value
674689
if value != nil {
675-
b.bitmap_ |= 4503599627370496
690+
b.bitmap_ |= 9007199254740992
676691
} else {
677-
b.bitmap_ &^= 4503599627370496
692+
b.bitmap_ &^= 9007199254740992
678693
}
679694
return b
680695
}
@@ -702,9 +717,9 @@ func (b *ClusterBuilder) Status(value *ClusterStatusBuilder) *ClusterBuilder {
702717
func (b *ClusterBuilder) StorageQuota(value *ValueBuilder) *ClusterBuilder {
703718
b.storageQuota = value
704719
if value != nil {
705-
b.bitmap_ |= 9007199254740992
720+
b.bitmap_ |= 18014398509481984
706721
} else {
707-
b.bitmap_ &^= 9007199254740992
722+
b.bitmap_ &^= 18014398509481984
708723
}
709724
return b
710725
}
@@ -715,9 +730,9 @@ func (b *ClusterBuilder) StorageQuota(value *ValueBuilder) *ClusterBuilder {
715730
func (b *ClusterBuilder) Subscription(value *SubscriptionBuilder) *ClusterBuilder {
716731
b.subscription = value
717732
if value != nil {
718-
b.bitmap_ |= 18014398509481984
733+
b.bitmap_ |= 36028797018963968
719734
} else {
720-
b.bitmap_ &^= 18014398509481984
735+
b.bitmap_ &^= 36028797018963968
721736
}
722737
return b
723738
}
@@ -728,9 +743,9 @@ func (b *ClusterBuilder) Subscription(value *SubscriptionBuilder) *ClusterBuilde
728743
func (b *ClusterBuilder) Version(value *VersionBuilder) *ClusterBuilder {
729744
b.version = value
730745
if value != nil {
731-
b.bitmap_ |= 36028797018963968
746+
b.bitmap_ |= 72057594037927936
732747
} else {
733-
b.bitmap_ &^= 36028797018963968
748+
b.bitmap_ &^= 72057594037927936
734749
}
735750
return b
736751
}
@@ -863,6 +878,11 @@ func (b *ClusterBuilder) Copy(object *Cluster) *ClusterBuilder {
863878
} else {
864879
b.ingresses = nil
865880
}
881+
if object.kubeletConfig != nil {
882+
b.kubeletConfig = NewKubeletConfig().Copy(object.kubeletConfig)
883+
} else {
884+
b.kubeletConfig = nil
885+
}
866886
b.loadBalancerQuota = object.loadBalancerQuota
867887
if object.machinePools != nil {
868888
b.machinePools = NewMachinePoolList().Copy(object.machinePools)
@@ -1098,6 +1118,12 @@ func (b *ClusterBuilder) Build() (object *Cluster, err error) {
10981118
return
10991119
}
11001120
}
1121+
if b.kubeletConfig != nil {
1122+
object.kubeletConfig, err = b.kubeletConfig.Build()
1123+
if err != nil {
1124+
return
1125+
}
1126+
}
11011127
object.loadBalancerQuota = b.loadBalancerQuota
11021128
if b.machinePools != nil {
11031129
object.machinePools, err = b.machinePools.Build()

clustersmgmt/v1/cluster_client.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -275,6 +275,14 @@ func (c *ClusterClient) Ingresses() *IngressesClient {
275275
)
276276
}
277277

278+
// KubeletConfig returns the target 'kubelet_config' resource.
279+
func (c *ClusterClient) KubeletConfig() *KubeletConfigClient {
280+
return NewKubeletConfigClient(
281+
c.transport,
282+
path.Join(c.path, "kubelet_config"),
283+
)
284+
}
285+
278286
// LimitedSupportReasons returns the target 'limited_support_reasons' resource.
279287
//
280288
// Reference to cluster limited support reasons.

0 commit comments

Comments
 (0)