Hi,

Following the previous discussions regarding approaches to make several instances of OpenStack collaborative[1], we finally decided to make a research report on the approach we initially proposed during the edge hackathon in Berlin (OSF summit 2018).
The document is a short article (~10 pages long)[2] that gives a rather complete overview of the approach. If you are interested to see how mutliple instances of distinct OpenStack can give the illusion of a single system you might be interested to give it a look.

A brief excerpt:
“We propose a  novel approach that delivers any collaboration between services of distinct OpenStack once and for all. Our approach eliminates development efforts related to the brokering aspect by leveraging dynamic composition and a Domain Specific Language (DSL).
Using these two mechanisms, Admins/DevOps can specify, on a per-request basis, which services from which OpenStacks are required for the collaboration. This information is then interpreted to dynamical recompose services between the different OpenStacks, enabling the execution of single-, cross- or multiple-site requests without code effort.”

The main idea is, considering several OpenStacks running, to use a DSL to specify which instance of the service (i.e. on which Openstack) the user wants its request to be executed.
For instance, to provision a VM on a Nova in Paris using an image from a Glance in New York. You may contact the API either in NewYork or in Paris and perform the following request:

"openstack server create --image debian --scope { compute: Paris, image: New York }"

Along with the report comes a proof of concept available on GitLab[3].

Feel free to get back to us.

Cheers

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-March/013562.html
[2] https://hal.inria.fr/hal-02527366/
[3] https://gitlab.inria.fr/discovery/openstackoid

----

Marie Delavergne