abiosoft / colima

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

Provision scripts are ignored when VM is just created #1060

Open Noksa opened 2 weeks ago

Noksa commented 2 weeks ago

Description

Provision scripts are ignored when we start VM first time (create it)

Version

colima version 0.6.9
git commit: c3a31ed05f5fab8b2cdbae835198e8fb1717fd0f

runtime: docker
arch: aarch64
client: v27.0.3
server: v26.1.1
limactl version 0.22.0
qemu-img version 9.0.1
Copyright (c) 2003-2024 Fabrice Bellard and the QEMU Project developers

Operating System

Output of colima status

INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: aarch64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
INFO[0000] socket: unix:///Users/alexandr/.colima/default/docker.sock
INFO[0000] kubernetes: enabled

Reproduction Steps

  1. Add provision block in template as follows:
provision:
  - mode: system
    script: |
      cat <<EOF > /etc/systemd/system/docker.service.d/docker-buildkit-env.conf
      [Service]
      Environment="BUILDKIT_STEP_LOG_MAX_SIZE=20971520"
      Environment="BUILDKIT_STEP_LOG_MAX_SPEED=1048576"
      EOF
      systemctl daemon-reload
      systemctl restart docker
  1. Clean install VM
colima start
  1. Check that file is not present: colima ssh -- ls /etc/systemd/system/docker.service.d

  2. Stop and start again

    colima stop && colima start
  3. Now file is present

Expected behaviour

Provision scripts should be considered when we do start first time

Additional context

As a workaround we can use colima start --edit but just save template without changes. In this case, scripts will be run