prevent endpoints lying in different spaces from being related

Bug #1947760 reported by Andrea Ieri
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
Low
Unassigned

Bug Description

I have the strong suspicion than in the vast majority of cases charms expect both ends of a relation to lie in the same space. It would therefore be very useful if juju could prevent operators from relating two applications unless the respective endpoints have been bound to the correct (i.e. same) space.

If in some corner cases this rule needed to be broken, juju could still offer a force flag:

juju add-relation app1:endpoint1 app2:endpoint2 --force

Specifying the above in a bundle would be more awkward, but could perhaps be expressed by restating the bound space as follows:

relations:
- - app1:endpoint1:space1
  - app2:endpoint2:space2

Note that this feature would effectively be a more product-oriented solution to bug 1840814 and bug 1936838, which would become obsolete. It would also heavily reduce the importance of bug 1947030.

Revision history for this message
John A Meinel (jameinel) wrote :

I don't think we would ever want to "prevent relations across spaces", because the design is very much that many spaces are routable to each other. However, we do want to model routes and it would make a lot of sense to engage and give warnings/possibly errors if we don't believe there is a route between spaces. (Note that without routing, there is no guarantee that even within a space everything is routable to each other.)

I'm going to put this in our networking modeling discussion to keep this in mind.

Also of note with network modeling, is that we might be moving away from relation endpoints being in a space, to 'service locators' being in a space. Which means that we would be decoupling config relationships from connections.

Changed in juju:
importance: Undecided → Medium
status: New → Triaged
tags: added: network
Revision history for this message
Andrea Ieri (aieri) wrote :

Thank you for the extra perspective John. We have not really encountered any case in which we would want to mismatch spaces across relations, and are struggling to implement bundle validation / alerting for when they are. Any functionality built into juju that would make it easier to determine when endpoints are not mutually routable will be very welcome.

Revision history for this message
Canonical Juju QA Bot (juju-qa-bot) wrote :

This Medium-priority bug has not been updated in 60 days, so we're marking it Low importance. If you believe this is incorrect, please update the importance.

Changed in juju:
importance: Medium → Low
tags: added: expirebugs-bot
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.