abiosoft / colima

Container runtimes on macOS (and Linux) with minimal setup
MIT License
18.75k stars 381 forks source link

No IP address with --network-address after upgrading to macOS 13.5.2 #806

Open chyyran opened 1 year ago

chyyran commented 1 year ago

Description

I think this issue showed up since macOS 13.5.2, but --network-address no longer exposes an address. I tried the steps in #801 but it does not help.

❯ colima start --very-verbose  --network-address
TRAC[0000] cmd ["limactl" "info"]                       
TRAC[0000] cmd ["limactl" "list" "colima" "--json"]     
TRAC[0000] error retrieving running instance: instance 'colima' does not exist 
INFO[0000] starting colima                              
INFO[0000] runtime: docker                              
INFO[0000] preparing network ...                         context=vm
TRAC[0000] cmd ["/opt/homebrew/bin/colima" "daemon" "status" "default"] 
TRAC[0000] cmd ["/opt/homebrew/bin/colima" "daemon" "start" "default" "--vmnet" "--gvproxy" "--gvproxy-hosts" "host.docker.internal=host.lima.internal" "--very-verbose"] 
TRAC[0000] cmd ["/opt/homebrew/bin/colima" "daemon" "status" "default"] 
TRAC[0001] cmd ["/opt/homebrew/bin/colima" "daemon" "status" "default"] 
INFO[0001] creating and starting ...                     context=vm
TRAC[0001] cmd ["limactl" "start" "--tty=false" "/var/folders/5m/5ybggt7n7q1d_pj4hn8fz1j40000gn/T/colima.yaml"] 
> Terminal is not available, proceeding without opening an editor
> `mountType: 9p` is experimental
> "QEMU binary \"/Users/chyyran/.colima/_wrapper/3a9197e1ca3cd2da076da2b473d7a7eb118e2cca/bin/qemu-system-aarch64\" is not properly signed with the \"com.apple.security.hypervisor\" entitlement" error="binary \"/Users/chyyran/.colima/_wrapper/3a9197e1ca3cd2da076da2b473d7a7eb118e2cca/bin/qemu-system-aarch64\" seems signed but lacking the \"com.apple.security.hypervisor\" entitlement"
> You have to sign the QEMU binary with the "com.apple.security.hypervisor" entitlement manually. See https://github.com/lima-vm/lima/issues/1742 .
> "Attempting to download the image" arch=aarch64 digest="sha512:84c93e8aaa09446618bf87daa993e260da69b50e95670aed5df6671b2cff9464810752cbf70f6ee5ddf9d3e1c91d98104b3c573cc024c5f0687ad3f4d2e93ebc" location="https://github.com/abiosoft/alpine-lima/releases/download/colima-v0.5.5/alpine-lima-clm-3.18.0-aarch64.iso"
> Using cache "/Users/chyyran/Library/Caches/lima/download/by-url-sha256/bbac3cc01786365dbff7aa3e7c1dc2dcc8ee0aeacd6df51bce9840c8feeca75f/data"
> [hostagent] Starting QEMU (hint: to watch the boot progress, see "/Users/chyyran/.lima/colima/serial*.log")
> SSH Local Port: 53438
> [hostagent] Waiting for the essential requirement 1 of 3: "ssh"
> [hostagent] Waiting for the essential requirement 1 of 3: "ssh"
> [hostagent] Waiting for the essential requirement 1 of 3: "ssh"
> [hostagent] Waiting for the essential requirement 1 of 3: "ssh"
> [hostagent] Waiting for the essential requirement 1 of 3: "ssh"
> [hostagent] Waiting for the essential requirement 1 of 3: "ssh"
> [hostagent] The essential requirement 1 of 3 is satisfied
> [hostagent] Waiting for the essential requirement 2 of 3: "user session is ready for ssh"
> [hostagent] The essential requirement 2 of 3 is satisfied
> [hostagent] Waiting for the essential requirement 3 of 3: "the guest agent to be running"
> [hostagent] The essential requirement 3 of 3 is satisfied
> [hostagent] Waiting for the final requirement 1 of 1: "boot scripts must have finished"
> [hostagent] Forwarding "/var/run/docker.sock" (guest) to "/Users/chyyran/.colima/default/docker.sock" (host)
> [hostagent] Forwarding "/var/run/docker.sock" (guest) to "/Users/chyyran/.colima/docker.sock" (host)
> [hostagent] The final requirement 1 of 1 is satisfied
> READY. Run `limactl shell colima` to open the shell.
TRAC[0052] cmd ["lima" "sudo" "cat" "/etc/hosts"]       
TRAC[0052] cmd ["lima" "sudo" "sh" "-c" "echo -e \"192.168.5.2\\thost.docker.internal\" >> /etc/hosts"] 
TRAC[0053] cmd ["lima" "sudo" "cat" "/etc/hosts"]       
TRAC[0053] cmd ["lima" "sudo" "sh" "-c" "echo -e \"127.0.0.1\\tcolima\" >> /etc/hosts"] 
INFO[0053] provisioning ...                              context=docker
TRAC[0053] cmd ["lima" "sudo" "mkdir" "-p" "/etc/docker"] 
TRAC[0053] cmd int ["lima" "sudo" "sh" "-c" "cat > /etc/docker/daemon.json"] 
TRAC[0053] cmd ["docker" "context" "inspect" "colima"]  
TRAC[0053] cmd ["docker" "context" "create" "colima" "--description" "colima" "--docker" "host=unix:///Users/chyyran/.colima/default/docker.sock"] 
> colima
> Successfully created context "colima"
TRAC[0053] cmd ["docker" "context" "use" "colima"]      
> colima
> Current context is now "colima"
INFO[0053] starting ...                                  context=docker
TRAC[0053] cmd ["lima" "sudo" "service" "docker" "start"] 
>  * /var/log/docker.log: creating file
>  * /var/log/docker.log: correcting owner
>  * Starting Docker Daemon ... [ ok ]
TRAC[0053] cmd ["lima" "sudo" "docker" "info"]          
TRAC[0058] cmd ["lima" "sudo" "docker" "info"]          
TRAC[0059] cmd ["lima" "sudo" "cat" "/etc/colima/colima.json"] 
TRAC[0059] cmd ["lima" "sudo" "mkdir" "-p" "/etc/colima"] 
TRAC[0059] cmd ["lima" "sudo" "mkdir" "-p" "/etc/colima"] 
TRAC[0059] cmd int ["lima" "sudo" "sh" "-c" "cat > /etc/colima/colima.json"] 
TRAC[0059] cmd ["lima" "sudo" "cat" "/etc/colima/colima.json"] 
TRAC[0059] cmd ["lima" "sudo" "mkdir" "-p" "/etc/colima"] 
TRAC[0059] cmd ["lima" "sudo" "mkdir" "-p" "/etc/colima"] 
TRAC[0059] cmd int ["lima" "sudo" "sh" "-c" "cat > /etc/colima/colima.json"] 
INFO[0059] done                                         
TRAC[0059] cmd ["limactl" "list" "--json"]              
TRAC[0059] cmd ["limactl" "shell" "colima" "sh" "-c" "ifconfig col0 | grep \"inet addr:\" | awk -F' ' '{print $2}' | awk -F':' '{print $2}'"] 
TRAC[0059] cmd ["limactl" "shell" "colima-azq-local" "sh" "-c" "ifconfig col0 | grep \"inet addr:\" | awk -F' ' '{print $2}' | awk -F':' '{print $2}'"] 
TRAC[0059] cmd ["limactl" "show-ssh" "--format" "config" "colima"] 
TRAC[0059] cmd ["limactl" "list" "colima" "--json"]     
TRAC[0059] cmd ["limactl" "shell" "colima" "sh" "-c" "ifconfig col0 | grep \"inet addr:\" | awk -F' ' '{print $2}' | awk -F':' '{print $2}'"] 
TRAC[0059] cmd ["limactl" "show-ssh" "--format" "config" "colima-azq-local"] 
TRAC[0059] cmd ["limactl" "list" "colima-azq-local" "--json"] 
TRAC[0059] cmd ["limactl" "shell" "colima-azq-local" "sh" "-c" "ifconfig col0 | grep \"inet addr:\" | awk -F' ' '{print $2}' | awk -F':' '{print $2}'"] 
❯ colima status                                 
INFO[0000] colima is running using QEMU                 
INFO[0000] arch: aarch64                                
INFO[0000] runtime: docker                              
INFO[0000] mountType: 9p                                
INFO[0000] address:                                     
INFO[0000] socket: unix:///Users/chyyran/.colima/default/docker.sock 

Version

Colima Version:

colima version HEAD-afe81c4
git commit: afe81c4334e62d405dc94869ed1d85dc950345e2

runtime: docker
arch: aarch64
client: v23.0.1-rd
server: v23.0.6

Lima Version:

❯ lima --version
limactl version 0.17.2

Qemu version: 8.1.0_2

Operating System

Output of colima status

❯ colima status                                 
INFO[0000] colima is running using QEMU                 
INFO[0000] arch: aarch64                                
INFO[0000] runtime: docker                              
INFO[0000] mountType: 9p                                
INFO[0000] address:                                     
INFO[0000] socket: unix:///Users/chyyran/.colima/default/docker.sock 

Reproduction Steps

  1. Start a container with colima start --network-address

Expected behaviour

colima status has an address

Additional context

No response

chyyran commented 1 year ago

I also see the errors in #801 but their resolution steps do not help.

 *   eth0 ...udhcpc: started, v1.36.0
udhcpc: broadcasting discover
udhcpc: broadcasting select for 192.168.5.15, server 192.168.5.2
udhcpc: lease of 192.168.5.15 obtained from 192.168.5.2, lease time 86400
 [ ok ]
 *   col0 ...udhcpc: started, v1.36.0
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc: broadcasting discover
udhcpc failed to get a DHCP lease
udhcpc: no lease, forking to background
chyyran commented 1 year ago

I tried resigning the included qemu binary

❯ cat >entitlements.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.security.hypervisor</key>
    <true/>
</dict>
</plist>
EOF

❯ codesign --sign - --entitlements entitlements.xml --force /Users/chyyran/.colima/_wrapper/3a9197e1ca3cd2da076da2b473d7a7eb118e2cca/bin/qemu-system-aarch64
/Users/chyyran/.colima/_wrapper/3a9197e1ca3cd2da076da2b473d7a7eb118e2cca/bin/qemu-system-aarch64: replacing existing signature

This fixes the QEMU binary \"/Users/chyyran/.colima/_wrapper/3a9197e1ca3cd2da076da2b473d7a7eb118e2cca/bin/qemu-system-aarch64\" is not properly signed with the \"com.apple.security.hypervisor\" entitlement" error="binary \"/Users/chyyran/.colima/_wrapper/3a9197e1ca3cd2da076da2b473d7a7eb118e2cca/bin/qemu-system-aarch64\" seems signed but lacking the \"com.apple.security.hypervisor\" entitlement" error, but still does not expose an IP address.

norrs commented 6 months ago

I got IP address using vm-type vz, see if https://github.com/abiosoft/colima/issues/458#issuecomment-1989839779 helps for you?