Relations fails with more than 3 applications

Bug #1905275 reported by Archana krishnan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Expired
Medium
Unassigned

Bug Description

We tried to replace init containers with relations in 2.8.6-bionic-amd64 ,we have some 4 applications where one is dependent on another.
If we have only 3 apps, App3 will wait for App2 and App2 will wait for App1 .This scenario(App1->App2->App3) is working.
If we bring in 4th Application, App2 has to wait for App1 and App3 has to wait for App2 and App4 has to wait for App3.This scenario (App1->App2->App3->App4) is having an issue where App3 is not receiving data and hence App4 is not receiving.

Track: https://opensourcemano.slack.com/archives/C018E7D387N/p1604070083038600

Revision history for this message
Pen Gale (pengale) wrote :

This sounds like it might be a design issue with the charms.

If you have a complex set of dependencies between apps, you probably want to code things so that the charms drop into a waiting state, rather than being blocked, if a relation is missing. They can then fire off appropriate events when the relation joins.

What framework are you using to write the charms?

Changed in juju:
status: New → Incomplete
Revision history for this message
Archana krishnan (archanakrishnan) wrote :

We are using operator framework for writing charms .The charm was created with operator-python,
eg: charm create -t operator-python <charm-name>

In apply_spec function we have added waiting state for the charms. The data we receive through relations will be stored as state variable .This state variable will be checked and the charms will wait until the state variable is not None.

Pen Gale (pengale)
Changed in juju:
status: Incomplete → New
Revision history for this message
Ian Booth (wallyworld) wrote :

juju will be gaining capabilities this cycle to make it easier for charms to coordinate dependencies. We will be allowing charms to register for cloud events so they can be informed when resources are created etc. We will be allowing the charms to request creation of single resources rather than everything in one yaml file. The charms will still need to coordinate via relation data though.

Pen Gale (pengale)
Changed in juju:
status: New → Triaged
importance: Undecided → Medium
milestone: none → 3.0.0
Changed in juju:
milestone: 3.0.0 → 3.0.1
Changed in juju:
milestone: 3.0.1 → 3.0.2
Changed in juju:
milestone: 3.0.2 → 3.0.3
Revision history for this message
Juan M. Tirado (tiradojm) wrote :

Old issue. Reopen if required.

Changed in juju:
milestone: 3.0.3 → none
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for Canonical Juju because there has been no activity for 60 days.]

Changed in juju:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.