Project

General

Profile

Actions

Bug #11550

closed

Failed to create a compute vmware-hq (VMware) instance es1.initial..dev: undefined method `key?' for #<String:0x0000000ab647e8>

Added by Nikita Stupin over 9 years ago. Updated over 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
Compute resources - VMware
Target version:
-
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

I try clone new vm from my vmware template but receive this error.
In production.log i found this:

2015-08-25T13:06:46 [app] [I] Processing by HostsController#create as */*
2015-08-25T13:06:46 [app] [I]   Parameters: {"utf8"=>"✓", "authenticity_token"=>"lYAxdILeQcJm+8YZcArIGGaOTzbVIQN0BNkXGKgI/Og=", "host"=>{"name"=>"es1", "hostgroup_id"=>"", "compute_resource_id"=>"1", "compute_profile_id"=>"1", "environment_id"=>"1", "puppet_ca_proxy_id"=>"1", "puppet_proxy_id"=>"1", "puppetclass_ids"=>[""], "managed"=>"true", "progress_report_id"=>"[FILTERED]", "type"=>"Host::Managed", "interfaces_attributes"=>{"0"=>{"_destroy"=>"0", "type"=>"Nic::Managed", "mac"=>"", "identifier"=>"", "name"=>"es1", "domain_id"=>"2", "subnet_id"=>"1", "ip"=>"10.77.47.3", "managed"=>"1", "primary"=>"1", "provision"=>"1", "virtual"=>"0", "tag"=>"", "attached_to"=>"", "compute_attributes"=>{"type"=>"VirtualE1000", "network"=>"PG_Vlan_147_Developers_Network"}}}, "compute_attributes"=>{"cpus"=>"1", "corespersocket"=>"1", "memory_mb"=>"8192", "cluster"=>"Vmware-Cluster-03", "path"=>"/Datacenters/South Port/vm/Developers_new", "guest_id"=>"debian7_64Guest", "scsi_controller_type"=>"ParaVirtualSCSIController", "hardware_version"=>"Default", "start"=>"1", "volumes_attributes"=>{"0"=>{"_delete"=>"", "datastore"=>"HQ-QNAP-02_Developers_Datastore", "name"=>"Hard disk", "size_gb"=>"25", "thin"=>"false", "eager_zero"=>"false"}}, "image_id"=>"Developers_new/linux_dev"}, "architecture_id"=>"1", "operatingsystem_id"=>"1", "provision_method"=>"image", "build"=>"1", "medium_id"=>"", "ptable_id"=>"", "disk"=>"", "root_pass"=>"[FILTERED]", "is_owned_by"=>"3-Users", "enabled"=>"1", "comment"=>"", "overwrite"=>"false"}, "capabilities"=>"build image", "provider"=>"Vmware"}

2015-08-25T13:06:55 [app] [W] Failed to create a compute vmware-hq (VMware) instance es1.initial.dev: undefined method `key?' for #<String:0x0000000ab647e8>
 |
 | NoMethodError: undefined method `key?' for #<String:0x0000000ab647e8>
 | /usr/share/foreman/vendor/ruby/1.9.1/gems/fog-1.32.0/lib/fog/vsphere/requests/compute/cloudinit_to_customspec.rb:16:in `cloudinit_to_customspec'
 | /usr/share/foreman/app/models/compute_resources/foreman/model/vmware.rb:376:in `clone_vm'
 | /usr/share/foreman/app/models/compute_resources/foreman/model/vmware.rb:323:in `create_vm'

How i can debug this error?


Related issues 1 (1 open0 closed)

Related to Foreman - Bug #14058: vmware provisioning fails with cryptic error when not using propper user_data scriptNew03/04/2016Actions
Actions #1

Updated by Dominic Cleal over 9 years ago

  • Status changed from New to Need more information

Check which cloud-init template you have associated by viewing the host's Templates tab (on the left), it needs to be YAML format.

Actions #2

Updated by Nikita Stupin over 9 years ago

I create cloud-init template with this content.

---
globalIPSettings:
  dnsServerList:
    - <%= @host.subnet.dns_primary %>
  dnsSuffixList:
    - <%= @host.domain %>
identity:
  LinuxPrep:
    domain: <%= @host.domain %>
    hostName: <%= @host.shortname %>
    hwClockUTC: true
    timeZone: "Europe/Moscow" 
nicSettingMap:
  - adapter:
      dnsDomain: <%= @host.domain %>
      dnsServerList:
        - <%= @host.subnet.dns_primary %>
      gateway:
        - <%= @host.subnet.gateway %>
      ip: <%= @host.ip %>
      subnetMask: <%= @host.subnet.mask %>

Virtual machine suceftully create from template but:
1. I set storage as 25GB in template set storage set as 50GB, in new VM storage size not changed. This correctly or bug?
2. Network adapter in new VM is disabled.
3. VM after create in foreman interface marked as "pending installation".

Actions #3

Updated by Dominic Cleal over 9 years ago

Nikita Stupin wrote:

I create cloud-init template with this content.
[...]

Is the template showing as linked to the host, either on the Templates tab or via the Resolve Templates button when editing the host?

Virtual machine suceftully create from template but:
1. I set storage as 25GB in template set storage set as 50GB, in new VM storage size not changed. This correctly or bug?

Bug, but fixed for 1.10 via #9705.

2. Network adapter in new VM is disabled.
3. VM after create in foreman interface marked as "pending installation".

Probably because of this failure.

Actions #4

Updated by Nikita Stupin over 9 years ago

Dominic Cleal wrote:

Is the template showing as linked to the host, either on the Templates tab or via the Resolve Templates button when editing the host?

linked to the host

Bug, but fixed for 1.10 via #9705.

Thanks!

2. Network adapter in new VM is disabled.
3. VM after create in foreman interface marked as "pending installation".

Probably because of this failure.

But, disabled network adapter is bug of the foreman or my template?

Actions #5

Updated by Dominic Cleal over 9 years ago

  • Status changed from Need more information to New

Nikita Stupin wrote:

Dominic Cleal wrote:

2. Network adapter in new VM is disabled.
3. VM after create in foreman interface marked as "pending installation".

Probably because of this failure.

But, disabled network adapter is bug of the foreman or my template?

Not sure, if you're hitting an exception during provisioning then all bets are off about the final state of the VM. I don't know why you're seeing this error, leaving the ticket open.

Actions #6

Updated by Nikita Stupin over 9 years ago

Please close this ticket, error with " undefined method `key?" is not actually.
About disabled network adapter may be i create new ticket?

Actions #7

Updated by Dominic Cleal over 9 years ago

  • Status changed from New to Resolved

Nikita Stupin wrote:

Please close this ticket, error with " undefined method `key?" is not actually.

Do you know what the cause was in the end? It might be useful to record it for others.

About disabled network adapter may be i create new ticket?

If it's still happening after the exception's fixed, then yep, could be worthwhile. Also it might be worth trying on nightlies in a couple of days time (once built) since the fix I mentioned above for storage also changed how network interfaces are cloned, and was only just merged to nightlies.

Actions #8

Updated by Nikita Stupin over 9 years ago

Dominic Cleal wrote:

Do you know what the cause was in the end? It might be useful to record it for others.

Yes, cause in invalid YAML in my cloud init template. May be add checking YAML validate, or add example cloud-init template in default configuration?

About disabled network adapter may be i create new ticket?

If it's still happening after the exception's fixed, then yep, could be worthwhile. Also it might be worth trying on nightlies in a couple of days time (once built) since the fix I mentioned above for storage also changed how network interfaces are cloned, and was only just merged to nightlies.

Thanks! I try backport this changes in my 1.9 or try nightly.

Actions #9

Updated by Dominic Cleal over 9 years ago

Nikita Stupin wrote:

Dominic Cleal wrote:

Do you know what the cause was in the end? It might be useful to record it for others.

Yes, cause in invalid YAML in my cloud init template. May be add checking YAML validate, or add example cloud-init template in default configuration?

Interesting, syntax check might be something to raise to Fog as it appears to all be there. If you have a useful template that might serve as a default, please submit it to https://github.com/theforeman/community-templates/tree/develop/cloudinit

Actions #10

Updated by Ivan Necas over 7 years ago

  • Related to Bug #14058: vmware provisioning fails with cryptic error when not using propper user_data script added
Actions

Also available in: Atom PDF