Bug 1219098
| Summary: | VMs ordered from a service are not being enumerated | |||
|---|---|---|---|---|
| Product: | Red Hat CloudForms Management Engine | Reporter: | Josh Carter <jocarter> | |
| Component: | Automate | Assignee: | Greg McCullough <gmccullo> | |
| Status: | CLOSED ERRATA | QA Contact: | Shveta <sshveta> | |
| Severity: | urgent | Docs Contact: | ||
| Priority: | high | |||
| Version: | 5.3.0 | CC: | cbolz, cpelland, fdewaley, gmccullo, jhardy, lavenel, mfeifer, mkanoor, obarenbo, ssainkar, sshveta, tfitzger | |
| Target Milestone: | GA | |||
| Target Release: | 5.4.0 | |||
| Hardware: | All | |||
| OS: | All | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: |
Previously, when ordering from a service, the VMs provisioned by that service were not being enumerated. If a second user provisioned, that user's provision failed with a duplicate VM name conflict. This was due to create_request_task did not yield task before saving.
With this update, create_request_task was changes to yield task before saving. This has resolved the issue and VMs are now enumerated for each service request.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1220505 (view as bug list) | Environment: | ||
| Last Closed: | 2015-06-16 13:01:48 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1220505 | |||
Work-around for this issue:
When creating the catalog item goto the "Request Info" tab and include the name sequence marker ($n{#}) as part of the specified VM/Instance Name. For example: test_vm_$n{4}
This will cause enumeration to be used when generating a new instance for this catalog item.
New commit detected on manageiq/master: https://github.com/ManageIQ/manageiq/commit/61a5e7950a276d48c3ae5131e94aa055667f1852 commit 61a5e7950a276d48c3ae5131e94aa055667f1852 Author: Greg McCullough <gmccullo> AuthorDate: Thu May 7 09:29:42 2015 -0400 Commit: Greg McCullough <gmccullo> CommitDate: Tue May 12 10:14:53 2015 -0400 Change create_request_task to yield task before saving Added spec tests https://bugzilla.redhat.com/show_bug.cgi?id=1219098 vmdb/app/models/miq_provision_request_template.rb | 34 +++++---- vmdb/app/models/miq_request.rb | 3 + .../models/miq_provision_request_template_spec.rb | 89 ++++++++++++++++++++++ 3 files changed, 110 insertions(+), 16 deletions(-) create mode 100644 vmdb/spec/models/miq_provision_request_template_spec.rb New commit detected on manageiq/master: https://github.com/ManageIQ/manageiq/commit/1b8a09373b87f768cfbbab6f2ace08e22be56fe9 commit 1b8a09373b87f768cfbbab6f2ace08e22be56fe9 Author: Greg McCullough <gmccullo> AuthorDate: Thu May 7 09:22:49 2015 -0400 Commit: Greg McCullough <gmccullo> CommitDate: Tue May 12 10:14:35 2015 -0400 Refactor miq_provision_request_template.rb https://bugzilla.redhat.com/show_bug.cgi?id=1219098 vmdb/app/models/miq_provision_request_template.rb | 52 +++++++++++++---------- 1 file changed, 29 insertions(+), 23 deletions(-) Not fixed in 5.4.0.0.26.20150511144816_f924bd4 . Will check in next build Service Vm's are enumerated. fixed in 5.4.0.2.20150519003830_673f996 New commit detected on cfme/5.3.z: https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=6a875c38b4823e3d6e2f9acbb77163e4043a5c4e commit 6a875c38b4823e3d6e2f9acbb77163e4043a5c4e Author: Greg McCullough <gmccullo> AuthorDate: Thu May 7 09:22:49 2015 -0400 Commit: Greg McCullough <gmccullo> CommitDate: Tue May 12 11:08:27 2015 -0400 Refactor miq_provision_request_template.rb https://bugzilla.redhat.com/show_bug.cgi?id=1219098 vmdb/app/models/miq_provision_request_template.rb | 52 +++++++++++++---------- 1 file changed, 29 insertions(+), 23 deletions(-) New commit detected on cfme/5.3.z: https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=65a6728b69aad96ac6e220818412ac8f86006253 commit 65a6728b69aad96ac6e220818412ac8f86006253 Author: Greg McCullough <gmccullo> AuthorDate: Thu May 7 09:29:42 2015 -0400 Commit: Greg McCullough <gmccullo> CommitDate: Tue May 12 11:08:45 2015 -0400 Change create_request_task to yield task before saving Added spec tests https://bugzilla.redhat.com/show_bug.cgi?id=1219098 vmdb/app/models/miq_provision_request_template.rb | 34 +++++---- vmdb/app/models/miq_request.rb | 3 + .../models/miq_provision_request_template_spec.rb | 89 ++++++++++++++++++++++ 3 files changed, 110 insertions(+), 16 deletions(-) create mode 100644 vmdb/spec/models/miq_provision_request_template_spec.rb New commit detected on cfme/5.3.z: https://code.engineering.redhat.com/gerrit/gitweb?p=cfme.git;a=commitdiff;h=44b20d4c22c5429aa58987640ce6e73348be1b4b commit 44b20d4c22c5429aa58987640ce6e73348be1b4b Author: Greg McCullough <gmccullo> AuthorDate: Wed May 20 20:39:16 2015 -0400 Commit: Greg McCullough <gmccullo> CommitDate: Thu May 21 11:24:33 2015 -0400 Update user factory with email user and stub request approver https://bugzilla.redhat.com/show_bug.cgi?id=1219098 vmdb/spec/factories/user.rb | 5 +++++ vmdb/spec/models/miq_provision_request_template_spec.rb | 1 + 2 files changed, 6 insertions(+) Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-1100.html |
Description of problem: When ordering from a service the vm's provisioned by that services are not being enumerated. If a second user provisions that users provision will fail with a duplicate vm name conflict. [----] I, [2015-05-06T14:47:34.719374 #15171:12bc888] INFO -- : Q-task_id([service_template_provision_task_12000000000013]) <AutomationEngine> In State=[checkprovisioned], invoking [ on_error] method=[update_serviceprovision_status(status => '[MiqException::MiqProvisionError]: A VM with name: [ose-system] already exists')] [----] I, [2015-05-06T14:47:34.743095 #13337:88b080] INFO -- : Q-task_id([service_template_provision_task_12000000000016]) <AutomationEngine> <AEMethod [ManageIQ/Service/Provisioning /StateMachines/ServiceProvision_Template/update_serviceprovision_status]> Ending [----] I, [2015-05-06T14:47:34.743252 #13337:88b080] INFO -- : Q-task_id([service_template_provision_task_12000000000016]) <AutomationEngine> Method exited with rc=MIQ_OK [----] E, [2015-05-06T14:47:34.744078 #13337:88b080] ERROR -- : Q-task_id([service_template_provision_task_12000000000016]) MIQ(MiqAeEngine.deliver) Error delivering {"request"=>"clon e_to_service"} for object [ServiceTemplateProvisionTask.12000000000016] with state [checkprovisioned] to Automate: Version-Release number of selected component (if applicable): 5.3.4 How reproducible: very Steps to Reproduce: 1. provision from a service (ex. ose deployment) 2. 3. Actual results: vm is provisioned with the same name defined in the catalog item (ose-broker) Expected results: vm should be enumerated for each service request (ose-broker001, ose-broker002 etc) Additional info: