Hey guys/girls,
We have been running Foreman 1.9.2 in our lab environment for about 2 weeks
now and are happy with it. It manages a single vSphere cluster.
We upgraded our prod instance last Friday to 1.9.2 as well. Unfortunately
we have a multiple clusters and folders in prod which Fog appears to be
having difficulty with in this new version. This was working in 1.6 and 1.8
(didnt test 1.7)
The vSphere structure looks like this:
- DC1
– Folder01 - DC2
– Folder01
— ESX01
– Folder02
— Cluster01
---- ESX01-08
— Cluster02
---- ESX01-04
When we provision to DC2-Folder02-Cluster01 we receive the following error
message:
Failed to create a compute MyVSphereCluster (VMware) instance
myhostname.mydomain: failed to create vm: undefined method `resourcePool'
for nil:NilClass
Similar occurs if I try provisioning to the second Cluster as well
It looks similar to
http://projects.theforeman.org/issues/10912
http://projects.theforeman.org/issues/9779
http://projects.theforeman.org/issues/2696
but even upon resubmission I cannot get it to work. Foreman to vSphere
authentication is working.
Here is the error from the log
> Started POST "/hosts" for my.ip.address at 2015-10-12 09:29:41 +1100
2015-10-12 09:29:41 [app] [I] Processing by HostsController#create as /
2015-10-12 09:29:41 [app] [I] Parameters: {"utf8"=>"✓",
"authenticity_token"=>"5ww+shvZQHBGK2wyX/NLpVuk+nHTS3NU1iMOtQs3bGw=",
"host"=>{"name"=>"globmwtest12", "organization_id"=>"18",
"location_id"=>"1", "hostgroup_id"=>"186", "compute_resource_id"=>"6",
"environment_id"=>"1", "puppet_ca_proxy_id"=>"1", "puppet_proxy_id"=>"1",
"config_group_ids"=>[""], "puppetclass_ids"=>[""], "managed"=>"true",
"progress_report_id"=>"[FILTERED]", "type"=>"Host::Managed",
"interfaces_attributes"=>{"0"=>{"_destroy"=>"0", "type"=>"Nic::Managed",
"mac"=>"", "identifier"=>"eth0", "name"=>"globmwtest12", "domain_id"=>"16",
"subnet_id"=>"1", "ip"=>"my.ip.address", "managed"=>"1", "primary"=>"1",
"provision"=>"1", "virtual"=>"0", "tag"=>"", "attached_to"=>"",
"compute_attributes"=>{"type"=>"VirtualVmxnet3",
"network"=>"Monitoring_Network"}}}, "compute_attributes"=>{"cpus"=>"2",
"corespersocket"=>"1", "memory_mb"=>"2048",
"cluster"=>"cluster_ip_address", "path"=>"/Datacenters/glob/vm/linux",
"guest_id"=>"centos64Guest",
"scsi_controller_type"=>"ParaVirtualSCSIController",
"hardware_version"=>"Default", "start"=>"1",
"volumes_attributes"=>{"0"=>{"_delete"=>"", "datastore"=>"DataStoreSIMM",
"name"=>"Hard disk", "size_gb"=>"10", "thin"=>"true",
"eager_zero"=>"false"}}}, "architecture_id"=>"1",
"operatingsystem_id"=>"21", "provision_method"=>"build", "build"=>"1",
"medium_id"=>"16", "ptable_id"=>"241", "disk"=>"",
"root_pass"=>"[FILTERED]", "is_owned_by"=>"30-Users", "enabled"=>"1",
"model_id"=>"", "comment"=>"", "overwrite"=>"false"},
"capabilities"=>"build image", "provider"=>"Vmware"}
2015-10-12 09:29:41 [sql] [I] Adding Compute instance for
myhostname.mydomain
2015-10-12 09:29:41 [sql] [I] Successfully decrypted field for
Foreman::Model::Vmware GESX
2015-10-12 09:29:41 [sql] [I] Successfully decrypted field for
Foreman::Model::Vmware GESX
2015-10-12 09:29:42 [app] [W] Failed to create a compute G**********ESX
(VMware) instance myhostname.mydomain: failed to create vm: undefined
method resourcePool' for nil:NilClass > > NoMethodError: failed to create vm: undefined method
resourcePool' for
nil:NilClass
>
/opt/rh/ruby193/root/usr/share/gems/gems/fog-1.32.0/lib/fog/vsphere/requests/compute/create_vm.rb:35:in
rescue in create_vm' > /opt/rh/ruby193/root/usr/share/gems/gems/fog-1.32.0/lib/fog/vsphere/requests/compute/create_vm.rb:8:in
create_vm'
>
/opt/rh/ruby193/root/usr/share/gems/gems/fog-1.32.0/lib/fog/vsphere/models/compute/server.rb:235:in
save' > /usr/share/foreman/app/models/compute_resources/foreman/model/vmware.rb:326:in
create_vm'
> /usr/share/foreman/app/models/concerns/orchestration/compute.rb:76:in
setCompute' > /usr/share/foreman/app/models/concerns/orchestration.rb:152:in
execute'
> /usr/share/foreman/app/models/concerns/orchestration.rb:97:in block in process' > /usr/share/foreman/app/models/concerns/orchestration.rb:89:in
each'
> /usr/share/foreman/app/models/concerns/orchestration.rb:89:in process' > /usr/share/foreman/app/models/concerns/orchestration.rb:19:in
on_save'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:660:in
_run__2596865478280346459__save__2544365256120986850__callbacks' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in
__run_callback'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in
_run_save_callbacks' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in
run_callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/callbacks.rb:264:in
create_or_update' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/persistence.rb:84:in
save'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/validations.rb:50:in
save' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/attribute_methods/dirty.rb:22:in
save'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:241:in
block (2 levels) in save' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:295:in
block in with_transaction_returning_status'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/database_statements.rb:192:in
transaction' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:208:in
transaction'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:293:in
with_transaction_returning_status' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:241:in
block in save'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:252:in
rollback_active_record_state!' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/transactions.rb:240:in
save'
> /usr/share/foreman/app/models/concerns/foreman/sti.rb:29:in
save_with_type' > /usr/share/foreman/app/controllers/hosts_controller.rb:84:in
create'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/implicit_render.rb:4:in
send_action' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:167:in
process_action'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rendering.rb:10:in
process_action' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:18:in
block in process_action'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:627:in
block (4 levels) in _run__1681778167113484607__process_action__3673635032914090382__callbacks' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in
block in _conditional_callback_around_8199'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in
around' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in
_callback_around_3011'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in
_conditional_callback_around_8199' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:626:in
block (3 levels) in
_run__1681778167113484607__process_action__3673635032914090382__callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in
block in _conditional_callback_around_8198' > /usr/share/foreman/app/controllers/concerns/application_shared.rb:13:in
set_timezone'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in
_conditional_callback_around_8198' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:625:in
block (2 levels) in
_run__1681778167113484607__process_action__3673635032914090382__callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in
block in _conditional_callback_around_8197' > /usr/share/foreman/app/models/concerns/foreman/thread_session.rb:32:in
clear_thread'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in
_conditional_callback_around_8197' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:448:in
block in
_run__1681778167113484607__process_action__3673635032914090382__callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:215:in
block in _conditional_callback_around_8196' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:326:in
around'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:310:in
_callback_around_13' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:214:in
_conditional_callback_around_8196'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:414:in
_run__1681778167113484607__process_action__3673635032914090382__callbacks' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in
__run_callback'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in
_run_process_action_callbacks' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in
run_callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/callbacks.rb:17:in
process_action' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rescue.rb:29:in
process_action'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:30:in
block in process_action' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in
block in instrument'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications/instrumenter.rb:20:in
instrument' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/notifications.rb:123:in
instrument'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/instrumentation.rb:29:in
process_action' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/params_wrapper.rb:207:in
process_action'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/railties/controller_runtime.rb:18:in
process_action' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/base.rb:121:in
process'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/abstract_controller/rendering.rb:45:in
process' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:203:in
dispatch'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal/rack_delegation.rb:14:in
dispatch' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_controller/metal.rb:246:in
block in action'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:73:in
dispatch'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:36:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:68:in
block in call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in
each' > /opt/rh/ruby193/root/usr/share/gems/gems/journey-1.0.4/lib/journey/router.rb:56:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/routing/route_set.rb:600:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/apipie-rails-0.2.6/lib/apipie/extractor/recorder.rb:97:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/apipie-rails-0.2.6/lib/apipie/middleware/checksum_in_headers.rb:27:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/best_standards_support.rb:17:in
call' > /opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/etag.rb:23:in
call'
>
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/conditionalget.rb:35:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/head.rb:14:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/params_parser.rb:21:in
call' > /usr/share/foreman/lib/middleware/catch_json_parse_errors.rb:9:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/flash.rb:242:in
call' > /opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:210:in
context'
>
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/session/abstract/id.rb:205:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/cookies.rb:339:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/query_cache.rb:64:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/activerecord-3.2.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:28:in
block in call' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in
_run__136604507602276194__call__2544365256120986850__callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:405:in
__run_callback' > /opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:385:in
run_call_callbacks'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/callbacks.rb:81:in
run_callbacks' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/callbacks.rb:27:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/remote_ip.rb:31:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/debug_exceptions.rb:16:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/show_exceptions.rb:56:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/rack/logger.rb:26:in
call_app'
>
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/rack/logger.rb:16:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/request_id.rb:22:in
call'
>
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in
call' > /opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/runtime.rb:17:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/activesupport-3.2.8/lib/active_support/cache/strategy/local_cache.rb:72:in
call' > /opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/lock.rb:15:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/actionpack-3.2.8/lib/action_dispatch/middleware/static.rb:62:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in
forward'
>
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:143:in
pass' > /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:155:in
invalidate'
>
/opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:71:in
call!' > /opt/rh/ruby193/root/usr/share/gems/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/engine.rb:479:in
call' > /opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/application.rb:223:in
call'
>
/opt/rh/ruby193/root/usr/share/gems/gems/railties-3.2.8/lib/rails/railtie/configurable.rb:30:in
method_missing' > /opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/builder.rb:134:in
call'
>
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/urlmap.rb:64:in
block in call' > /opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in
each'
>
/opt/rh/ruby193/root/usr/local/share/gems/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in
call' > /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/rack/thread_handler_extension.rb:77:in
process_request'
>
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:140:in
accept_and_process_next_request' > /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:108:in
main_loop'
>
/usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request