Comments (7)
Hi @rst0git,
I would like to work on this. Do you have any suggestions on how the output should look when we handle multiple files along with arguments, such as --print-status
and/or --mounts
? .
I am thinking of something like this:
checkpointctl show /var/lib/kubelet/checkpoints/*.tar --mounts
Displaying container checkpoint data from /var/lib/kubelet/checkpoints/archive1.tar
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| CONTAINER | IMAGE | ID | RUNTIME | CREATED | ENGINE | CHKPT SIZE | ROOT FS DIFF SIZE |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| gallant_austin | docker.io/library/nginx:latest | 5e61a1e0a308 | crun | 2023-03-01T15:11:55+03:00 | Podman | 16.6 MiB | 4.5 KiB |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
Overview of Mounts
+--------------------+--------+---------------------------+
| DESTINATION | TYPE | SOURCE |
+--------------------+--------+---------------------------+
| /proc | proc | proc |
| /dev | tmpfs | tmpfs |
| /sys | sysfs | sysfs |
| /dev/pts | devpts | devpts |
| /dev/mqueue | mqueue | mqueue |
| /run/secrets | bind | ../run/secrets |
| /etc/hostname | bind | ../userdata/hostname |
| /etc/resolv.conf | bind | ../userdata/resolv.conf |
| /etc/hosts | bind | ../userdata/hosts |
| /dev/shm | bind | ../userdata/shm |
| /run/.containerenv | bind | ../userdata/.containerenv |
| /sys/fs/cgroup | cgroup | cgroup |
+--------------------+--------+---------------------------+
Displaying container checkpoint data from /var/lib/kubelet/checkpoints/archive2.tar
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| CONTAINER | IMAGE | ID | RUNTIME | CREATED | ENGINE | CHKPT SIZE | ROOT FS DIFF SIZE |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| gallant_austin | docker.io/library/nginx:latest | 5e61a1e0a308 | crun | 2023-03-01T15:11:55+03:00 | Podman | 16.6 MiB | 4.5 KiB |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
Overview of Mounts
+--------------------+--------+---------------------------+
| DESTINATION | TYPE | SOURCE |
+--------------------+--------+---------------------------+
| /proc | proc | proc |
| /dev | tmpfs | tmpfs |
| /sys | sysfs | sysfs |
| /dev/pts | devpts | devpts |
| /dev/mqueue | mqueue | mqueue |
| /run/secrets | bind | ../run/secrets |
| /etc/hostname | bind | ../userdata/hostname |
| /etc/resolv.conf | bind | ../userdata/resolv.conf |
| /etc/hosts | bind | ../userdata/hosts |
| /dev/shm | bind | ../userdata/shm |
| /run/.containerenv | bind | ../userdata/.containerenv |
| /sys/fs/cgroup | cgroup | cgroup |
+--------------------+--------+---------------------------+
Displaying container checkpoint data from /var/lib/kubelet/checkpoints/archive3.tar
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| CONTAINER | IMAGE | ID | RUNTIME | CREATED | ENGINE | CHKPT SIZE | ROOT FS DIFF SIZE |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| gallant_austin | docker.io/library/nginx:latest | 5e61a1e0a308 | crun | 2023-03-01T15:11:55+03:00 | Podman | 16.6 MiB | 4.5 KiB |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
Overview of Mounts
+--------------------+--------+---------------------------+
| DESTINATION | TYPE | SOURCE |
+--------------------+--------+---------------------------+
| /proc | proc | proc |
| /dev | tmpfs | tmpfs |
| /sys | sysfs | sysfs |
| /dev/pts | devpts | devpts |
| /dev/mqueue | mqueue | mqueue |
| /run/secrets | bind | ../run/secrets |
| /etc/hostname | bind | ../userdata/hostname |
| /etc/resolv.conf | bind | ../userdata/resolv.conf |
| /etc/hosts | bind | ../userdata/hosts |
| /dev/shm | bind | ../userdata/shm |
| /run/.containerenv | bind | ../userdata/.containerenv |
| /sys/fs/cgroup | cgroup | cgroup |
+--------------------+--------+---------------------------+
from checkpointctl.
It sounds like a good idea.
@adrianreber What do you think?
from checkpointctl.
It sounds like a good idea.
@adrianreber What do you think?
Sounds good.
The more important thing from my point of view would be to focus on unpacking only the needed files. Multiple checkpoints can be something for later.
For multiple checkpoints I would at first say to not support the additional flags. Maybe just list all the checkpoints in a single table.
from checkpointctl.
I still think I would start with a simple show all checkpoints in one table. My use case would be to get a quick overview of all checkpoints.
I also agree, using one table with an overview of all checkpoints would be more appropriate.
Example:
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| CONTAINER | IMAGE | ID | RUNTIME | CREATED | ENGINE | CHKPT SIZE | ROOT FS DIFF SIZE |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| gallant_austin | docker.io/library/nginx:latest | 5e61a1e0a308 | crun | 2023-03-01T15:11:55+03:00 | Podman | 16.6 MiB | 4.5 KiB |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| gallant_austin | docker.io/library/nginx:latest | 5e61a1e0a308 | crun | 2023-03-01T15:11:55+03:00 | Podman | 16.6 MiB | 4.5 KiB |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
| gallant_austin | docker.io/library/nginx:latest | 5e61a1e0a308 | crun | 2023-03-01T15:11:55+03:00 | Podman | 16.6 MiB | 4.5 KiB |
+----------------+--------------------------------+--------------+---------+---------------------------+--------+------------+-------------------+
from checkpointctl.
Thank you, @adrianreber, for your feedback. I will also start thinking about #51.
from checkpointctl.
Thank you, @adrianreber, for your feedback. I will also start thinking about #51.
Ah, sorry. I got confused. I thought this was #51. Then my comment does not make so much sense.
I still think I would start with a simple show all checkpoints in one table. My use case would be to get a quick overview of all checkpoints.
Details are not so important in that case at first.
from checkpointctl.
Alright, I agree that it would be better to initially not support additional flags when handling multiple files.
What do you think, @rst0git?
from checkpointctl.
Related Issues (20)
- Make command fails HOT 9
- Release 1.1.X+ to remove indirect dependency related to CVE-2024-21626 HOT 2
- Dead link to Podman checkpoint HOT 1
- Add support for checkpoint conversion for different container runtimes/engines HOT 3
- Display network information of checkpoints created with Podman HOT 2
- Doubt - Relation with Kubernetes HOT 2
- Versioning? HOT 5
- Showing env and mounts HOT 2
- Do not unpack the whole checkpoint archive HOT 4
- Extend checkpointctl to convert checkpoint archives to OCI images HOT 2
- Add support for list command HOT 7
- Add integration test with podman HOT 3
- Process tree output looks not totally correct. HOT 7
- Extend the output format with a tree view HOT 1
- Extend `inspect` output format with JSON HOT 3
- Refactor `checkpointctl.go` and move commands into individual files HOT 16
- Update `README.md`
- Prune process tree by PID if specified
- Statisitics output adds `us` everywhere
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from checkpointctl.