Bug #23911
openUnable to build VM in Storage Pod that does not have DRS enabled
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:
Updated by Chris Roberts over 6 years ago
I tested this with DRS off on the storage pod:
And had the VM HDD selection set as the Storage Pod:
I did get the same error you are getting:
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:
And it worked correctly:
Updated by Chris Roberts over 6 years ago
- Assignee deleted (
Chris Roberts) - Triaged set to No
Updated by J. A. almost 6 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.