Kitchen breaks with Amazon ARM instances and Workstation
thheinen opened this issue · 4 comments
👻 Brief Description
Kitchen fails with Amazon ARM instances, if Chef Workstation is selected as provisioner.
This issue is intended to help people out who run into this problem and to supply a workaround until Chef Workstation ARM packages are available.
Version
2.6.0
Environment
- Cloud: AWS
- Region: eu-west-1
- Instance: t4g.nano
- AMI: Amazon Linux 2 (ARM) ami-028f419d2bf90fe5d
Scenario
Using TK with ARM-based machines to save money ;)
Steps to Reproduce
- create a t4g.nano instance with recent Amazon2 ARM AMI
- try converging against it and an error appears
Expected Result
Converged machine
Actual Result
Preparing data_bags
Preparing solo.rb
el 7 aarch64
Getting information for chef-workstation stable latest for el...
downloading https://omnitruck.chef.io/stable/chef-workstation/metadata?v=latest&p=el&pv=7&m=aarch64
to file /tmp/kitchen/metadata.txt
trying wget...
ERROR 404
Omnitruck artifact does not exist for version latest on platform el
The expected URL https://omnitruck.chef.io/stable/chef-workstation/metadata?v=latest&p=amazon&pv=2&m=aarch64
is returning 404 as there are no Chef Workstation ARM packages yet. This is known and documented in chef/chef-workstation#1280
Workaround is to just use Chef Client:
platforms:
- name: amazon-arm
provisioner:
product_name: chef
driver:
instance_type: t4g.nano # or other types from c6g, m6g, r6g etc
image_search:
owner-id: 137112412989
name: amzn2-ami-hvm-2.0.*-arm64-gp2
@tecracer-theinen Should this be in the Test Kitchen repo or the kitchen-ec2 repo?
True, that should be kitchen-ec2. Apologies.
No worries @tecracer-theinen. I moved it to the correct repo so we can track it directly in the driver
@tecracer-theinen This is actually something we can't fix via Test Kitchen. If you're provisioning Chef Workstation you need to be on a platform that Workstation supports. We don't currently support arm installs of Workstation so this is failing where we'd expect it to. You should be able to provision with the chef-client without issues since we produce arm builds there.