@@ -26,6 +26,7 @@ import (
26
26
info "github.com/google/cadvisor/info/v1"
27
27
specs "github.com/opencontainers/runtime-spec/specs-go"
28
28
"github.com/stretchr/testify/assert"
29
+ criapi "k8s.io/cri-api/pkg/apis/runtime/v1alpha2"
29
30
)
30
31
31
32
func init () {
@@ -60,13 +61,31 @@ func TestHandler(t *testing.T) {
60
61
checkEnvVars map [string ]string
61
62
}
62
63
testContainers := make (map [string ]* containers.Container )
64
+ testContainerSandbox := & containers.Container {
65
+ ID : "40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ,
66
+ Labels : map [string ]string {
67
+ "io.cri-containerd.kind" : "sandbox" ,
68
+ "io.kubernetes.container.name" : "pause" ,
69
+ "io.kubernetes.pod.name" : "some-pod" ,
70
+ "io.kubernetes.pod.namespace" : "some-ns" ,
71
+ "io.kubernetes.pod.uid" : "some-uid" },
72
+ }
63
73
testContainer := & containers.Container {
64
- ID : "40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ,
65
- Labels : map [string ]string {"io.cri-containerd.kind" : "sandbox" },
74
+ ID : "c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" ,
75
+ Labels : map [string ]string {
76
+ "io.cri-containerd.kind" : "container" ,
77
+ "io.kubernetes.container.name" : "some-container" ,
78
+ "io.kubernetes.pod.name" : "some-pod" ,
79
+ "io.kubernetes.pod.namespace" : "some-ns" ,
80
+ "io.kubernetes.pod.uid" : "some-uid" },
66
81
}
67
82
spec := & specs.Spec {Root : & specs.Root {Path : "/test/" }, Process : & specs.Process {Env : []string {"TEST_REGION=FRA" , "TEST_ZONE=A" , "HELLO=WORLD" }}}
83
+ testContainerSandbox .Spec , _ = typeurl .MarshalAny (spec )
68
84
testContainer .Spec , _ = typeurl .MarshalAny (spec )
69
- testContainers ["40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ] = testContainer
85
+ testContainers ["40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ] = testContainerSandbox
86
+ testContainers ["c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" ] = testContainer
87
+ status := & criapi.ContainerStatus {Metadata : & criapi.ContainerMetadata {Attempt : 2 }}
88
+
70
89
for _ , ts := range []testCase {
71
90
{
72
91
mockcontainerdClient (nil , nil , nil ),
@@ -96,7 +115,7 @@ func TestHandler(t *testing.T) {
96
115
& info.ContainerReference {
97
116
Id : "40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ,
98
117
Name : "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ,
99
- Aliases : []string {"40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" , "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" },
118
+ Aliases : []string {"k8s_POD_some-pod_some-ns_some-uid_0" , " 40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" , "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" },
100
119
Namespace : k8sContainerdNamespace ,
101
120
},
102
121
map [string ]string {},
@@ -115,11 +134,30 @@ func TestHandler(t *testing.T) {
115
134
& info.ContainerReference {
116
135
Id : "40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ,
117
136
Name : "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" ,
118
- Aliases : []string {"40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" , "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" },
137
+ Aliases : []string {"k8s_POD_some-pod_some-ns_some-uid_0" , " 40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" , "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/40af7cdcbe507acad47a5a62025743ad3ddc6ab93b77b21363aa1c1d641047c9" },
119
138
Namespace : k8sContainerdNamespace ,
120
139
},
121
140
map [string ]string {"TEST_REGION" : "FRA" , "TEST_ZONE" : "A" },
122
141
},
142
+ {
143
+ mockcontainerdClient (testContainers , status , nil ),
144
+ "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" ,
145
+ & mockedMachineInfo {},
146
+ nil ,
147
+ & containerlibcontainer.CgroupSubsystems {},
148
+ false ,
149
+ nil ,
150
+ nil ,
151
+ false ,
152
+ "" ,
153
+ & info.ContainerReference {
154
+ Id : "c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" ,
155
+ Name : "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" ,
156
+ Aliases : []string {"k8s_some-container_some-pod_some-ns_some-uid_2" , "c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" , "/kubepods/pod068e8fa0-9213-11e7-a01f-507b9d4141fa/c6a1aa99f14d3e57417e145b897e34961145f6b6f14216a176a34bfabbf79086" },
157
+ Namespace : k8sContainerdNamespace ,
158
+ },
159
+ map [string ]string {},
160
+ },
123
161
} {
124
162
handler , err := newContainerdContainerHandler (ts .client , ts .name , ts .machineInfoFactory , ts .fsInfo , ts .cgroupSubsystems , ts .inHostNamespace , ts .metadataEnvAllowList , ts .includedMetrics )
125
163
if ts .hasErr {
0 commit comments