Commit Graph

50 Commits

Author SHA1 Message Date
Tim Zhang
f44ae5d4da release: v0.5.0
Bump major(minor actually) version for incompatible changes in #154.

Changelog:
- #152
- #154
- #159

Signed-off-by: Tim Zhang <tim@hyper.sh>
2025-11-21 10:31:47 +08:00
Tim Zhang
daa71aca91 release: v0.4.0
Changelog:
- #148
- #149

Signed-off-by: Tim Zhang <tim@hyper.sh>
2025-07-22 18:11:47 +08:00
Xuewei Niu
c774e9e123 manager: Add unit test cases
The tests cover the methods of `conv` mod, `FsManager`, and
`SystemdManager`. Since we have to manipulate the cgroups during testing,
the tests related to this part are set to be run in sequence.

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2025-07-18 15:17:12 +08:00
Xuewei Niu
d69517847b systemd: Add unit test cases
The tests cover `SystemdClient` and methods from `utils` mods.

Please note that the `SystemdClient` tests do not run well in parallel, but
work well in sequence. Please run them with `--test-threads=1`.

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2025-07-18 15:17:12 +08:00
Xuewei Niu
4a68c762e1 systemd: Add support for managing cgroups through systemd
`SystemdCgroup` takes a `parent`, which is the name of a slice, and a
`unit`, which is the name of a slice or a scope unit, and provides methods
to start, kill the unit, as well as set properties for the unit.

The mods, `cpu`, `memory`, `cpuset`, and `pids`, are designed to generate
properties quickly. It hides the difference between cgroups v1 and v2, and
does simple checks for the systemd version and arguments.

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2025-07-18 15:17:12 +08:00
Xuewei Niu
1250cbe182 manager: Introduce FsManager
`Manager` is a trait to unify the interface of cgroups. It is designed for
OCI containers. Its `set()` takes Linux resources of the OCI spec to set
cgroups.

The `FsManager`, the concrete implementation of `Manager`, manipulates
cgroups through cgroupfs, and supports both cgroups v1 and v2.

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2025-07-18 15:17:12 +08:00
Fupan Li
2536e33696 Merge pull request #143 from oguzbilgener/no-regex
refactor: Parse HugeTLB size without Regex
2025-06-12 10:23:34 +08:00
Oguz Bilgener
694627e2fc refactor: Parse HugeTLB size without Regex
This removes the only place the regex crate is used, which could lead to significant binary size savings in projects that don't use the regex craate.

Signed-off-by: Oguz Bilgener <oguz@bilgener.me>
2025-05-29 11:05:53 -04:00
Fabiano Fidêncio
e0d0b8f4bc release: v0.3.5
There are several fixes since the last release, and itś been a few years
waiting for a new one.

Signed-off-by: Fabiano Fidêncio <fidencio@northflank.com>
2025-05-29 08:53:03 +02:00
Tim Zhang
346844ca72 release: v0.3.4
To include #126, #127, #129

Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-10-25 14:48:38 +08:00
Xuewei Niu
8a82ad0ac2 release: v0.3.3
The included patches are

- 89edba0f85: gha: Bump Rust version to 1.69.0
- 66a93b1c3d: devices: Throw an error if device resources are invalid
- 55505e0b3e: Minor changes for cgroup and devices subsystem
- 0b6b229a38: add .path() method

Signed-off-by: Xuewei Niu <niuxuewei.nxw@antgroup.com>
2023-08-03 15:11:31 +08:00
Tim Zhang
45e1f0c274 release: v0.3.2
To include patches #104, #113.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-03-15 10:50:12 +08:00
Tim Zhang
51779d6915 release: v0.3.1
To include patches #105, #108, #110.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-02-07 16:22:48 +08:00
Tim Zhang
2f60f213cc release: v0.3.0
Bump the major version for API changed in #91.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-01-11 20:08:37 +08:00
Tim Zhang
e845665b3a release: v0.2.12
To include patches #91, #94, #98, #99

Signed-off-by: Tim Zhang <tim@hyper.sh>
2023-01-11 11:22:27 +08:00
bin liu
d387c6edc7 error: introduce thiserror to add path to error message
For some cgroup file operations, when failed, add the path
and the value (for write operation) to the error message.

Fixes: #93

Signed-off-by: bin liu <liubin0329@gmail.com>
2022-11-18 17:46:02 +08:00
Tim Zhang
860b484a30 release: v0.2.11
Release version 0.2.11

Signed-off-by: Tim Zhang <tim@hyper.sh>
2022-09-23 19:10:10 +08:00
Tim Zhang
3340211c6e release: v0.2.10
Release version 0.2.10

Signed-off-by: Tim Zhang <tim@hyper.sh>
2022-06-29 16:44:00 +08:00
Ryan Zoeller
476219ab93 Upgrade nix to 0.24, limit features
This removes memoffset as an indirect dependency, and should decrease build times slightly.

Signed-off-by: Ryan Zoeller <rtzoeller@rtzoeller.com>
2022-04-30 18:37:57 -05:00
Tim Zhang
1bdd52470f release: v0.2.9
Release version 0.2.9

Signed-off-by: Tim Zhang <tim@hyper.sh>
2022-03-03 10:37:13 +08:00
Tim Zhang
0686400268 release: v0.2.8
Bump version from 0.2.7 to 0.2.8

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-12-17 17:40:45 +08:00
James O. D. Hunt
e0bf36ae23 cargo: Update nix to latest version
Update the `nix` crate to version `0.23.0` to resolve a dependency
issue related to making `cargo audit` run cleanly for the Kata
Containers agent.

See:

https://github.com/kata-containers/kata-containers/pull/3125

Fixes: #66.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2021-11-26 11:17:58 +00:00
Tim Zhang
0bc1b9821b release: v0.2.7
Bump version from 0.2.6 to 0.2.7

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-11-11 11:25:28 +08:00
Jon Magnuson
88b7aafd05 deps: update nix to 0.20.2
Enforces use of a version of nix which contains a patch for
RUSTSEC-2021-0119.

Fixes #58

Signed-off-by: Jon Magnuson <jon.magnuson@gmail.com>
2021-10-28 22:27:58 -05:00
Felix Obenhuber
09499e7614 Add Serialize/Deserialize to resource and stat types
Add feature "serde" that derives all resource and statistics types from
Serialize and Deserialize. The feature is turned off by default.

Fixes #54
Fixes #55
Fixes #56

Signed-off-by: Felix Obenhuber <felix@obenhuber.de>
2021-08-03 09:55:10 +02:00
Tim Zhang
2554aa65d0 release: v0.2.6
Bump version from 0.2.5 to 0.2.6

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-06-30 20:36:34 +08:00
Tim Zhang
0b2a0405e2 release: v0.2.5
Bump version to 0.2.5

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-03-24 14:37:19 +08:00
Jakob Naucke
60820bfffb release: v0.2.4
Bump version from 0.2.3 to 0.2.4

Signed-off-by: Jakob Naucke <jakob.naucke@ibm.com>
2021-02-25 11:22:47 +01:00
Jakob Naucke
b9ca0a51f1 Update nix to 0.20.0
to pull in https://github.com/nix-rust/nix/pull/1372 and get statfs
MAGIC constants on s390x. Additionally, fork() calls in tests now have
to be marked unsafe.

Fixes: #37

Signed-off-by: Jakob Naucke <jakob.naucke@ibm.com>
2021-02-22 14:28:16 +01:00
Tim Zhang
79868d6bfc release: v0.2.3
Bump version from 0.2.2 to 0.2.3

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-02-02 10:24:58 +08:00
quanweiZhou
81d286f31d cgroup: get the mount info without procinfo
The procinfo library gets all the mount info,
but we don't need all the mount info.

Signed-off-by: quanweiZhou <quanweiZhou@linux.alibaba.com>
2021-02-01 11:26:54 +08:00
Tim Zhang
9ac2f5d5ab Add field homepage and readme for Cargo.toml
Display readme on the crate's page.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-01-25 17:32:24 +08:00
Tim Zhang
853ed46993 release: v0.2.2
Bump version to 0.2.2

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-01-25 12:20:30 +08:00
Tim Zhang
225388ff7c release: v0.2.1
Bump version to 0.2.1

Signed-off-by: Tim Zhang <tim@hyper.sh>
2021-01-06 22:31:04 +08:00
Tim Zhang
eb6577e3e0 Change package name to cgroups-rs
We need a new package name to create a new crate

Signed-off-by: Tim Zhang <tim@hyper.sh>
2020-12-21 15:46:30 +08:00
Tim Zhang
9baa065226 release: v0.2.0
Bump vertion to 0.2.0

Signed-off-by: Tim Zhang <tim@hyper.sh>
2020-12-17 17:56:46 +08:00
Tim Zhang
1f188be405 Detect subsystems and get root from /proc/self/mountinfo
Delete check_support and stop detecting subsystems by finding in the
root folders because the detecting method is not accurate.

Signed-off-by: Tim Zhang <tim@hyper.sh>
2020-12-17 17:56:46 +08:00
bin liu
cd2c748a74 add systemd controller; add more tests; update blkio stat for v2
Signed-off-by: bin liu <bin@hyper.sh>
2020-09-07 14:18:41 +08:00
bin liu
9fe6cb58e4 change *limit* in memory from u64 to i64
Signed-off-by: bin liu <bin@hyper.sh>
2020-08-27 23:06:44 +08:00
bin liu
9d70467327 add hugetlb functions
Signed-off-by: bin liu <bin@hyper.sh>
2020-08-25 10:58:56 +08:00
Levente Kurusa
932a6e770f Cargo: bump Rust version to 2018
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-12-23 16:32:00 +01:00
Levente Kurusa
b5e0706d6a (cargo-release) start next development iteration 0.1.1-alpha.0 2018-12-23 16:24:51 +01:00
Sam Wilson
84ae587360 Replace println! calls with logging 2018-10-12 09:49:52 +02:00
Levente Kurusa
07421b2aff blkio: parse a bunch of fields
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-16 14:43:09 +02:00
Levente Kurusa
363fa7bdbf Cargo: Up version to v0.0.2
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-03 11:09:37 +02:00
Levente Kurusa
17b6c2787a tests: pids: add a proper test
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-09-01 17:07:27 +02:00
Levente Kurusa
2e60a1f634 Relicense under MIT OR Apache-2.0
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-30 00:04:53 +02:00
Levente Kurusa
45760eedcb Cargo.toml: update
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-29 23:54:17 +02:00
Levente Kurusa
14b23e1857 pids: first draft of docs
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-28 16:08:45 +02:00
Levente Kurusa
9162c5a6ad Initial work
Signed-off-by: Levente Kurusa <lkurusa@acm.org>
2018-08-28 14:52:23 +02:00