Currently, adding an embedded method doesn't resolve its dependencies. For example, one needs to rename a virtual machine in a method. The implementation is different for RHV and VMware, so it would be easier to have a facade method that calls the actual method for the provider. Say that the method that needs to rename the VM is `/Stuff/MyProcess/RenameVM`. To be able to call a method from the utility class, it embeds it, say `/Stuff/VM/Common/Rename`. The actual implementation is provided by `/Stuff/VM/VMware/Rename` and `/Stuff/VM/RHV`. Naively, one would simply embed these two methods in `/Stuff/VM/Common/Rename`. But recursive dependency is not implemented and the methods will have to be embedded in `/Stuff/MyProcess/RenameVM`. This RFE asks for recursive dependency implementation, so that embedding methods is kept simple from the user stand point. Associated Github issue: https://github.com/ManageIQ/manageiq-automation_engine/issues/202
Associated Github Issue: https://github.com/ManageIQ/manageiq-automation_engine/issues/202 Associated PR: https://github.com/ManageIQ/manageiq-automation_engine/pull/207 PR has been merged. Moving to POST.
Fixed! I can see code in appliance and also automate working with embedded methods dependency implementation. Verified on: 5.10.0.22 Thank you!
Resources used to verify - 1. http://talk.manageiq.org/t/automate-embedded-methods/3124 2. https://cloudformsblog.redhat.com/2018/04/17/embedded-methods/ 3. https://github.com/ManageIQ/manageiq-automation_engine/pull/207#issuecomment-415458472
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://access.redhat.com/errata/RHSA-2019:0212