Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with netem delay examples #273

Open
pedro-psb opened this issue Mar 24, 2025 · 0 comments
Open

Help with netem delay examples #273

pedro-psb opened this issue Mar 24, 2025 · 0 comments

Comments

@pedro-psb
Copy link

Hello,
I'm trying out the delay example but couldn't get it to work.
Any idea on what to look for here?

Host info

$ docker --version
Docker version 28.0.1, build 068a01e

$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="41 (Workstation Edition)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=41
VERSION_CODENAME=""
PLATFORM_ID="platform:f41"

$ pumba --version
Pumba version 0.11.6 - [HEAD:1f828ad] 2025-03-17 17:28 UTC

Run

After running these two in two panes, the ping times does not change.

Pane 1:

$ docker run -it --rm --name ping  alpine ping 1.1.1.1  # also tried with example.com and others, same result
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: seq=0 ttl=57 time=16.240 ms
64 bytes from 1.1.1.1: seq=1 ttl=57 time=16.219 ms
64 bytes from 1.1.1.1: seq=2 ttl=57 time=16.063 ms
...

Pane 2:

> pumba --log-level debug netem --interface eth0 --duration 5m delay --time 3000 ping
DEBU[0000] using names                                   names="[ping]"
DEBU[0000] adding network delay to all matching containers
DEBU[0000] listing matching containers                   labels="[]" limit=0 names="[ping]" pattern= random=false
DEBU[0000] listing containers
DEBU[0000] found container                               id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 name=/ping
DEBU[0000] adding network delay for container            container="&{{0xc0004ac2c0 [] 0xc0004e83c0 0xc0004f6100} {sha256:aded1e1a5b3705116fa0a92ba074a5e0b0031647d9c315983ccba2ee5428ec8b [alpine:latest] [alpine@sha256:a8560b36e8b8210634f77d9f7f9efd7ffa463e380b75e2e74aff4511df3ef88c]  buildkit.dockerfile.v0 2025-02-14T03:28:36Z  0xc000408dc0   0xc000408f00 amd64  linux  7834312 7834312 {map[MergedDir:/var/lib/docker/overlay2/b4551bef9225a3a97c0f36fca84bbae736a071d0917b2cf0ccd9e3dfee826a26/merged UpperDir:/var/lib/docker/overlay2/b4551bef9225a3a97c0f36fca84bbae736a071d0917b2cf0ccd9e3dfee826a26/diff WorkDir:/var/lib/docker/overlay2/b4551bef9225a3a97c0f36fca84bbae736a071d0917b2cf0ccd9e3dfee826a26/work] overlay2} {layers [sha256:08000c18d16dadf9553d747a58cf44023423a9ab010aab96cf263d2216b8b350]} {0001-01-01 00:00:00 +0000 UTC}}}"
DEBU[0000] running netem command                         dports="[]" duration=5m0s id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 iface=eth0 ips="[]" name=/ping netem="[delay 3000ms 10ms 20.00]" pull=true sports="[]" tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
INFO[0000] running netem on container                    command="[delay 3000ms 10ms 20.00]" dports="[]" dryrun=false duration=5m0s id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 ips="[]" name=/ping pull=true sports="[]" tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0000] start netem for container                     dryrun=false id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 iface=eth0 name=/ping netem="delay 3000ms 10ms 20.00" pull=true tcimage="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0000] adding netem qdisc                            netem="qdisc add dev eth0 root netem delay 3000ms 10ms 20.00"
DEBU[0000] executing tc command in a separate container joining target container network namespace  args-list="[[qdisc add dev eth0 root netem delay 3000ms 10ms 20.00]]" container=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 pull=true tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0000] network mode                                  network="container:e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744"
DEBU[0000] pulling tc-image                              image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0000] &{Pulling from alexei-led/pumba-alpine-nettools   {0 0}}
DEBU[0000] &{Digest: sha256:61d1b60f2762edd46df25df72f2745fabf563961847b236cc89513897347a243   {0 0}}
DEBU[0000] &{Status: Image is up to date for ghcr.io/alexei-led/pumba-alpine-nettools:latest   {0 0}}
DEBU[0000] creating tc-container                         image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0000] tc container created, starting it             id=b75455fc595c64d4a6d660985248180d6c96914a86a0b72f1bea9be4841175ff
DEBU[0001] run command on tc-container                   args="qdisc add dev eth0 root netem delay 3000ms 10ms 20.00"
DEBU[0001] netem command started                         dports="[]" duration=5m0s id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 iface=eth0 ips="[]" name=/ping netem="[delay 3000ms 10ms 20.00]" pull=true sports="[]" tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
# hangs here. Then ctrl-c
^CDEBU[0015] Received signal: 2
DEBU[0015] Canceling running chaos commands ...
DEBU[0015] Gracefully exiting after some cleanup ...
DEBU[0015] stopping netem command on abort               dports="[]" duration=5m0s id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 iface=eth0 ips="[]" name=/ping netem="[delay 3000ms 10ms 20.00]" pull=true sports="[]" tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
INFO[0015] stopping netem on container                   IPs="[]" dports="[]" dryrun=false id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 iface=eth0 name=/ping pull=true sports="[]" tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0015] stop netem for container                      IPs="[]" dryrun=false id=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 iface=eth0 name=/ping pull=true tcimage="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0015] executing tc command in a separate container joining target container network namespace  args-list="[[qdisc del dev eth0 root netem]]" container=e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744 pull=true tc-image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0015] network mode                                  network="container:e31f6d2727b7e59ce2ef89e97cdc8ac367a589b5a111935048c57bfdc26bc744"
DEBU[0015] pulling tc-image                              image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0015] &{Pulling from alexei-led/pumba-alpine-nettools   {0 0}}
DEBU[0015] &{Digest: sha256:61d1b60f2762edd46df25df72f2745fabf563961847b236cc89513897347a243   {0 0}}
DEBU[0015] &{Status: Image is up to date for ghcr.io/alexei-led/pumba-alpine-nettools:latest   {0 0}}
DEBU[0016] creating tc-container                         image="ghcr.io/alexei-led/pumba-alpine-nettools:latest"
DEBU[0016] tc container created, starting it             id=6b297e738efc66191ed273fe9d371b5c26a1b2c0c140836291a1d8a70bf845ae
DEBU[0016] run command on tc-container                   args="qdisc del dev eth0 root netem"

Aditional info

The container ifconfig:

> docker run -it --rm --name ping  alpine ifconfig
eth0      Link encap:Ethernet  HWaddr 3A:29:A4:B3:83:9C
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:314 (314.0 B)  TX bytes:42 (42.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant