Bug 1280017

Summary: Automate instance requires fully-qualified path to properly follow relationship
Product: Red Hat CloudForms Management Engine Reporter: Jared Deubel <jdeubel>
Component: AutomateAssignee: mkanoor
Status: CLOSED NEXTRELEASE QA Contact: Dave Johnson <dajohnso>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 5.4.0CC: jhardy, mkanoor, obarenbo, tfitzger
Target Milestone: GA   
Target Release: 5.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-12 17:02:57 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:

Description Jared Deubel 2015-11-10 18:10:38 UTC
Description of problem:
Need to fill in full path in order to get automate methods to work. /Customer/System/Request/ needs to be changed to full path Domain/Customer/System/Request/. 

Previously this was working in CloudForms 5.3.

automation.log
======================================
--] I, [2015-11-09T17:28:34.129276 #2591:1295ea4]  INFO -- : Updated namespace [miqaedb:/System/Request/vm_delete#create  Customer/System]
[----] I, [2015-11-09T17:28:34.188260 #2591:1295ea4]  INFO -- : Following Relationship [miqaedb:/Customer/Company/Methods/vm_delete#create]
[----] I, [2015-11-09T17:28:34.224449 #2591:1295ea4]  INFO -- : Updated namespace [Company/Methods/vm_delete  Customer/Company]
[----] I, [2015-11-09T17:28:34.228946 #2591:1295ea4]  INFO -- : Invoking [inline] method [/Customer/Company/Methods/vm_delete] with inputs [{}]
======================================

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

How reproducible:
100%

Comment 2 Greg McCullough 2015-11-10 18:19:51 UTC
Madhu - Please work with Jared on this issue, he has an environment that recreates the issue using a custom button.

Comment 3 mkanoor 2015-11-11 15:27:07 UTC
In Automate relationships the paths should have a leading slash, so that we can break the URI into ints constituent parts. After we do the split we expect to see a path.

If the leading slash is missing we get an INVALID_URI during splitting the URI.

In the customers case their paths might not have a leading slash. Waiting for Jared to confirm that. We tested this change on Jared's server by adding a leading slash in the URI for the relationships.

Regarding the inherits attribute in the miq_ae_class, that is legacy experimental stuff. The old UI would allow you set the inherits to the Automate, which has been removed in the newer versions of the UI. Old customer databases might have remnants of the inherits field accidentally set from the UI. After we introduced domains, the legacy inherits columns were not updated to include the domain as part of the name causing the failure.

We would have to clear out the inherits column from the miq_ae_class from the rails console using 
MiqAeClass.where("inherits IS NOT NULL").each { |c| c.update_attributes(:inherits => nil) }

Comment 4 mkanoor 2015-11-12 17:02:57 UTC
The customer had a similar named domain and namespace /PitneyBowes & /Customer/PitneyBowes.
The domain is called PitneyBowes and in the Customer domain we have a namespace called PitneyBowes.

We will fix this in the next release.

The customer changed the domain name from PitneyBowes to PB, which resolved the issue.