@@ -7,11 +7,16 @@ import (
7
7
"time"
8
8
9
9
e2ekubernetes "github.com/microsoft/retina/test/e2e/framework/kubernetes"
10
+ "github.com/microsoft/retina/test/retry"
10
11
"k8s.io/apimachinery/pkg/runtime"
11
12
"k8s.io/client-go/kubernetes"
12
13
"k8s.io/client-go/tools/clientcmd"
13
14
)
14
15
16
+ const (
17
+ timeoutCreateResourcesSeconds = 1200
18
+ )
19
+
15
20
type CreateResources struct {
16
21
Namespace string
17
22
KubeConfigFilePath string
@@ -48,11 +53,18 @@ func (c *CreateResources) Run() error {
48
53
return fmt .Errorf ("error creating Kubernetes client: %w" , err )
49
54
}
50
55
51
- ctx , cancel := context .WithTimeout (context .Background (), defaultTimeoutSeconds * time .Second )
56
+ ctx , cancel := context .WithTimeout (context .Background (), timeoutCreateResourcesSeconds * time .Second )
52
57
defer cancel ()
53
58
59
+ retrier := retry.Retrier {Attempts : defaultRetryAttempts , Delay : defaultRetryDelay }
60
+
54
61
for _ , resource := range resources {
55
- e2ekubernetes .CreateResource (ctx , resource , clientset )
62
+ err := retrier .Do (ctx , func () error {
63
+ return e2ekubernetes .CreateResource (ctx , resource , clientset )
64
+ })
65
+ if err != nil {
66
+ return fmt .Errorf ("error creating resource: %w" , err )
67
+ }
56
68
}
57
69
58
70
return nil
@@ -71,12 +83,6 @@ func (c *CreateResources) getResources() []runtime.Object {
71
83
// kwokDeployments := c.generateDeployments(c.NumKwokDeployments, c.NumKwokReplicas, "kwok")
72
84
// objs = append(objs, kwokDeployments...)
73
85
74
- realDeployments := c .generateDeployments ()
75
- objs = append (objs , realDeployments ... )
76
-
77
- services := c .generateServices ("real" )
78
- objs = append (objs , services ... )
79
-
80
86
kapinger := e2ekubernetes.CreateKapingerDeployment {
81
87
KapingerNamespace : c .Namespace ,
82
88
KubeConfigFilePath : c .KubeConfigFilePath ,
@@ -88,6 +94,13 @@ func (c *CreateResources) getResources() []runtime.Object {
88
94
kapingerSA := kapinger .GetKapingerServiceAccount ()
89
95
90
96
objs = append (objs , kapingerClusterRole , kapingerClusterRoleBinding , kapingerSA )
97
+
98
+ realDeployments := c .generateDeployments ()
99
+ objs = append (objs , realDeployments ... )
100
+
101
+ services := c .generateServices ()
102
+ objs = append (objs , services ... )
103
+
91
104
// c.generateKwokNodes()
92
105
log .Println ("Finished generating YAMLs" )
93
106
return objs
@@ -118,6 +131,8 @@ func (c *CreateResources) generateDeployments() []runtime.Object {
118
131
labelPrefix := fmt .Sprintf ("%s-dep-lab" , name )
119
132
120
133
deployment .Name = name
134
+ deployment .Labels ["name" ] = name
135
+ deployment .Spec .Template .Labels ["name" ] = name
121
136
122
137
r := int32 (c .NumRealReplicas )
123
138
deployment .Spec .Replicas = & r
@@ -135,7 +150,7 @@ func (c *CreateResources) generateDeployments() []runtime.Object {
135
150
return objs
136
151
}
137
152
138
- func (c * CreateResources ) generateServices (svcKind string ) []runtime.Object {
153
+ func (c * CreateResources ) generateServices () []runtime.Object {
139
154
objs := []runtime.Object {}
140
155
141
156
kapingerSvc := e2ekubernetes.CreateKapingerDeployment {
@@ -146,10 +161,10 @@ func (c *CreateResources) generateServices(svcKind string) []runtime.Object {
146
161
for i := 0 ; i < c .NumRealServices ; i ++ {
147
162
template := kapingerSvc .GetKapingerService ()
148
163
149
- name := fmt .Sprintf ("%s-svc-%05d" , svcKind , i )
164
+ name := fmt .Sprintf ("%s-svc-%05d" , c . RealPodType , i )
150
165
template .Name = name
151
166
152
- template .Spec .Selector ["name" ] = fmt .Sprintf ("%s-%s- dep-%05d" , svcKind , c .RealPodType , i )
167
+ template .Spec .Selector ["name" ] = fmt .Sprintf ("%s-dep-%05d" , c .RealPodType , i )
153
168
154
169
objs = append (objs , template )
155
170
}
0 commit comments