test-kitchen/kitchen-ec2

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

  1. create a t4g.nano instance with recent Amazon2 ARM AMI
  2. 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
tas50 commented

@tecracer-theinen Should this be in the Test Kitchen repo or the kitchen-ec2 repo?

True, that should be kitchen-ec2. Apologies.

tas50 commented

No worries @tecracer-theinen. I moved it to the correct repo so we can track it directly in the driver

tas50 commented

@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.