Better VMWare support for non-clusters setup
- when trying to provision a VM in a vsphere environment that doesn't have clusters, and only hosts, the dropdown for clusters is empty and creating it indicates that "cluster is required for this operation"
- It allows you to select a local data store on a different host than you are creating the VM on.
#2 Updated by Ohad Levy over 8 years ago
while a hack, this patch can solve the issue in the meantime:
diff --git a/lib/fog/vsphere/requests/compute/list_clusters.rb b/lib/fog/vsphere/requests/compute/list_clusters.rb index 2092213..55980c7 100644 --- a/lib/fog/vsphere/requests/compute/list_clusters.rb +++ b/lib/fog/vsphere/requests/compute/list_clusters.rb @@ -11,7 +11,7 @@ module Fog end def raw_clusters(datacenter) - find_raw_datacenter(datacenter).hostFolder.childEntity.grep(RbVmomi::VIM::ClusterComputeResource) + find_raw_datacenter(datacenter).hostFolder.childEntity.grep(RbVmomi::VIM::ComputeResource) end
#6 Updated by Oliver Weinmann almost 8 years ago
this no longer seems to work in Foreman 1.2.
I have a Vsphere 5.0 cluster that works fine but the standalone ESXi 5.1 throws an error:
Failed to save: Failed to destroy a compute esxi51 (VMWare) instance centos.a.space.corp: unexpected path class NilClass, mac value is blank!, Failed to destroy a compute esxi51 (VMWare) instance centos.a.space.corp: unexpected path class NilClass
#13 Updated by Derek Tamsen almost 7 years ago
I can also confirm this issue still exists in Foreman 1.5.1. However, the patch only works if their are no organizational folders in vsphere for the cluster group. If a cluster is organized into folder(s) under a datacenter, foreman fails to see any clusters. This seems like an underlying issue with either fog or rbvmomi though.
Working Example with Patch:
vcenterserver -> datacenter chosen in dropdown menu -> cluster(s)
Non working example with patch or without patch:
vcenterserver -> datacenter chosen in dropdown menu -> folder1 -> folder2 -> cluster(s)
#29 Updated by Dominic Cleal over 6 years ago
- Status changed from Closed to New
- Assignee deleted (
- Legacy Backlogs Release (now unused) deleted (
Removing from the 1.8.0 release target, as based on the discussion surrounding #8528, I remain unconvinced that this is supported. The patch in Fog only appears to be part of the solution, a more fundamental problem about MAC address allocations and Foreman's compute orchestration remains.
#37 Updated by Eric Hansen about 3 years ago
I started hitting something like this after upgrading from 1.16rc2 to 1.17. The problem was not evident in 1.16rc2. Now, when I try to deploy on a host, I see that the cluster field is populated as "Please select a cluster". The ESXi host is a standalone in the datacenter. When deploying to this datacenter, the deployment now fails with the following, but I had it working in 1.16rc2,
2018-05-18 13:02:54 5312b229 [app] [W] Failed to create a compute dev5vcenter-QA-Databases (VMware) instance eh-katello.qa.catalogic.us: undefined method `resourcePool' for #<RbVmomi::VIM::Folder:0x00007f9db47ec670> | | NoMethodError: undefined method `resourcePool' for #<RbVmomi::VIM::Folder:0x00007f9db47ec670> | /opt/theforeman/tfm/root/usr/share/gems/gems/fog-vsphere-2.1.0/lib/fog/vsphere/requests/compute/get_resource_pool.rb:16:in `get_raw_resource_pool' | /opt/theforeman/tfm/root/usr/share/gems/gems/fog-vsphere-2.1.0/lib/fog/vsphere/requests/compute/create_vm.rb:25:in `create_vm' | /opt/theforeman/tfm/root/usr/share/gems/gems/fog-vsphere-2.1.0/lib/fog/vsphere/models/compute/server.rb:303:in `save' | /usr/share/foreman/app/models/compute_resources/foreman/model/vmware.rb:447:in `create_vm' | /usr/share/foreman/app/models/concerns/orchestration/compute.rb:77:in `setCompute' | /usr/share/foreman/app/models/concerns/orchestration.rb:222:in `execute' | /usr/share/foreman/app/models/concerns/orchestration.rb:145:in `block in process' | /usr/share/foreman/app/models/concerns/orchestration.rb:137:in `each' | /usr/share/foreman/app/models/concerns/orchestration.rb:137:in `process' | /usr/share/foreman/app/models/concerns/orchestration.rb:44:in `around_save_orchestration' | /opt/theforeman/tfm-ror51/root/usr/share/gems/gems/activesupport-5.1.4/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
#41 Updated by Eric Hansen over 2 years ago
Was this ever tested?
Although I now see stand-alone hosts in the UI, trying to provision to them fails. I am on Foreman 1.20.1. The logs show,
2019-01-31T11:27:24 [I|app|cdd3a] Processed 1 tasks from queue 'Host::Managed Main', completed 0/5
2019-01-31T11:27:24 [E|app|cdd3a] Task 'Set up compute instance joey-tafoya.qa.catalogic.us' failed
2019-01-31T11:27:24 [E|app|cdd3a] Task 'Query instance details for joey-tafoya.qa.catalogic.us' canceled
2019-01-31T11:27:24 [E|app|cdd3a] Task 'Create IPv4 DNS record for joey-tafoya.qa.catalogic.us' canceled
2019-01-31T11:27:24 [E|app|cdd3a] Task 'Create Reverse IPv4 DNS record for joey-tafoya.qa.catalogic.us' canceled
2019-01-31T11:27:24 [E|app|cdd3a] Task 'Power up compute instance joey-tafoya.qa.catalogic.us' canceled
2019-01-31T11:27:24 [I|app|4e73a] Rendering text template
2019-01-31T11:27:24 [I|app|4e73a] Rendered text template (0.0ms)
2019-01-31T11:27:24 [I|app|4e73a] Completed 200 OK in 232ms (Views: 0.9ms | ActiveRecord: 43.5ms)
2019-01-31T11:27:24 [E|app|cdd3a] Failed to save: Failed to create a compute eng1vcenter-Apps-DC (VMware) instance joey-tafoya.qa.catalogic.us: CannotAccessVmComponent: A component of the virtual machine is not accessible on the host.
#42 Updated by Chris Roberts over 2 years ago
- Status changed from Resolved to Need more information
Do you have the full traceback from the production.log that I can see? As far as it being tested yes it should have been. I have about 16 tests that I run for regression besides testing the main feature. It was quite a bit ago so I apologize for not having that answer off hand.
#43 Updated by Chris Roberts over 2 years ago
It was tested in our downstream product here:
#45 Updated by Luca Lesinigo 9 months ago
sorry to resurrect this, but I recently tried with a fresh install of Foreman 2.1.2 and I cannot provision VMs on standalone VMware hosts (tried with an ESXi 5.5 and an ESXi 6.7 hosts, with different errors).
Documentation clearly says Only VMware clusters using vSphere are supported, not standalone ESX or ESXi servers but then links to this issue which is marked as closed and Fixed in Releases: 1.19.0 and it also contains comments like "marking as resolved". As a user reading documentation and this issue, the whole thing sounds a little confusing to me.
As far as I can understand, it still stands that standalone hosts are not supported and getting errors like I did is to be expected, even if this issue and some linked ones (also on RH Satellite) sounds like resolved. Can someone please clarify if this is correct?