Provisioning Windows with Cloudbase-init fails on phone_home


I'm attempting to provision Windows VMs in KVM using Cloudbase-init. The
cloud-init feature NoCloud is not currently supported by Cloudbase-init.
However, upon contacting them the guys from Cloudbase-init have graciously
taken on the task of integrating NoCloud. They provided me with a
development build with this functionality to test.

Cloudbase-init now correctly reads configuration from user-data on the iso.
The hostname and fqdn are set correctly. But phone_home fails. From the
logs it seems that Cloudbase-init is doing the right thing.

The Foreman production log has this:

2017-07-13T05:06:15 225322f6 [app] [I] Started POST
"/unattended/built?token=3f74a562-8a59-456a-b4f8-d08a9dc5c131" for at 2017-07-13 05:06:15 +0000
2017-07-13T05:06:15 225322f6 [app] [F]
> ActionController::RoutingError (No route matches [POST]
> lib/middleware/tagged_logging.rb:18:in `call'

A GET request to that unattended URL works and Foreman marks the host as

The userdata script phone_home section:

url: <%= foreman_url('built') %>
post: []
tries: 10

Is there anything I could be missing?


The Cloudbase-init team have updated such that if no configuration is
supplied a get request is sent rather that a post.