Were you ever able to get the finish template to run after the user-data 
template completes the vm template provision process?  I'm running into the 
same issue.

On Thursday, January 14, 2016 at 12:01:03 PM UTC-5, Andy Thompson wrote:
>
> On Wednesday, January 13, 2016 at 7:29:32 AM UTC-5, Greg Sutcliffe wrote:
>>
>> On 12 January 2016 at 14:48, Andy Thompson <[email protected]> wrote:
>>
>>> I am setting up provisioning from a vmware template.  I cannot setup 
>>> dhcp in the environment for ssh provisioning so I'm working with the user 
>>> data template option.  I've got it working to the point of provisioning the 
>>> vm and configuring the network and such as needed, but how can a finish 
>>> template be applied in addition to the user data template so the 
>>> registration, salt and freeipa bits can be completed?
>>>
>>
>> User-data and SSH finish scripts are mutually exclusive, as they 
>> represent fundamentally different ways to "complete" a machine. You'll want 
>> to add whatever steps you need to your user-data template, perhaps starting 
>> from something something like 
>> https://github.com/theforeman/community-templates/blob/develop/kickstart/userdata.erb
>>  
>> ?
>>
>
> That was my thinking but I still can't find a way to tie this all 
> together.  My current user-data script is this (shamelessly borrowed off 
> this forum :)
>
> <%#
> kind: user_data
> name: vmware user data
> oses:
> - Redhat 6
> - Redhat 7
> -%>
> # 
> https://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.wssdk.apiref.doc/vim.vm.customization.Specification.html
> # encryptionKey expects an array
> # globalIPSettings expects a hash, REQUIRED
> # identity expects an hash, REQUIRED
> # nicSettingMap expects an array
> # options expects an hash
>
> #   *   LinuxPrep: <~Hash> - Optional, contains machine-wide settings 
> (note the uppercase P)
> #   *     domain: <~String> - REQUIRED, The fully qualified domain name.
> #   *     hostName: <~String> - REQUIRED, the network host name
> #   *     hwClockUTC: <~Boolean> - Optional, Specifies whether the 
> hardware clock is in UTC or local time
> #   *     timeZone: <~String> - Optional, Case sensistive timezone, valid 
> values can be found at 
> https://pubs.vmware.com/vsphere-51/topic/com.vmware.wssdk.apiref.doc/timezone.html
> identity:
>   LinuxPrep:
>     domain: <%= @host.domain %>
>     hostName: <%= @host.shortname%>
>     hwClockUTC: true
>     timeZone: <%= @host.params['time-zone'] || 'UTC' %>
>
> #   * globalIPSettings <~Hash> - REQUIRED
> #   *   dnsServerList <~Array> - Optional, list of dns servers - Example: 
> ["10.0.0.2", "10.0.0.3"]
> #   *   dnsSuffixList <~Array> - Optional, List of name resolution 
> suffixes - Example: ["dev.example.com", "example.com"]
> globalIPSettings:
>   dnsSuffixList: [<%= @host.domain %>]
>
> #   * nicSettingMap: <~Array> - Optional, IP settings that are specific to 
> a particular virtual network adapter
> #   *   Each item in array:
> #   *   adapter: <~Hash> - REQUIRED, IP settings for the associated 
> virtual network adapter
> #   *     dnsDomain: <~String> - Optional, DNS domain suffix for adapter
> #   *     dnsServerList: <~Array> - Optional, list of dns server ip 
> addresses - Example: ["10.0.0.2", "10.0.0.3"]
> #   *     gateway: <~Array> - Optional, list of gateways - Example: 
> ["10.0.0.2", "10.0.0.3"]
> #   *     ip: <~String> - Optional, but required if static IP
> #   *     ipV6Spec: <~Hash> - Optional, IPv^ settings
> #   *       ipAddress: <~String> - Optional, but required if setting 
> static IP
> #   *       gateway: <~Array> - Optional, list of ipv6 gateways
> #   *     netBIOS: <~String> - Optional, NetBIOS settings, if supplied 
> must be one of: disableNetBIOS','enableNetBIOS','enableNetBIOSViaDhcp'
> #   *     primaryWINS: <~String> - Optional, IP address of primary WINS 
> server
> #   *     secondaryWINS: <~String> - Optional, IP address of secondary 
> WINS server
> #   *     subnetMask: <~String> - Optional, subnet mask for adapter
> #   *   macAddress: <~String> - Optional, MAC address of adapter being 
> customized. This cannot be set by the client
> nicSettingMap:
> <% @host.interfaces.each do |interface| %>
>   - adapter:
>       dnsDomain: <%= interface.domain %>
>       dnsServerList: [<%= interface.subnet.dns_primary %>, <%= 
> interface.subnet.dns_secondary %>]
>       gateway: [<%= interface.subnet.gateway %>]
>       ip: <%= interface.ip %>
>       subnetMask: <%= interface.subnet.mask %>
> <% end %>
>
>  and that part works.  VM is provisioned and network/host settings are 
> applied.
>
> But adding just bash scripts onto this causes it to error out since it 
> appears to be looking for yaml.  How can I combine this into the additional 
> bits that need to be run once the host has been provisioned?
>

-- 
You received this message because you are subscribed to the Google Groups 
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to