@@ -76,7 +76,6 @@ const (
76
76
var (
77
77
findShim = findProcWithName (shimProcessName )
78
78
findFirecracker = findProcWithName (firecrackerProcessName )
79
- findJailer = findProcWithName (jailerProcessName )
80
79
)
81
80
82
81
// Images are presumed by the isolated tests to have already been pulled
@@ -1380,49 +1379,6 @@ func TestStopVM_Isolated(t *testing.T) {
1380
1379
},
1381
1380
},
1382
1381
1383
- {
1384
- name : "Jailer" ,
1385
- withStopVM : true ,
1386
-
1387
- createVMRequest : proto.CreateVMRequest {
1388
- JailerConfig : & proto.JailerConfig {
1389
- UID : 300000 ,
1390
- GID : 300000 ,
1391
- },
1392
- },
1393
- stopFunc : func (ctx context.Context , fcClient fccontrol.FirecrackerService , vmID string ) {
1394
- _ , err = fcClient .StopVM (ctx , & proto.StopVMRequest {VMID : vmID })
1395
- require .Equal (status .Code (err ), codes .OK )
1396
- },
1397
- },
1398
- {
1399
- name : "Jailer SIGKILL" ,
1400
- createVMRequest : proto.CreateVMRequest {
1401
- JailerConfig : & proto.JailerConfig {
1402
- UID : 300000 ,
1403
- GID : 300000 ,
1404
- },
1405
- },
1406
- stopFunc : func (ctx context.Context , fcClient fccontrol.FirecrackerService , vmID string ) {
1407
- firecrackerProcesses , err := internal .WaitForProcessToExist (ctx , time .Second , findJailer )
1408
- require .NoError (err , "failed waiting for expected firecracker process %q to come up" , firecrackerProcessName )
1409
- require .Len (firecrackerProcesses , 1 , "expected only one firecracker process to exist" )
1410
- firecrackerProcess := firecrackerProcesses [0 ]
1411
-
1412
- err = firecrackerProcess .KillWithContext (ctx )
1413
- require .NoError (err , "failed to kill firecracker process" )
1414
-
1415
- // Sleep here to ensure runc finishes execution
1416
- time .Sleep (500 * time .Millisecond )
1417
-
1418
- // ensure that the jailer has cleaned up all of the containers
1419
- runcClient := & runc.Runc {}
1420
- containers , err := runcClient .List (ctx )
1421
- require .NoError (err , "failed to run 'runc list'" )
1422
- assert .Equal (0 , len (containers ))
1423
- },
1424
- },
1425
-
1426
1382
// Firecracker is too fast to test a case where we hit the timeout on a StopVMRequest.
1427
1383
// The rootfs below explicitly sleeps 60 seconds after shutting down the agent to simulate the case.
1428
1384
{
@@ -1493,13 +1449,12 @@ func TestStopVM_Isolated(t *testing.T) {
1493
1449
1494
1450
for _ , test := range tests {
1495
1451
test := test
1496
- t .Run (test .name , func (t * testing.T ) {
1452
+
1453
+ testFunc := func (t * testing.T , createVMRequest proto.CreateVMRequest ) {
1497
1454
ctx , cancel := context .WithTimeout (ctx , 60 * time .Second )
1498
1455
defer cancel ()
1499
1456
1500
- vmID := testNameToVMID (t .Name ())
1501
- createVMRequest := test .createVMRequest
1502
- createVMRequest .VMID = vmID
1457
+ vmID := createVMRequest .VMID
1503
1458
1504
1459
fcClient := fccontrol .NewFirecrackerClient (pluginClient .Client ())
1505
1460
_ , err = fcClient .CreateVM (ctx , & createVMRequest )
@@ -1542,6 +1497,27 @@ func TestStopVM_Isolated(t *testing.T) {
1542
1497
// But it should be dead eventually.
1543
1498
err = internal .WaitForPidToExit (ctx , time .Second , shimProcess .Pid )
1544
1499
require .NoError (err , "shim hasn't been terminated" )
1500
+ }
1501
+
1502
+ t .Run (test .name , func (t * testing.T ) {
1503
+ req := test .createVMRequest
1504
+ req .VMID = testNameToVMID (test .name )
1505
+ testFunc (t , req )
1506
+ })
1507
+
1508
+ t .Run (test .name + "/Jailer" , func (t * testing.T ) {
1509
+ req := test .createVMRequest
1510
+ req .VMID = testNameToVMID (test .name ) + "_Jailer"
1511
+ req .JailerConfig = & proto.JailerConfig {
1512
+ UID : 300000 ,
1513
+ GID : 300000 ,
1514
+ }
1515
+ testFunc (t , req )
1516
+
1517
+ runcClient := & runc.Runc {}
1518
+ containers , err := runcClient .List (ctx )
1519
+ require .NoError (err , "failed to run 'runc list'" )
1520
+ assert .Equal (0 , len (containers ))
1545
1521
})
1546
1522
}
1547
1523
}
0 commit comments