profile
viewpoint
Kunal Kushwaha kunalkushwaha NTT Data Americas Tokyo (Japan) http://kunalkushwaha.github.io/ Cloud and Linux Container Enthusiast

startedantonmedv/red

started time in 6 days

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha bca01ed46121aebd7b770cd98130f1b14834fc91

man page updated with examples of filter option examples with filter added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 10 days

PR opened containers/libpod

container prune command fixed as per docker prune command

makes podman container prune aligned with docker image prune command. This PR is in continuation of https://github.com/containers/libpod/pull/4512 for container prune command

This PR makes following changes.

  • default podman container prune now ask for confirmation from user with warning message.
$ .podman container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] 
  • adds --filter flag, which supports label & until format. e.g.
$ podman container prune -a --filter until=10m             
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] 

$ podman container prune -a --filter label=test-app                            
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] 

Signed-off-by: Kunal Kushwaha kunal.kushwaha@gmail.com

+89 -13

0 comment

8 changed files

pr created time in 13 days

create barnchkunalkushwaha/libpod

branch : container-prune

created branch time in 13 days

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha c7d911e77633a0990a79d05ec3fdc1e04b0fbde1

document updated for filter and until options examples of image prune with filter and until options added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 20 days

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha e38fd8e4371f95ca16af3936747b57c281e8013d

document updated for filter and until options examples of image prune with filter and until options added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 20 days

Pull request review commentcontainers/libpod

image prune command fixed as per docker image prune.

 type InfoImage struct { 	Layers []LayerInfo } +// Filter is a function to determine whether a image is included+// in command output. Images to be outputted are tested using the function.+// A true return will include the image, a false return will exclude it.+type Filter func(*Image) bool

Done. used //nolint for ignoring the check against ImageFilter

kunalkushwaha

comment created time in 20 days

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 5082496cc05a11d72e8658cce857523df41c203f

filter added to image pruge command. filter option accepts two filters. - label - until label supports "label=value" or "label=key=value" format until supports all golang compatible time/duration formats. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 6fd69acfa8b68c8e6a94b8b51b0b484c18dca7b8

document updated for filter and until options examples of image prune with filter and until options added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 20 days

Pull request review commentcontainers/libpod

image prune command fixed as per docker image prune.

 type InfoImage struct { 	Layers []LayerInfo } +// Filter is a function to determine whether a image is included+// in command output. Images to be outputted are tested using the function.+// A true return will include the image, a false return will exclude it.+type Filter func(*Image) bool

I initially named this Filter as ImageFilter. But make validate reports error as its part of image package and user need to user image.ImageFilter.

kunalkushwaha

comment created time in 21 days

pull request commentcontainers/libpod

image prune command fixed as per docker image prune.

@TomSweeneyRedHat @baude All tests are green now. PTAL

kunalkushwaha

comment created time in 22 days

pull request commentcontainers/storage

new interface for MountImage added

@rhatdan This PR is stuck with this test failing issue. PTAL

kunalkushwaha

comment created time in 22 days

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha e37b50e42fdc867b72f842670edfe9cf7e981d68

filter added to image pruge command. filter option accepts two filters. - label - until label supports "label=value" or "label=key=value" format until supports all golang compatible time/duration formats. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 24 days

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha ebfb3ed1a6db04c018ff28981b35ea1157ddcbd3

filter added to image pruge command. filter option accepts two filters. - label - until label supports "label=value" or "label=key=value" format until supports all golang compatible time/duration formats. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

PR opened containers/libpod

Prune filter

makes podman image prune aligned with docker image prune command.

This PR makes following changes.

  • default podman image prune now ask for confirmation from user with warning message.
$ .podman image prune

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] 
  • adds --force flag, which do not ask for any confirmation. Fixes https://github.com/containers/libpod/issues/4410

  • adds --filter flag, which supports label & until format. e.g.

$ podman image prune -a --filter until=2019-11-14T06:15:42.937792374Z             

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] 

$ podman image prune -a --filter until=10h                            

WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N] 
+342 -18

0 comment

12 changed files

pr created time in a month

create barnchkunalkushwaha/libpod

branch : prune-filter

created branch time in a month

issue commentcontainers/libpod

Support `--filter` flag in `podman image prune`

I am also facing this issue.. will pick it up.

/assign

XVilka

comment created time in a month

push eventkunalkushwaha/storage

Kunal Kushwaha

commit sha 4775ee8a0f051ea2b62cfbce7116de6be3ff2a3d

test cases for image mount added two test cases added - verifies container can be created on mounted image. - image can be mounted multiple times. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

startedcontainers/oci-seccomp-bpf-hook

started time in a month

pull request commentcontainers/storage

new interface for MountImage added

Test cases failing.. mostly while creating new layer. This works fine if run by command.

populate function fails.

kunalkushwaha

comment created time in a month

push eventkunalkushwaha/storage

Kunal Kushwaha

commit sha 499467894eb6d53c7c0c90005a2d51f2d38e96ab

new interface for MountImage added Interface added to mount image rootfs without any container. image can be mounted only in ReadOnly mode. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 63cf3d2f90ad91033d42cdf937fccfaf02e9fa3e

image mount option added mount command supports read-only mount of image now. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 50f439101abb514baa753f6efbc4a03a524eb121

test cases for image mount added two test cases added - verifies container can be created on mounted image. - image can be mounted multiple times. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

issue commentcontainers/libpod

Mount image filesystem

@rhatdan Yes, I am working on this. The https://github.com/containers/storage/pull/438 & https://github.com/containers/libpod/pull/4209 PRs to fix this issue.

Once c/storage have ImageMount() interface, #4209 can be fixed.

lachmanfrantisek

comment created time in a month

push eventkunalkushwaha/storage

Kunal Kushwaha

commit sha 51148d175a376001e0b62008a3809d9b918baf48

new interface for MountImage added Interface added to mount image rootfs without any container. image can be mounted only in ReadOnly mode. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

pull request commentcontainers/storage

new interface for MountImage added

I am little confused towards naming the API. MountImage() by name do not suggest it will return ReadOnly mounted image.

  • So currently it takes mountOptions but is ignored and set to ReadOnly in function.

  • In future, if this function need to add support of ReadWrite Mode, no need to change the Interface Name.

  • We can remote mountOptions by changing the interfaceName as MountImageRO() or MountROImage()

@rhatdan @vrothberg @nalind PTAL

kunalkushwaha

comment created time in a month

push eventkunalkushwaha/storage

Kunal Kushwaha

commit sha edc532b65920a63a1d8359892e611da3c1cb5409

new interface for MountImage added Interface added to mount image rootfs without any container. image can be mounted only in ReadOnly mode. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

pull request commentcontainers/storage

new interface for MountImage added

@rhatdan I got your point.

Earlier I thought, storage lib should provide the simple API, so consumer of API can choose the mode.

But with without additional layer, mounting image should not be allowed as it will change the image. For all other cases Mount() should be used. I will make changes for ReadOnly.

kunalkushwaha

comment created time in a month

created tagkunalkushwaha/ltag

tagv0.2.0

Prepends project files with given template.

created time in a month

release kunalkushwaha/ltag

v0.2.0

released time in a month

push eventkunalkushwaha/ltag

Sebastiaan van Stijn

commit sha b2d8e25481227737b3ac22cba98f20c018b8ddc9

Add support for Dockerfiles with directives Docker 1.12 and up supports parser directives in the Dockerfile. Parser directives must be at the top of the file to be valid. This patch modified the DockerfileApplier to take parser directives into account and (if found) puts the header directly after the directives. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>

view details

Kunal Kushwaha

commit sha e4fc12bef91123a50e718172b4c7702345887917

Merge pull request #7 from thaJeztah/dockerfile_directives Add support for Dockerfiles with directives

view details

push time in a month

PR merged kunalkushwaha/ltag

Add support for Dockerfiles with directives

fixes https://github.com/kunalkushwaha/ltag/issues/5 "Dockerfile support does not support directives"

Docker 1.12 and up supports parser directives in the Dockerfile. Parser directives must be at the top of the file to be valid.

This patch modified the DockerfileApplier to take parser directives into account and (if found) puts the header directly after the directives.

+317 -4

3 comments

11 changed files

thaJeztah

pr closed time in a month

issue closedkunalkushwaha/ltag

Dockerfile support does not support directives

parser directives are a feature of the Dockerfile syntax which allows overriding some properties of the Dockerfile processing (primarily used to change the default escape character from \ on Windows, where it is rather inconvenient).

A directive is required to be the first thing in the file (quote from the above linked docs):

Once a comment, empty line or builder instruction has been processed, Docker no longer looks for parser directives. Instead it treats anything formatted as a parser directive as a comment and does not attempt to validate if it might be a parser directive. Therefore, all parser directives must be at the very top of a Dockerfile.

Unfortunately this conflicts with ltag wanting the license to be at the very top:

$ cat dockerfile.txt 
# This is my license
$ cat Dockerfile 
# escape=`
# This is my license
FROM scratch
$ touch go.txt bash.txt makefile.txt
$ ltag -t . --check -v
Dockerfile
$ ltag -t . -v
Files modified :  1
Dockerfile
$ cat Dockerfile 
# This is my license
# escape=`
# This is my license
FROM scratch

I think ltag -t . --check -v should not complain and ltag -t . -v should not modify. I'm not sure how hard this would be arrange.

closed time in a month

ijc

push eventkunalkushwaha/storage

Kunal Kushwaha

commit sha d395bb215a75f05e3a1170ce75ef907fb6cfdfc7

new interface for MountImage added Interface added to mount image rootfs without any container. image can be mounted in ReadOnly or ReadWrite mode. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

push eventkunalkushwaha/ltag

Kunal Kushwaha

commit sha 98ad3397d9a2ddac5ba0bf28efe5361a3a9acaf9

workflow added to test github action Test autobuild of ltag tool Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 82bf32a6c9380b2865972e6f44446def84db29b7

Merge pull request #8 from kunalkushwaha/kunalkushwaha-go-action workflow added to test github action

view details

push time in a month

PR merged kunalkushwaha/ltag

workflow added to test github action

Test autobuild of ltag tool

Kunal Kushwaha kunal.kushwaha@gmail.com

+31 -0

0 comment

1 changed file

kunalkushwaha

pr closed time in a month

push eventkunalkushwaha/ltag

Kunal Kushwaha

commit sha 98ad3397d9a2ddac5ba0bf28efe5361a3a9acaf9

workflow added to test github action Test autobuild of ltag tool Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in a month

push eventkunalkushwaha/ltag

Kunal Kushwaha

commit sha 9a46309e28060f1b758c3863e57996f3727d0fc0

removed lint fix later the lint part

view details

push time in a month

push eventkunalkushwaha/ltag

Kunal Kushwaha

commit sha 1b2501e9aa1668eb546a1e0c8d5e89a5f55ab81e

use prebuild reviewdog binary

view details

push time in a month

push eventkunalkushwaha/ltag

Kunal Kushwaha

commit sha 00b52e9fcd9a64ac5417803f22cf6559ffe43bef

Added tests and lint - lint test - run testcases

view details

push time in a month

PR opened kunalkushwaha/ltag

workflow added to test github action

Test autobuild of ltag tool

Kunal Kushwaha kunal.kushwaha@gmail.com

+31 -0

0 comment

1 changed file

pr created time in a month

create barnchkunalkushwaha/ltag

branch : kunalkushwaha-go-action

created branch time in a month

pull request commentkunalkushwaha/ltag

Add support for Dockerfiles with directives

@thaJeztah Thanks for the PR . I tested it locally and its all good. fixes https://github.com/kunalkushwaha/ltag/issues/5

LGTM.

@estesp PTAL. This tool is still used in containerd

thaJeztah

comment created time in a month

starteddanderson/metallb

started time in 2 months

pull request commentcontainers/libpod

[DO NOT MERGE] Image mount

  • while mounting single layer image, it returns success, but mount is unsuccessful. -- is anything missing in MountImage implementation or Need be handled in layer.Mount() ?
kunalkushwaha

comment created time in 2 months

push eventkunalkushwaha/libpod

Valentin Rothberg

commit sha 6f4e3beedc2a78753f1265c848e5cb6d21ebdcb4

bump catatonit to v0.1.4 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>

view details

Valentin Rothberg

commit sha 80f6af7766a1b47715a0cd8d1fab567750dcdc31

catatonit: clone and build Instead of unconditionally pulling the x86 binary, clone the repository and build the binary to make it independent of the architecture. Fixes: #2699 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>

view details

Marco Vedovati

commit sha dacbc5beb2a8841e52cf8ea7f544b4d302469c1d

rm: add containers eviction with `rm --force` Add ability to evict a container when it becomes unusable. This may happen when the host setup changes after a container creation, making it impossible for that container to be used or removed. Evicting a container is done using the `rm --force` command. Signed-off-by: Marco Vedovati <mvedovati@suse.com>

view details

Matthew Heon

commit sha 76120ce6388085c529d64e6bf6529dddb5681644

Move derivitive doc so it won't be treated as a manpage Anything with the .md suffix in docs/ gets compiled into a manpage, so let's get things that aren't manpages out of there. This isn't precisely a tutorial, but it seems like the next best place. Signed-off-by: Matthew Heon <mheon@redhat.com>

view details

Matthew Heon

commit sha b02b072832cac26d7cc468d713303843d2935a36

Bump to v1.6.0 Signed-off-by: Matthew Heon <mheon@redhat.com>

view details

Matthew Heon

commit sha d52868f81cc518cf5a046296164cd18ef1c96de9

Bump to v1.6.1-dev Signed-off-by: Matthew Heon <mheon@redhat.com>

view details

Matthew Heon

commit sha d74fb433a86d52c684983bc792de764e2884bcc4

Bump gitvalidation epoch Signed-off-by: Matthew Heon <mheon@redhat.com>

view details

Giuseppe Scrivano

commit sha 9faa6456da8f1a0bb647148802f89d498348a570

networking: fix segfault when slirp4netns is missing fixes a segfault when slirp4netns is not installed and the slirp sync pipe is not created. Closes: https://github.com/containers/libpod/issues/4113 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

view details

Giuseppe Scrivano

commit sha fc13aa1f6aa514eb02f99ec092e0f479b487b001

network: hide EPERM warning when rootless if running rootless do not print a warning message when podman cannot rejoin the initial network namespace. The first network namespace is owned by root on the host, a rootless user cannot re-join it once it moves to a new network namespace. Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

view details

dependabot-preview[bot]

commit sha 2b7a7a084e2adcd1a104aafbee02f824bb428052

Bump github.com/containernetworking/plugins from 0.8.1 to 0.8.2 Bumps [github.com/containernetworking/plugins](https://github.com/containernetworking/plugins) from 0.8.1 to 0.8.2. - [Release notes](https://github.com/containernetworking/plugins/releases) - [Commits](https://github.com/containernetworking/plugins/compare/v0.8.1...v0.8.2) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Signed-off-by: Valentin Rothberg <rothberg@redhat.com>

view details

OpenShift Merge Robot

commit sha 5d344db8d776190568df9c3b73fd22b632c9c135

Merge pull request #4155 from mheon/bump-1.6.0 Bump to v1.6.0

view details

Giuseppe Scrivano

commit sha ec940b08c6149d91cf969cb9b56299058c739735

rootless: do not attempt a CNI refresh Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

view details

Giuseppe Scrivano

commit sha dc71a9ebd03805dec993aa86eaa4ec3e95722c60

network: add workaround for slirp4netns --enable-sandbox issue add a workaround for https://github.com/rootless-containers/slirp4netns/pull/153 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>

view details

Chris Evich

commit sha 0b5100ff79c422bf21d9ecc25107be9150881ca7

Cirrus: Show names/versions of critical packages Adds an output to all testing tasks which lists the names/versions of critical/essential packages present on the VM. Signed-off-by: Chris Evich <cevich@redhat.com>

view details

OpenShift Merge Robot

commit sha 049aafa4c094f604b1985fe3975762573d7f64e7

Merge pull request #4090 from vrothberg/build-catatonit Build catatonit

view details

OpenShift Merge Robot

commit sha 8f2ec8813d84e2b68f63d21573ac8da15d01f9f9

Merge pull request #4151 from containers/dependabot/go_modules/github.com/containernetworking/plugins-0.8.2 Bump github.com/containernetworking/plugins from 0.8.1 to 0.8.2

view details

dependabot-preview[bot]

commit sha 6c72b5c5926fdaed67936f0b1c6f948e3bf5c441

Bump github.com/onsi/gomega from 1.5.0 to 1.7.0 Bumps [github.com/onsi/gomega](https://github.com/onsi/gomega) from 1.5.0 to 1.7.0. - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](https://github.com/onsi/gomega/compare/v1.5.0...v1.7.0) Signed-off-by: dependabot-preview[bot] <support@dependabot.com> Signed-off-by: Valentin Rothberg <rothberg@redhat.com>

view details

OpenShift Merge Robot

commit sha 7e47abe1f71c90d602fdd153e84e119743763f45

Merge pull request #4154 from cevich/show_packages Cirrus: Show names/versions of critical packages

view details

OpenShift Merge Robot

commit sha abb152321012f56964e01e0ff3ca223fda44cb99

Merge pull request #4157 from giuseppe/slirp4netns-workaround network: add workaround for slirp4netns --enable-sandbox issue

view details

Chris K

commit sha c42e46fd87c42e39eb624476195d29fdfc512a31

install.md: add libbtrfs-dev for Debian build Original-author: @hugelgupf Replaces: #4050 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>

view details

push time in 2 months

PR opened containers/libpod

[DO NOT MERGE] Image mount

Mount image option added to podman mount. This PR depends on https://github.com/containers/storage/pull/438

Creating PR in parallel to discuss implementation.

Fixes: https://github.com/containers/libpod/issues/1433

+188 -6

0 comment

11 changed files

pr created time in 2 months

create barnchkunalkushwaha/libpod

branch : image-mount

created branch time in 2 months

pull request commentcontainers/storage

new interface for MountImage added

This PR is for https://github.com/containers/libpod/issues/1433.

@rhatdan Please see if this looks okay.

  • Is options need to be checked here or functions that invoke this Interface should take care of that?
kunalkushwaha

comment created time in 2 months

PR opened containers/storage

new interface for MountImage added

Interface added to mount image rootfs without any container. image can be mounted in ReadOnly or ReadWrite mode.

Signed-off-by: Kunal Kushwaha kunal.kushwaha@gmail.com

+30 -0

0 comment

1 changed file

pr created time in 2 months

create barnchkunalkushwaha/storage

branch : store-image-mount

created branch time in 2 months

issue commentcontainers/libpod

Mount image filesystem

Hi @vrothberg Yes, I started working on this now.

/assign

lachmanfrantisek

comment created time in 2 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha be9dbb47d2212c453e3c417a70d4e6d26d5107e4

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 2 months

pull request commentcontainers/libpod

podman import syntax fix

have added these testcases.

I think parseChanges() works as expected as of now. Though It can be improved with various implementations and we can do it in next PR as discussed earlier. We can add more testcases too along with that. I would request to merge this PR if no serious issues pending against it.

kunalkushwaha

comment created time in 2 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 21363a6442022fc9c6fd05e70a363915f24f27a5

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 039b44ea11615f8942c674580924fb7462f13013

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 7cf973d694542cfbeb41abc98469053afa931c8c

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 2 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func TestStringInSlice(t *testing.T) { 	// string is not in empty slice 	assert.False(t, StringInSlice("one", []string{})) }++func TestParseChanges(t *testing.T) {+	// CMD=/bin/sh+	_, vals, err := ParseChanges("CMD=/bin/sh")+	assert.EqualValues(t, []string{"/bin/sh"}, vals)+	assert.NoError(t, err)+	// CMD [/bin/sh]+	_, vals, err = ParseChanges("CMD [/bin/sh]")+	assert.EqualValues(t, []string{"/bin/sh"}, vals)+	assert.NoError(t, err)++	// CMD ["/bin/sh"]+	_, vals, err = ParseChanges(`CMD ["/bin/sh"]`)+	assert.EqualValues(t, []string{`"/bin/sh"`}, vals)+	assert.NoError(t, err)++	// CMD ["/bin/sh", "-c", "ls"]+	_, vals, err = ParseChanges(`CMD ["/bin/sh","c","ls"]`)

comma is not checked for invalid value

kunalkushwaha

comment created time in 2 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 966f2d90ba7d98e49896682978374f741b8909b5

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 80b605a2ee1f390df2e5edf9e3eb04b305eb3d6e

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 565448c86134a4a459c02474e8cce360832db71e

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func TestStringInSlice(t *testing.T) { 	// string is not in empty slice 	assert.False(t, StringInSlice("one", []string{})) }++func TestParseChanges(t *testing.T) {+	// CMD=/bin/sh+	_, vals, err := ParseChanges("CMD=/bin/sh")+	assert.EqualValues(t, []string{"/bin/sh"}, vals)+	assert.NoError(t, err)+	// CMD [/bin/sh]+	_, vals, err = ParseChanges("CMD [/bin/sh]")+	assert.EqualValues(t, []string{"/bin/sh"}, vals)+	assert.NoError(t, err)++	// CMD ["/bin/sh"]+	_, vals, err = ParseChanges(`CMD ["/bin/sh"]`)+	assert.EqualValues(t, []string{`"/bin/sh"`}, vals)+	assert.NoError(t, err)++	// CMD ["/bin/sh", "-c", "ls"]+	_, vals, err = ParseChanges(`CMD ["/bin/sh","c","ls"]`)+	assert.EqualValues(t, []string{`"/bin/sh"`, `"c"`, `"ls"`}, vals)+	assert.NoError(t, err)++	// CMD "/bin/sh"]+	_, _, err = ParseChanges(`CMD "/bin/sh"]`)+	assert.Equal(t, `invalid value "/bin/sh"]`, err.Error())++	// CMD [bin/sh+	_, _, err = ParseChanges(`CMD "/bin/sh"]`)+	assert.Equal(t, `invalid value "/bin/sh"]`, err.Error())++	// CMD ["/bin /sh"]+	_, _, err = ParseChanges(`CMD ["/bin /sh"]`)+	assert.Equal(t, `invalid value "/bin /sh"`, err.Error())++	// CMD?+	_, _, err = ParseChanges(`CMD?`)+	assert.Equal(t, `invalid format CMD?`, err.Error())++	// empty values for CMD+	_, _, err = ParseChanges(`CMD `)+	assert.Equal(t, `invalid value `, err.Error())+

I added the testcase for this.

kunalkushwaha

comment created time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func StringInSlice(s string, sl []string) bool { 	return false } +// ParseChanges returns key, value(s) pair for given option.+func ParseChanges(option string) (key string, vals []string, err error) {+	// Supported format as below+	// 1. key=value+	// 2. key value+	// 3. key ["value","value1"]+	if strings.Contains(option, " ") {+		// This handles 2 & 3 conditions.+		var val string+		tokens := strings.SplitAfterN(option, " ", 2)+		if len(tokens) < 2 {+			return "", []string{}, fmt.Errorf("invalid key value %s", option)+		}+		key = strings.Trim(tokens[0], " ") // Need to trim whitespace part of delimeter.+		val = tokens[1]+		if strings.Contains(tokens[1], "[") && strings.Contains(tokens[1], "]") {+			//Trim '[',']' if exist.+			val = strings.TrimLeft(strings.TrimRight(tokens[1], "]"), "[")+		}+		vals = strings.Split(val, ",")+	} else if strings.Contains(option, "=") {+		// handles condition 1.+		tokens := strings.Split(option, "=")+		key = tokens[0]+		vals = tokens[1:]+	} else {+		// either ` ` or `=` must be provided after command+		return "", []string{}, fmt.Errorf("invalid format %s", option)+	}

with current logic, it will be an error case. Though we can remove whitespaces in this condition. Please let me know WDYT.

kunalkushwaha

comment created time in 3 months

push eventkunalkushwaha/docker

Kunal Kushwaha

commit sha 8b7bbf180fc65013bc9ec0269b4a475d3eb038ee

builder entitlements configutation added. buildkit supports entitlements like network-host and security-insecure. this patch aims to make it configurable through daemon.json file. by default network-host is enabled & secuirty-insecure is disabled. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 27244598f2b6924ebe4e2126fb5bdb1766d98473

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 9282b39456dab8928c949285ebe8430345b99a9c

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 26206dfa9d4c00d83231b35b8eaf4e7331837c53

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

pull request commentcontainers/libpod

podman import syntax fix

Hi @vrothberg I have added unit test for ParseChages. PTAL

kunalkushwaha

comment created time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha fd6030001528a265514d43ac7c31fe24ff2f66bd

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 9dd923f27958ad76cda0f64d570e7849aa24bcf6

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha aba1b83cc966dba7b9833752c0c94b1c6a362eaf

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func StringInSlice(s string, sl []string) bool { 	return false } +// ParseChanges returns key, value(s) pair for given option.+func ParseChanges(option string) (key string, vals []string) {+	// Supported format as below+	// 1. key=value+	// 2. key value+	// 3. key ["value","value1"]

@vrothberg PTAL

kunalkushwaha

comment created time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 04e117080412b7ec0691e676652016ec868dc737

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 68be71234c5726d30a926b6dc4e9367bbfa3f65b

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha f8e8e049e262d1cc81f22e984eb5671621ba163d

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func StringInSlice(s string, sl []string) bool { 	return false } +// ParseChanges returns key, value(s) pair for given option.+func ParseChanges(option string) (key string, vals []string) {+	// Supported format as below+	// 1. key=value+	// 2. key value+	// 3. key ["value","value1"]

I will check each string for validity + brackets

kunalkushwaha

comment created time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func StringInSlice(s string, sl []string) bool { 	return false } +// ParseChanges returns key, value(s) pair for given option.+func ParseChanges(option string) (key string, vals []string) {+	// Supported format as below+	// 1. key=value+	// 2. key value+	// 3. key ["value","value1"]

I am trying to comeup with regex, but it will agin be mix of manual parsing + regex as each 3 use case are different.(I am not regex expert).

It will be nice, if we can add regex in next PR.

kunalkushwaha

comment created time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha db8b45c1a2b32ecebc0e596b662c4ae4ff3898fb

new examples added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 875d038ae52045f489d3e99dde74ad2763ffa5ee

new example added updated two examples with supported CMD and ENTRYPOINT syntax. Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>

view details

push time in 3 months

pull request commentcontainers/libpod

podman import syntax fix

I re-run the test, I guess that results into all green :)

kunalkushwaha

comment created time in 3 months

pull request commentcontainers/libpod

podman import syntax fix

Not sure, why these tests failing. 126 is expected output and it seems it is returning also 126. Also these test are not related to added test or code.

[+1057s] [Fail] Podman run exit [It] podman run exit 126 
[+1057s] /var/tmp/go/src/github.com/containers/libpod/test/e2e/run_exit_test.go:46
[+1057s] 
[+1057s] [Fail] Podman run exit [It] podman run exit 126 
[+1057s] /var/tmp/go/src/github.com/containers/libpod/test/e2e/run_exit_test.go:46
[+1057s] 
[+1057s] [Fail] Podman run exit [It] podman run exit 126 
[+1057s] /var/tmp/go/src/github.com/containers/libpod/test/e2e/run_exit_test.go:46
[+1057s] 
[+1057s] [Fail] Podman run [It] podman run exit code on failure to exec 
[+1057s] /var/tmp/go/src/github.com/containers/libpod/test/e2e/run_test.go:633
[+1057s] 
[+1057s] [Fail] Podman run [It] podman run exit code on failure to exec 
[+1057s] /var/tmp/go/src/github.com/containers/libpod/test/e2e/run_test.go:633
kunalkushwaha

comment created time in 3 months

issue commentcontainers/libpod

Mount image filesystem

If no one is working on this, I can work on this.

I think this could be done, fairly easily but we would need interfaces added to containers/storage to mount an image read/only with no upper container.

Can this be done with a dummy container config without new top layer, which will be deleted with umount?

lachmanfrantisek

comment created time in 3 months

issue commentcontainers/libpod

Copy/Move images between users

ping @mtrmac @vrothberg

whitel

comment created time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha d0b4e9d8c1914cae60903567ec402d2781908e8f

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 6baeaff142ca87345e81bcede1722b645e738e33

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 77f775f9a9ab2aadce1cf1459e9f8b9288fab040

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha c17604177d7cab43a7f869b9ef6c67e2b2d42e37

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func StringInSlice(s string, sl []string) bool { 	return false } +// ParseChanges returns key, value(s) pair for given option.+func ParseChanges(option string) (key string, vals []string) {+	// Supported format as below+	// 1. key=value+	// 2. key value+	// 3. key ["value","value1"]+	if strings.Contains(option, " ") {+		// This handles 2 & 3 conditions.+		var val string+		tokens := strings.SplitAfterN(option, " ", 2)+		key = strings.Trim(tokens[0], " ") // Need to trim whitespace part of delimeter.+		val = tokens[1]+		if strings.Contains(tokens[1], "[") {+			//Trim '[',']' if exist.+			val = strings.TrimLeft(strings.TrimRight(tokens[1], "]"), "[")+		}+		vals = strings.Split(val, ",")+	} else if strings.Contains(option, "=") {+		// handles condition 1.+		tokens := strings.Split(option, "=")

In case of parameters like KEY=Opt=val2, This will not work or we need one more split.

kunalkushwaha

comment created time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func init() { 	importCommand.SetHelpTemplate(HelpTemplate()) 	importCommand.SetUsageTemplate(UsageTemplate()) 	flags := importCommand.Flags()-	flags.StringSliceVarP(&importCommand.Change, "change", "c", []string{}, "Apply the following possible instructions to the created image (default []): CMD | ENTRYPOINT | ENV | EXPOSE | LABEL | STOPSIGNAL | USER | VOLUME | WORKDIR")+	flags.StringArrayVarP(&importCommand.Change, "change", "c", []string{}, "Apply the following possible instructions to the created image (default []): CMD | ENTRYPOINT | ENV | EXPOSE | LABEL | STOPSIGNAL | USER | VOLUME | WORKDIR")

This was required as StringSlice* functions treat , as delimiter.

kunalkushwaha

comment created time in 3 months

Pull request review commentcontainers/libpod

podman import syntax fix

 func StringInSlice(s string, sl []string) bool { 	return false } +// ParseChanges returns key, value pair for given option.+func ParseChanges(option string) []string {+	// Supported format as below+	// key=value+	// key value+	// key ["value"]+	var keyValPair []string+	var val string+	if strings.Contains(option, "=") {

updated code supports this now.

kunalkushwaha

comment created time in 3 months

pull request commentcontainers/libpod

podman import syntax fix

Updated the PR with changes. CMD and Entrypoints both supports string array as expected with this update.

kunalkushwaha

comment created time in 3 months

push eventkunalkushwaha/libpod

Kunal Kushwaha

commit sha 6b8cfcb2f8d58e06dc279133765fc36485b8068a

syntax updated for podman import --change currently, podman import change do not support syntax like - KEY val - KEY ["val"] This adds support for both of these syntax along with KEY=val Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

Kunal Kushwaha

commit sha 479c66eca59a25b09770f971ce9e70d4992c0e1d

new testcase for podman import --change added Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

PR opened containers/libpod

podman import syntax fix
syntax updated for podman import --change

currently, podman import change do not support syntax like
- KEY val
- KEY ["val"]
This adds support for both of these syntax along with KEY=val

Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>
+65 -2

0 comment

2 changed files

pr created time in 3 months

create barnchkunalkushwaha/libpod

branch : podman-import-fix

created branch time in 3 months

issue commentcontainers/libpod

`import -c 'CMD...'` behavior does not match

almost there.. shall make a PR soon.

vbatts

comment created time in 3 months

issue commentcontainers/libpod

`import -c 'CMD...'` behavior does not match

How about supporting all three syntax.

i.e.

--change CMD=/bin/bash

--change CMD /bin/bash

--change CMD ["/bin/bash"]
vbatts

comment created time in 3 months

issue commentcontainers/libpod

`import -c 'CMD...'` behavior does not match

currently, the changes are parsed with = only. https://github.com/containers/libpod/blob/a16f63e96e9993a1e2542b6f5c85903cc4659c6e/pkg/util/utils.go#L92

need to be fixed.

vbatts

comment created time in 3 months

issue commentcontainers/libpod

Copy/Move images between users

One way I feel sharing of images can be done without much changes in current workflow is as below.

  • The .. .local/share/containers/storage/vfs-layers & .. .local/share/containers/storage/vfs-layers of users will be changed to 0755 mode.

  • When user foo wants to list the images of user bar too, shall use command e.g podman images -u bar

    • Here, based on parsing of files images.json, images from user bar can be displayed.
      • images from other user can be shown with prefix the <user-name>:
      • Since this is corner case, but yet very useful, parsing (slow opetation) may be acceptable.
      • Though not sure, how detailed information can be shown here.
      • e.g.
$ podman images -u bar
REPOSITORY                 TAG      IMAGE ID       CREATED         SIZE
docker.io/library/alpine   latest   961769676411   3 weeks ago     5.85 MB
k8s.gcr.io/pause           3.1      da86e6ba6ca1   21 months ago   747 kB
bar:localhost/kk/test      latest   bd8asdrfa4c1   --              --             
  • A user foo can import he image from user bar with command like podman image copy -u bar localhost/kk/test:latest

    • On this manifest and tar blobs can be read from bar user folders (which is read-only for user foo)
    • image will be extracted to .. .local/share/containers/storage/vfs folder.
    • Since each user can have different graph file-system, complexity of file-system to file-system copy will not be there
  • Few things we need to still think like

    • how to keep reference of such imported images in image store?
    • Will user foo be allowed to push the base image?

Please let me know WDYT on this. I can try to implement as prototype to see any more practical difficulties that we may face while implementation.

whitel

comment created time in 3 months

issue commentcontainers/libpod

Copy/Move images between users

Hi @mtrmac @giuseppe, I have one doubt. Can we separate out image download logic with untar to file-system?

Downloaded tars + metadata (manifest) can be shared among users. I think that should not have any security concern.

whitel

comment created time in 3 months

startednushell/nushell

started time in 3 months

push eventkunalkushwaha/docker

Kunal Kushwaha

commit sha 4a21d0eb5265607fcdbd33ab087ffccfff2b2efc

builder entitlements configutation added. buildkit supports entitlements like network-host and security-insecure. this patch aims to make it configurable through daemon.json file. by default network-host is enabled & secuirty-insecure is disabled. Signed-off-by: Kunal Kushwaha <kunal.kushwaha@gmail.com>

view details

push time in 3 months

more