Skip to content

Unable to run linux/amd64 containers on an m4 mac #356

@dschlenk

Description

@dschlenk

👻 Brief Description

When I try to converge a suite where the driver is configured with platform: linux/amd64 on an arm mac it fails to create any containers nor does it pull in any images from docker hub.

Version

2.20.7

Environment

arm64 version of cinc workstation 25.5.1084 on macos sequoia 15.7 on an m4 pro with docker desktop 4.47.0 running in apple virtualization framework mode with rosetta enabled and VirtioFS for file sharing

Scenario

main kitchen.yml file contains (sans suites):

---
driver:
  name: dokken
  privileged: true
  chef_image: cincproject/cinc
  chef_version: 18
transport:
  name: dokken

provisioner:
  name: dokken
  project_name: cinc
  download_url: https://omnitruck.cinc.sh/install.sh
  chef_binary: /opt/cinc/bin/cinc-client
  chef_license: accept-no-persist # until https://github.com/test-kitchen/test-kitchen/pull/1984
  log_level: <%= ENV['KITCHEN_LOG_LEVEL'] || 'info' %>
  clean_dokken_sandbox: <%= ENV['CLEAN_DOCKEN_SANDBOX'] || 'true' %>

verifier:
  name: inspec

platforms:
  - name: oraclelinux-9
    driver:
      image: c1og/opennms-33-oraclelinux-9
      pid_one_command: /usr/lib/systemd/systemd

I've set my kitchen.local.yml file to:

---
platforms:
  - name: oraclelinux-9
    driver:
      platform: linux/amd64
      image: dokken/oraclelinux-9
      pid_one_command: /usr/lib/systemd/systemd

Steps to Reproduce

Install Docker Desktop and cinc workstation 25.5.1084 on an arm mac
clone https://github.com/dschlenk/opennms-cookbook and create a kitchen.local.yml file like above
run kitchen verify default

Expected Result

pulling of linux/amd64 containers for dokken/oraclelinux-9:latest, cincproject/cinc:18 followed by container creation and successful verification

Actual Result

No container images pulled nor containers created. Error message:

-----> Starting Test Kitchen (v3.7.0)
-----> Creating <default-oraclelinux-9>...
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Failed to complete #create action: [{"message":"failed to parse platform: invalid character 'l' looking for beginning of value"}
] on default-oraclelinux-9
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

and the log contains:

I, [2025-10-01T12:19:55.200920 #70601]  INFO -- default-oraclelinux-9: -----> Creating <default-oraclelinux-9>...
E, [2025-10-01T12:19:55.211787 #70601] ERROR -- default-oraclelinux-9: Create failed on instance <default-oraclelinux-9>.
E, [2025-10-01T12:19:55.211823 #70601] ERROR -- default-oraclelinux-9: ------Exception-------
E, [2025-10-01T12:19:55.211830 #70601] ERROR -- default-oraclelinux-9: Class: Docker::Error::ClientError
E, [2025-10-01T12:19:55.211834 #70601] ERROR -- default-oraclelinux-9: Message: {"message":"failed to parse platform: invalid character 'l' looking for beginning of value"}

E, [2025-10-01T12:19:55.211838 #70601] ERROR -- default-oraclelinux-9: ----------------------
E, [2025-10-01T12:19:55.211841 #70601] ERROR -- default-oraclelinux-9: ------Backtrace-------
E, [2025-10-01T12:19:55.211844 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/docker-api-2.4.0/lib/docker/connection.rb:83:in `rescue in request'
E, [2025-10-01T12:19:55.211848 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/docker-api-2.4.0/lib/docker/connection.rb:46:in `request'
E, [2025-10-01T12:19:55.211851 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/docker-api-2.4.0/lib/docker/connection.rb:111:in `block (2 levels) in <class:Connection>'
E, [2025-10-01T12:19:55.211853 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/docker-api-2.4.0/lib/docker/image.rb:140:in `get'
E, [2025-10-01T12:19:55.211856 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/docker-api-2.4.0/lib/docker/image.rb:212:in `exist?'
E, [2025-10-01T12:19:55.211859 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/kitchen-dokken-2.20.7/lib/kitchen/driver/dokken.rb:678:in `pull_if_missing'
E, [2025-10-01T12:19:55.211862 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/kitchen-dokken-2.20.7/lib/kitchen/driver/dokken.rb:506:in `pull_platform_image'
E, [2025-10-01T12:19:55.211864 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/kitchen-dokken-2.20.7/lib/kitchen/driver/dokken.rb:82:in `create'
E, [2025-10-01T12:19:55.211867 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:495:in `public_send'
E, [2025-10-01T12:19:55.211869 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:495:in `block in perform_action'
E, [2025-10-01T12:19:55.211872 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:563:in `synchronize_or_call'
E, [2025-10-01T12:19:55.211875 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:524:in `block in action'
E, [2025-10-01T12:19:55.211877 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/3.1.0/benchmark.rb:296:in `measure'
E, [2025-10-01T12:19:55.211880 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:523:in `action'
E, [2025-10-01T12:19:55.211883 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:495:in `perform_action'
E, [2025-10-01T12:19:55.211886 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:404:in `create_action'
E, [2025-10-01T12:19:55.211888 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:392:in `block (2 levels) in transition_to'
E, [2025-10-01T12:19:55.211891 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/lifecycle_hooks.rb:47:in `run_with_hooks'
E, [2025-10-01T12:19:55.211900 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:391:in `block in transition_to'
E, [2025-10-01T12:19:55.211903 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:390:in `each'
E, [2025-10-01T12:19:55.211905 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:390:in `transition_to'
E, [2025-10-01T12:19:55.211908 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/instance.rb:161:in `verify'
E, [2025-10-01T12:19:55.211911 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/command.rb:195:in `public_send'
E, [2025-10-01T12:19:55.211913 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/command.rb:195:in `run_action_in_thread'
E, [2025-10-01T12:19:55.211916 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/test-kitchen-3.7.0/lib/kitchen/command.rb:166:in `block (2 levels) in run_action'
E, [2025-10-01T12:19:55.211920 #70601] ERROR -- default-oraclelinux-9: /opt/cinc-workstation/embedded/lib/ruby/gems/3.1.0/gems/logging-2.4.0/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
E, [2025-10-01T12:19:55.211923 #70601] ERROR -- default-oraclelinux-9: ----End Backtrace-----

➕ Additional context

I tried the workaround in #288 of pulling the images myself and setting pull_platform_image: false but it made no difference.

Metadata

Metadata

Assignees

Labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions