0
votes

We have been trying to provision machines in Softlayer using the SLCLI and were hoping to be able to pass user data to help our CM tool (chef) complete the machine install. We are provisioning the machine with the options below. The machine provisions fine, we log in to it, but there is no evidence that the user data was passed. Is there something that we are doing wrong?

slcli vs create --datacenter=sjc01 \
    --hostname abc123abc123 \
    --domain fishyard.net \
    --key the_key \
    --cpu 4 \
    --memory 4096 \
    --network 1000 \
    --os COREOS_LATEST_64 \
    --billing=monthly
    --userfile ~/slkporg2.yml

Here is the yml file:

#cloud-config
#
chef:
  install_type: "omnibus"
  force_install: false
  server_url: "https://10.91.142.13/organizations/chef"
  environment: "_default"
  validation_name: "chef-validator"
  validation_key:
     -----BEGIN RSA PRIVATE KEY-----
       YOUR-ORGS-VALIDATION-KEY-HERE
     -----END RSA PRIVATE KEY-----
run_list:
    - "role[base]"
  omnibus_url: "https://omnitruck.chef.io/install.sh"
  output: {all: '| tee -a /var/log/cloud-init-output.log'}

Any help would be appreciated. Thank you.

1

1 Answers

0
votes

You can verify if the userData has been set using this RESTful:

GET https://$Username:[email protected]/rest/v3.1/SoftLayer_Virtual_Guest/$VSIID/getUserData

Note: Replace $VSIID with the id of your VSI

If the result is empty:

1.- Please make sure you are using the last version of client.

2.- The command you used looks fine, but if the userData is not being setting despite you are using the last version of the client please submit an issue here https://github.com/softlayer/softlayer-python/issues

I hope it helps

Regards