OOF - Music interaction in R2
The Homing and allocation service (HAS) uses Music for two-fold purposes:
Conventional geo-distributed state store for intermediate state persistence of homing requests.
Messaging substrate for interaction between the HAS components (Controller - Data, API - Controller, and Solver-Data)
Notes from meeting on 2/26:
Functional testing HAS depends on using Music for interaction between the various components.
How does the architecture committee want the projects to use Music?
(a) Using Music as a service (shared across all ONAP projects)
(b) Each project has its own instance of Music
(c) Hybrid of (a) and (b)
Need to document Music dependency in architecture diagram, need to take this question to the Architecture subcommittee.
[MUSIC teams response (Bharath Balasubramanian, PTL): I have spoken to the architecture committee about it and they essentially leave the decision to individual projects and MUSIC of course. The MUSIC team's recommendation is as follows: While ideally MUSIC should be used as a shared service among ONAP components, for Beijing, it might be easier for teams to use them as its own instance, since MUSIC was accepted only recently as a project and is still working its way through the LF processes. ]
HAS should ideally be decoupled from the underlying data persistence/messaging layer.
Current HAS code has no Music specific dependencies, but uses the distributed persistent queuing semantics provided Music for the Active/Active architecture.
R3+ item: create plugins for effectively realizing the above decoupling
Functional abstraction of features required by Active/Active HAS:
Persistence:
Strongly consistent, atomic get/put
Geo-distributed RPC mechanism (messaging beween components across multiple replicas across multiple sites):
Atomic Enqueue, Dequeue operations
Distributed atomic Test & Set locks for ensuring each job is picked exactly one worker (component)
Open Questions
Who is responsible for the delivery of Music in either of the above approaches?
>> We'd want this to be Music's responsibility.
[MUSIC teams response (Bharath Balasubramanian, PTL): The MUSIC team will certainly deliver the APIs as required by ONAP HAS and Portal. However, there is still an open question on how MUSIC will be discovered. This will require a discussion with the architecture committee with the inputs of both MSB and OOM that we can have on 3/6/2018.]
Is geo-redundancy a key requirement for all deployments?
>> We will need to support geo-redundancy in R3 (maybe HAS is ahead of the curve), but HAS should also be able to support local deployments using alternate persistence/messaging mechanisms.
[MUSIC teams response (Bharath Balasubramanian, PTL): While the MUSIC team understands that OOF may want to support other persistence mechanisms for local deployments, we do advice that due care is taken to ensure that when going from local to multi-site, performance, availability and correctness are not compromised. ]