Skip to content

Commit 27b3a5e

Browse files
committed
Experiment with apt packages installation
Signed-off-by: Ciprian Hacman <[email protected]>
1 parent 9da9d96 commit 27b3a5e

File tree

5 files changed

+103
-29
lines changed

5 files changed

+103
-29
lines changed

nodeup/pkg/model/ntp.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ func (b *NTPBuilder) Build(c *fi.NodeupModelBuilderContext) error {
6565
}
6666
c.AddTask((&nodetasks.Service{Name: "systemd-timesyncd"}).InitDefaults())
6767
} else if b.Distribution.IsDebianFamily() {
68-
c.AddTask(&nodetasks.Package{Name: "chrony"})
68+
//c.AddTask(&nodetasks.Package{Name: "chrony"})
6969
if ntpHost != "" {
7070
c.AddTask(b.buildChronydConf("/etc/chrony/chrony.conf", ntpHost))
7171
}

nodeup/pkg/model/packages.go

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@ func (b *PackagesBuilder) Build(c *fi.NodeupModelBuilderContext) error {
3636
// kubelet needs:
3737
// conntrack - kops #5671
3838
if b.Distribution.IsDebianFamily() {
39-
// From containerd: https://github.com/containerd/cri/blob/master/contrib/ansible/tasks/bootstrap_ubuntu.yaml
40-
c.AddTask(&nodetasks.Package{Name: "bridge-utils"})
41-
c.AddTask(&nodetasks.Package{Name: "conntrack"})
42-
c.AddTask(&nodetasks.Package{Name: "iptables"})
43-
c.AddTask(&nodetasks.Package{Name: "libapparmor1"})
44-
c.AddTask(&nodetasks.Package{Name: "libseccomp2"})
45-
if b.NodeupConfig.KubeProxy != nil && fi.ValueOf(b.NodeupConfig.KubeProxy.Enabled) && b.NodeupConfig.KubeProxy.ProxyMode == "nftables" {
46-
c.AddTask(&nodetasks.Package{Name: "nftables"})
47-
}
48-
c.AddTask(&nodetasks.Package{Name: "util-linux"})
39+
//// From containerd: https://github.com/containerd/cri/blob/master/contrib/ansible/tasks/bootstrap_ubuntu.yaml
40+
//c.AddTask(&nodetasks.Package{Name: "bridge-utils"})
41+
//c.AddTask(&nodetasks.Package{Name: "conntrack"})
42+
//c.AddTask(&nodetasks.Package{Name: "iptables"})
43+
//c.AddTask(&nodetasks.Package{Name: "libapparmor1"})
44+
//c.AddTask(&nodetasks.Package{Name: "libseccomp2"})
45+
//if b.NodeupConfig.KubeProxy != nil && fi.ValueOf(b.NodeupConfig.KubeProxy.Enabled) && b.NodeupConfig.KubeProxy.ProxyMode == "nftables" {
46+
// c.AddTask(&nodetasks.Package{Name: "nftables"})
47+
//}
48+
//c.AddTask(&nodetasks.Package{Name: "util-linux"})
4949
// Additional packages
5050
for _, additionalPackage := range b.NodeupConfig.Packages {
5151
c.EnsureTask(&nodetasks.Package{Name: additionalPackage})

tests/e2e/scenarios/karpenter/run-test.sh

Lines changed: 83 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ metadata:
4040
spec:
4141
amiFamily: Custom
4242
amiSelectorTerms:
43-
- ssmParameter: /aws/service/canonical/ubuntu/server/24.04/stable/current/arm64/hvm/ebs-gp3/ami-id
43+
- ssmParameter: /aws/service/canonical/ubuntu/server/25.10/stable/current/arm64/hvm/ebs-gp3/ami-id
4444
associatePublicIPAddress: true
4545
tags:
4646
KubernetesCluster: ${CLUSTER_NAME}
@@ -59,13 +59,13 @@ spec:
5959
YAML
6060

6161
# Create a NodePool for Karpenter
62-
# Effectively disable consolidation for 30 minutes to avoid flakes in the tests
6362
kubectl apply -f - <<YAML
6463
apiVersion: karpenter.sh/v1
6564
kind: NodePool
6665
metadata:
6766
name: default
6867
spec:
68+
replicas: 1
6969
template:
7070
spec:
7171
requirements:
@@ -79,14 +79,90 @@ spec:
7979
group: karpenter.k8s.aws
8080
kind: EC2NodeClass
8181
name: default
82-
replicas: 4
83-
disruption:
84-
consolidationPolicy: WhenEmpty
85-
consolidateAfter: 30m
8682
YAML
83+
# Wait for the nodes to start being provisioned
84+
sleep 10
85+
# Wait for the nodes to be ready
86+
"${KOPS}" validate cluster --wait=10m
8787

88+
# Increase NodePool for Karpenter
89+
kubectl apply -f - <<YAML
90+
apiVersion: karpenter.sh/v1
91+
kind: NodePool
92+
metadata:
93+
name: default
94+
spec:
95+
replicas: 2
96+
template:
97+
spec:
98+
requirements:
99+
- key: node.kubernetes.io/instance-type
100+
operator: In
101+
values: ["m6g.large"]
102+
- key: karpenter.sh/capacity-type
103+
operator: In
104+
values: ["on-demand"]
105+
nodeClassRef:
106+
group: karpenter.k8s.aws
107+
kind: EC2NodeClass
108+
name: default
109+
YAML
110+
# Wait for the nodes to start being provisioned
111+
sleep 10
112+
# Wait for the nodes to be ready
113+
"${KOPS}" validate cluster --wait=10m
114+
115+
# Increase NodePool for Karpenter
116+
kubectl apply -f - <<YAML
117+
apiVersion: karpenter.sh/v1
118+
kind: NodePool
119+
metadata:
120+
name: default
121+
spec:
122+
replicas: 3
123+
template:
124+
spec:
125+
requirements:
126+
- key: node.kubernetes.io/instance-type
127+
operator: In
128+
values: ["m6g.large"]
129+
- key: karpenter.sh/capacity-type
130+
operator: In
131+
values: ["on-demand"]
132+
nodeClassRef:
133+
group: karpenter.k8s.aws
134+
kind: EC2NodeClass
135+
name: default
136+
YAML
137+
# Wait for the nodes to start being provisioned
138+
sleep 10
139+
# Wait for the nodes to be ready
140+
"${KOPS}" validate cluster --wait=10m
141+
142+
# Increase NodePool for Karpenter
143+
kubectl apply -f - <<YAML
144+
apiVersion: karpenter.sh/v1
145+
kind: NodePool
146+
metadata:
147+
name: default
148+
spec:
149+
replicas: 4
150+
template:
151+
spec:
152+
requirements:
153+
- key: node.kubernetes.io/instance-type
154+
operator: In
155+
values: ["m6g.large"]
156+
- key: karpenter.sh/capacity-type
157+
operator: In
158+
values: ["on-demand"]
159+
nodeClassRef:
160+
group: karpenter.k8s.aws
161+
kind: EC2NodeClass
162+
name: default
163+
YAML
88164
# Wait for the nodes to start being provisioned
89-
sleep 30
165+
sleep 10
90166
# Wait for the nodes to be ready
91167
"${KOPS}" validate cluster --wait=10m
92168

upup/pkg/fi/nodeup/command.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ func (c *NodeUpCommand) Run(out io.Writer) error {
295295
loader.Builders = append(loader.Builders, &model.EtcHostsBuilder{NodeupModelContext: modelContext})
296296
loader.Builders = append(loader.Builders, &model.NTPBuilder{NodeupModelContext: modelContext})
297297
loader.Builders = append(loader.Builders, &model.DirectoryBuilder{NodeupModelContext: modelContext})
298-
loader.Builders = append(loader.Builders, &model.UpdateServiceBuilder{NodeupModelContext: modelContext})
298+
//loader.Builders = append(loader.Builders, &model.UpdateServiceBuilder{NodeupModelContext: modelContext})
299299
loader.Builders = append(loader.Builders, &model.VolumesBuilder{NodeupModelContext: modelContext})
300300
loader.Builders = append(loader.Builders, &model.ContainerdBuilder{NodeupModelContext: modelContext})
301301
loader.Builders = append(loader.Builders, &model.ProtokubeBuilder{NodeupModelContext: modelContext})
@@ -304,7 +304,7 @@ func (c *NodeUpCommand) Run(out io.Writer) error {
304304
loader.Builders = append(loader.Builders, &model.HookBuilder{NodeupModelContext: modelContext})
305305
loader.Builders = append(loader.Builders, &model.KubeletBuilder{NodeupModelContext: modelContext})
306306
loader.Builders = append(loader.Builders, &model.KubectlBuilder{NodeupModelContext: modelContext})
307-
loader.Builders = append(loader.Builders, &model.LogrotateBuilder{NodeupModelContext: modelContext})
307+
//loader.Builders = append(loader.Builders, &model.LogrotateBuilder{NodeupModelContext: modelContext})
308308
loader.Builders = append(loader.Builders, &model.ManifestsBuilder{NodeupModelContext: modelContext})
309309
loader.Builders = append(loader.Builders, &model.PackagesBuilder{NodeupModelContext: modelContext})
310310
loader.Builders = append(loader.Builders, &model.NvidiaBuilder{NodeupModelContext: modelContext})

upup/pkg/fi/nodeup/nodetasks/update_packages.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ package nodetasks
1919
import (
2020
"fmt"
2121
"os"
22-
"os/exec"
23-
"syscall"
2422

2523
"k8s.io/klog/v2"
2624
"k8s.io/kops/upup/pkg/fi"
@@ -83,13 +81,13 @@ func (_ *UpdatePackages) RenderLocal(t *local.LocalTarget, a, e, changes *Update
8381
} else {
8482
return fmt.Errorf("unsupported package system")
8583
}
86-
klog.Infof("running command %s", args)
87-
cmd := exec.Command(args[0], args[1:]...)
88-
output, err := cmd.CombinedOutput()
89-
// 'yum check-update' exits with 100 if it finds updates; treat it like a success
90-
if exitCode := cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus(); err != nil && exitCode != 100 {
91-
return fmt.Errorf("error update packages: %v: %s", err, string(output))
92-
}
84+
klog.Infof("NOT running command %s", args)
85+
//cmd := exec.Command(args[0], args[1:]...)
86+
//output, err := cmd.CombinedOutput()
87+
//// 'yum check-update' exits with 100 if it finds updates; treat it like a success
88+
//if exitCode := cmd.ProcessState.Sys().(syscall.WaitStatus).ExitStatus(); err != nil && exitCode != 100 {
89+
// return fmt.Errorf("error update packages: %v: %s", err, string(output))
90+
//}
9391

9492
return nil
9593
}

0 commit comments

Comments
 (0)