Project

General

Profile

Bug #23911

Unable to build VM in Storage Pod that does not have DRS enabled

Added by Chris Roberts over 4 years ago. Updated almost 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Compute resources - VMware
Target version:
-
Difficulty:
medium
Triaged:
Yes
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:
Red Hat JIRA:

Description

Cloned from BZ:

Description of problem:
I am trying to build a VM on a VMware Storage Pod that does not have DRS enabled and it keeps failing.

Version-Release number of selected component (if applicable):

Foreman 1.18

How reproducible:

Steps to Reproduce:
1. Install Foreman and add VMware compute resource
2. Build VM selecting Storage POD
3. Watch the error

Actual results:

2018-06-12T12:53:16 [I|app|fb52d] Adding Compute instance for jim-paleo.toledo.satellite.lab.eng.rdu2.redhat.com
2018-06-12T12:53:17 [I|app|fb52d] Loaded compute resource data for networks in 0.818438204 seconds
2018-06-12T12:53:18 [W|app|fb52d] Failed to create a compute VMware (VMware) instance jim-paleo.toledo.satellite.lab.eng.rdu2.redhat.com: InvalidArgument: A specified parameter was not correct: podSelectionspec.storagePod

Expected results:
For it to build correctly.

Additional info:

History

#1 Updated by Chris Roberts over 4 years ago

I tested this with DRS off on the storage pod:

http://nimb.ws/4sp9J3

And had the VM HDD selection set as the Storage Pod:

http://nimb.ws/ic1VHK

I did get the same error you are getting:

http://nimb.ws/tgOEmN

Along with the stack trace from the production log.

2018-06-12T12:53:16 [I|app|fb52d] Adding Compute instance for jim-paleo.toledo.satellite.lab.eng.rdu2.redhat.com
2018-06-12T12:53:17 [I|app|fb52d] Loaded compute resource data for networks in 0.818438204 seconds
2018-06-12T12:53:18 [W|app|fb52d] Failed to create a compute VMware (VMware) instance jim-paleo.toledo.satellite.lab.eng.rdu2.redhat.com: InvalidArgument: A specified parameter was not correct: podSelectionspec.storagePod

I then tested it with DRS enabled:

http://nimb.ws/LuFKW9

And it worked correctly:

http://nimb.ws/UvbVe5

http://nimb.ws/FghnSq

#2 Updated by Chris Roberts over 4 years ago

  • Triaged set to No
  • Assignee deleted (Chris Roberts)

#3 Updated by Chris Roberts over 4 years ago

  • Triaged changed from No to Yes

#4 Updated by J. A. almost 4 years ago

I'm seeing the same behavior, Foreman 1.20.1 and vCenter 6.7.

Datastore Clusters with Storage DRS disabled show up as options in the Storage Pod dropdown box on the Virtual Machine tab when creating a host on a VMWare compute resource. But when submitting the create host form with such a pod selected, I get:

Unable to save
Failed to create a compute my-compute (VMware) instance my-fqdn: InvalidArgument: A specified parameter was not correct: podSelectionspec.storagePod

Stack trace:

 | RbVmomi::Fault: InvalidArgument: A specified parameter was not correct: podSelectionspec.storagePod
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/rbvmomi-1.13.0/lib/rbvmomi/connection.rb:63:in `parse_response'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/rbvmomi-1.13.0/lib/rbvmomi/connection.rb:92:in `call'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/rbvmomi-1.13.0/lib/rbvmomi/basic_types.rb:213:in `_call'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/rbvmomi-1.13.0/lib/rbvmomi/basic_types.rb:76:in `block (2 levels) in init'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/fog-vsphere-2.5.0/lib/fog/vsphere/requests/compute/create_vm.rb:62:in `create_vm_on_storage_pod'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/fog-vsphere-2.5.0/lib/fog/vsphere/requests/compute/create_vm.rb:36:in `create_vm'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/fog-vsphere-2.5.0/lib/fog/vsphere/models/compute/server.rb:301:in `save'
 | /usr/share/foreman/app/models/compute_resources/foreman/model/vmware.rb:450:in `create_vm'
 | /usr/share/foreman/app/models/concerns/orchestration/compute.rb:86: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'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:118:in `block in run_callbacks'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:136:in `run_callbacks'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activesupport-5.2.1/lib/active_support/callbacks.rb:816:in `_run_save_callbacks'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/callbacks.rb:342:in `create_or_update'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/persistence.rb:275:in `save'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/validations.rb:46:in `save'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:310:in `block (2 levels) in save'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:387:in `block in with_transaction_returning_status'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in `block in transaction'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:239:in `block in within_new_transaction'
 | /usr/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:236:in `within_new_transaction'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in `transaction'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:212:in `transaction'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:385:in `with_transaction_returning_status'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:310:in `block in save'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:325:in `rollback_active_record_state!'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/transactions.rb:309:in `save'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/activerecord-5.2.1/lib/active_record/suppressor.rb:44:in `save'
 | /usr/share/foreman/app/models/concerns/foreman/sti.rb:26:in `save'
 | /usr/share/foreman/app/controllers/hosts_controller.rb:104:in `create'
 | /usr/share/foreman/vendor/ruby/2.3.0/gems/actionpack-5.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

If this is expected behavior, maybe datastore clusters with Storage DRS disabled should not be considered eligible storage pods.

Also available in: Atom PDF