VM Provisioning as a Self-Service User - "undefined method" error


#1

Hello. I’m currently running miq capabanca-2. As admin user, I created testuser belonging to group EvmGroup-user_self_service. I also changed the ownership of the cirros image to belong to this group.

I then logged out and logged back in as testuser. I navigated to Clouds -> Lifecycle -> Provision Instances.

I am then taken to a screen that reads “Provision Instances - Select an Image”, and I select image cirros, which becomes highlighted. I then press the “Continue” button at bottom.
(image)

The next screen is titled “Provision Instances” but is totally blank! (image)

When I press “submit,” I get the following error:

Unexpected error encountered
undefined method 'make_request' for nil:NilClass [vm_cloud/pre_prov_continue]

(image)

The same error appears in Cloudforms 4 (CFME 5.5.0.11-1) (image)

What am I doing wrong?


Some notes about my MIQ/Cloudforms environment:

Only cloud providers (no infrastructure providers) are registered. 2 AWS EC2 providers and 1 Openstack. I am trying to provision a cirros instance on Openstack.

Provisioning Instances as the admin user works without any problems.

Thanks,
-Jun


#2

@gmccullough Can someone on your team look into this?


#3

The issue is that the automate dialog selection for the EvmGroup-user_self_service group overrides the default dialog name and appends “-user” to the dialog_name_prefix. This can be seen in the automate explorer here: /ManageIQ/Cloud/VM/Provisioning/Profile/EvmGroup-user_self_service instance in the dialog_name property.

There are two ways to resolve this:

  1. In Automate -> Customization -> Provisioning Dialogs (Left Nav) copy the Sample Openstack Instance Provisioning Dialog dialog to miq_provision_openstack_dialogs-user. (This method would require you to do the same thing for the Amazon dialogs as well.)

or

  1. Copy the EvmGroup-user_self_service instance referenced in the automate explorer above to a new automate domain and clear out the dialog_name field so it uses the default schema value. (This method does not require any additional steps for Amazon.)

#4

Thank you, @gmccullough! I tried method 1 on Cloudforms 4 (CFME 5.5.0.11) and method 2 on MIQ Capabanca 2 and I can verify that after applying the changes you specified, a user in EvmGroup-user_self_service can now make instance provisioning requests from Cloud Providers.

I have been referring to Red Hat Online Learning (RHOL) course CL220 Red Hat CloudForms Hybrid Cloud Management to get up to speed on MIQ/Cloudforms. It has been helpful overall, but unfortunately it only includes examples of provisioning from infrastructure providers like RHEV/oVirt and doesn’t cover provisioning from cloud providers. I will suggest to RHOL that they add your explanation to the CL220 course.

Thanks,
-Jun