mirror of
https://github.com/containers/podman.git
synced 2025-08-02 17:22:30 +08:00
Merge pull request #3178 from mheon/fix_gen_kube
Fix a 'generate kube' bug on ctrs with named volumes
This commit is contained in:
@ -217,7 +217,7 @@ func playKubeYAMLCmd(c *cliconfig.KubePlayValues, ctx context.Context, runtime *
|
||||
if err != nil {
|
||||
return pod, err
|
||||
}
|
||||
createConfig, err := kubeContainerToCreateConfig(ctx, container, runtime, newImage, namespaces, volumes)
|
||||
createConfig, err := kubeContainerToCreateConfig(ctx, container, runtime, newImage, namespaces, volumes, pod.ID())
|
||||
if err != nil {
|
||||
return pod, err
|
||||
}
|
||||
@ -274,7 +274,7 @@ func getPodPorts(containers []v1.Container) []ocicni.PortMapping {
|
||||
}
|
||||
|
||||
// kubeContainerToCreateConfig takes a v1.Container and returns a createconfig describing a container
|
||||
func kubeContainerToCreateConfig(ctx context.Context, containerYAML v1.Container, runtime *libpod.Runtime, newImage *image.Image, namespaces map[string]string, volumes map[string]string) (*createconfig.CreateConfig, error) {
|
||||
func kubeContainerToCreateConfig(ctx context.Context, containerYAML v1.Container, runtime *libpod.Runtime, newImage *image.Image, namespaces map[string]string, volumes map[string]string, podID string) (*createconfig.CreateConfig, error) {
|
||||
var (
|
||||
containerConfig createconfig.CreateConfig
|
||||
)
|
||||
@ -288,6 +288,8 @@ func kubeContainerToCreateConfig(ctx context.Context, containerYAML v1.Container
|
||||
containerConfig.Tty = containerYAML.TTY
|
||||
containerConfig.WorkDir = containerYAML.WorkingDir
|
||||
|
||||
containerConfig.Pod = podID
|
||||
|
||||
imageData, _ := newImage.Inspect(ctx)
|
||||
|
||||
containerConfig.User = "0"
|
||||
|
@ -220,12 +220,11 @@ func containerToV1Container(c *Container) (v1.Container, error) {
|
||||
return kubeContainer, err
|
||||
}
|
||||
kubeContainer.VolumeMounts = volumes
|
||||
return kubeContainer, errors.Wrapf(ErrNotImplemented, "volume names")
|
||||
}
|
||||
|
||||
envVariables, err := libpodEnvVarsToKubeEnvVars(c.config.Spec.Process.Env)
|
||||
if err != nil {
|
||||
return kubeContainer, nil
|
||||
return kubeContainer, err
|
||||
}
|
||||
|
||||
portmappings, err := c.PortMappings()
|
||||
@ -234,7 +233,7 @@ func containerToV1Container(c *Container) (v1.Container, error) {
|
||||
}
|
||||
ports, err := ocicniPortMappingToContainerPort(portmappings)
|
||||
if err != nil {
|
||||
return kubeContainer, nil
|
||||
return kubeContainer, err
|
||||
}
|
||||
|
||||
containerCommands := c.Command()
|
||||
@ -345,7 +344,7 @@ func libpodMountsToKubeVolumeMounts(c *Container) ([]v1.VolumeMount, error) {
|
||||
for _, hostSourcePath := range c.config.UserVolumes {
|
||||
vm, err := generateKubeVolumeMount(hostSourcePath, c.config.Spec.Mounts)
|
||||
if err != nil {
|
||||
return vms, err
|
||||
continue
|
||||
}
|
||||
vms = append(vms, vm)
|
||||
}
|
||||
|
Reference in New Issue
Block a user