Merge pull request #15599 from umohnani8/gen-kube
Fix bind-mount-option annotation in gen/play kube
This commit is contained in:
commit
c5da5e459a
|
@ -85,4 +85,4 @@ const PassthroughLogging = "passthrough"
|
|||
const RLimitDefaultValue = uint64(1048576)
|
||||
|
||||
// BindMountPrefix distinguishes its annotations from others
|
||||
const BindMountPrefix = "bind-mount-options:"
|
||||
const BindMountPrefix = "bind-mount-options"
|
||||
|
|
|
@ -385,7 +385,7 @@ func (p *Pod) podWithContainers(ctx context.Context, containers []*Container, po
|
|||
return nil, err
|
||||
}
|
||||
for k, v := range annotations {
|
||||
podAnnotations[define.BindMountPrefix+k] = TruncateKubeAnnotation(v)
|
||||
podAnnotations[define.BindMountPrefix] = TruncateKubeAnnotation(k + ":" + v)
|
||||
}
|
||||
// Since port bindings for the pod are handled by the
|
||||
// infra container, wipe them here only if we are sharing the net namespace
|
||||
|
@ -529,7 +529,7 @@ func simplePodWithV1Containers(ctx context.Context, ctrs []*Container) (*v1.Pod,
|
|||
return nil, err
|
||||
}
|
||||
for k, v := range annotations {
|
||||
kubeAnnotations[define.BindMountPrefix+k] = TruncateKubeAnnotation(v)
|
||||
kubeAnnotations[define.BindMountPrefix] = TruncateKubeAnnotation(k + ":" + v)
|
||||
}
|
||||
if isInit {
|
||||
kubeInitCtrs = append(kubeInitCtrs, kubeCtr)
|
||||
|
|
|
@ -357,8 +357,11 @@ func ToSpecGen(ctx context.Context, opts *CtrSpecGenOptions) (*specgen.SpecGener
|
|||
// a selinux mount option exists for it
|
||||
for k, v := range opts.Annotations {
|
||||
// Make sure the z/Z option is not already there (from editing the YAML)
|
||||
if strings.Replace(k, define.BindMountPrefix, "", 1) == volumeSource.Source && !cutil.StringInSlice("z", options) && !cutil.StringInSlice("Z", options) {
|
||||
options = append(options, v)
|
||||
if k == define.BindMountPrefix {
|
||||
lastIndex := strings.LastIndex(v, ":")
|
||||
if v[:lastIndex] == volumeSource.Source && !cutil.StringInSlice("z", options) && !cutil.StringInSlice("Z", options) {
|
||||
options = append(options, v[lastIndex+1:])
|
||||
}
|
||||
}
|
||||
}
|
||||
mount := spec.Mount{
|
||||
|
|
|
@ -719,7 +719,7 @@ var _ = Describe("Podman generate kube", func() {
|
|||
pod := new(v1.Pod)
|
||||
err = yaml.Unmarshal(b, pod)
|
||||
Expect(err).To(BeNil())
|
||||
Expect(pod.Annotations).To(HaveKeyWithValue(define.BindMountPrefix+vol1, HaveSuffix("z")))
|
||||
Expect(pod.Annotations).To(HaveKeyWithValue(define.BindMountPrefix, vol1+":"+"z"))
|
||||
|
||||
rm := podmanTest.Podman([]string{"pod", "rm", "-t", "0", "-f", "test1"})
|
||||
rm.WaitWithDefaultTimeout()
|
||||
|
|
Loading…
Reference in New Issue