Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
In this scenario, it is desired to have all apps available in the Hub accessed through the Virtual proxy, but load balancing to directed to one node for Published Apps, and another node for Unpublished apps.
From end-user perspective, everything works fine (List App, Open App,…) until it is attempted to duplicate an application from the hub which does not work.
This will also affect ODAG applications where the Details app is Published. Error is shown "Failed to copy the app"
Use different Proxies.
The underlying issue is that when the “Copy” of the App is being made, the copy would be unpublished, ergo the node that is making the Copy cannot see it, so the process fails.
It is suggested to use different virtual proxies instead of only one to load balance nodes for Published and Non published apps.
JIRA ID SHEND-631
Is there a solution to this problem?
Hello @msvanfeldt
This is currently under investigation by RnD.
Keep an eye on the Release notes for ID SHEND-631. We do not currently have an ETA.
All the best,
Sonja
OK. I'm trying to set up an ODAG solution in a multinode environment. Is there a workaround for this problem?
Hello @msvanfeldt
I would recommend logging a ticket to see if our Support Engineers are able to provide you with guidance on how to work around this issue.
All the best,
Sonja
I solved this by creating a custom property connected to Nodes and Apps.
Custom Property: ODAG
Value: YES
Then I created a load balancing Rule called ODAG:
Resource filter: App_*
Conditions: ((node.@ODAG=resource.@ODAG))
Then I configure the Nodes I want to use for ODAG and the published detailsapp with the value YES.
I don't manage with your suggestion, I still get "failed to copy the app" Is there something else you did to make it work?
thanks in advance,
br
Paul
Hi @pauljohansson ,
I faced a similar situation in the past and what @msvanfeldt suggested didn't work for me either.
The only way I found to make this work was to allow for the template app to be balanced everywhere.
Therefore, assigning the custom property @ODAG=YES on the app and then creating a balancing rule of the type:
Resource filter: App_*
Conditions: ((resource.@ODAG="YES"))
allows for the app creation.
The downside of this is that the generated app will be balanced on all nodes as well (ODAG apps inherit CPs) and I understand that might be problematic.
I don't know if the following could be suitable for you, but in our case a further workaround limited the issue. We established, as a platform policy, that ODAG apps must be published. We created some streams dedicated to this that basically work as a "fake" work area: in those streams users could see only apps they own. Then we added to the previous load balancing rule something like:
and resource.published="false"
This means that you can manage the balancing of the app once it is generated according to your needs and allowing for the app to be balanced everywhere only while it is generated.
I hope this helps.
Best,
Davide
Hej @dpolini
Thanks for a quick reply.
1 I've created a Custom Property on the template app (ODAG="YES")
2 I've create a load balance rule ((resource.@ODAG="YES"))
My rule seems valid:
However, I still get the same problem, "failed to copy the app", when using ODAG from any of the front-end Nodes. Any idea?
br
Paul
I
Hi @pauljohansson ,
I am sorry it didn't work but I fail to understand why it doesn't. The only thing I will say, but it's wishful thinking, is that it happened to me that rules involving custom property had a little time buffer before starting working properly.
If it keeps not working I would suggest opening a support case.
Best,
Davide
Here is an update of how I solved it.
The problem is that a published template-app is copied. The copy isn't published but resides in My Work. After the reload the new copy will be published again.
So my rule looks like this:
Resource filter: App_*
Conditions: ((node.@ODAG=resource.@ODAG)
and
resource.stream.Empty()
)