createContainer creates a container in that pod.
(name, imageRef string, wantedState criruntime.ContainerState, opts ...ContainerOpts)
| 657 | |
| 658 | // createContainer creates a container in that pod. |
| 659 | func (pCtx *podTCtx) createContainer(name, imageRef string, wantedState criruntime.ContainerState, opts ...ContainerOpts) string { |
| 660 | t := pCtx.t |
| 661 | |
| 662 | cfg := ContainerConfig(name, imageRef, opts...) |
| 663 | cnID, err := pCtx.rSvc.CreateContainer(pCtx.id, cfg, pCtx.cfg) |
| 664 | require.NoError(t, err) |
| 665 | |
| 666 | switch wantedState { |
| 667 | case criruntime.ContainerState_CONTAINER_CREATED: |
| 668 | // no-op |
| 669 | case criruntime.ContainerState_CONTAINER_RUNNING: |
| 670 | require.NoError(t, pCtx.rSvc.StartContainer(cnID)) |
| 671 | case criruntime.ContainerState_CONTAINER_EXITED: |
| 672 | require.NoError(t, pCtx.rSvc.StartContainer(cnID)) |
| 673 | require.NoError(t, pCtx.rSvc.StopContainer(cnID, 0)) |
| 674 | default: |
| 675 | t.Fatalf("unsupport state %s", wantedState) |
| 676 | } |
| 677 | return cnID |
| 678 | } |
| 679 | |
| 680 | // containerDataDir returns container metadata dir maintained by CRI plugin. |
| 681 | func (pCtx *podTCtx) containerDataDir(cntrID string) string { |
no test coverage detected