Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The sequence diagram illustrates the process of registering rsync with the orchestrator via the Controller API.  It The diagram also shows a detail segement of the Composite Application instantiation sequence where the rsync gRPC client connection is retrievedtwo scenarios of how the rsync registration information is used.  In the first case, the ncm component will obtain the rsync controller record to set up its own GRPC connection table when it needs to communicate with rsync to deploy network intents.  In the second case, orchestrator obtains the rsync client connection - which will already be in its internal client table - during the sequence of installing a composite application.

PlantUML Macro
titleRegister rsync
@startuml
skinparam roundcorner 20
title Register rsync via Controller API

actor Admin

box "Distributed Application Scheduler\n(orchestrator)" #LightBlue
participant Controller_API
participant GRPC_Server_info
participant scheduler
end box

box "Network Configuration Manager\n(ncm)" #LightBlue
participant GRPC_Conns_ncm
participant scheduler_ncm
end box

box "EMCO DB" #LightGreen
database mongo
end box

box "AppContext" #LightGreen
database etcd
end box

box "Resource Synchronizer\n(rsync)" #LightBlue
participant InstallAppAPI
end box

Admin -> Controller_API : POST rsync controller\nregistration information\n(Name:"rsync", Host, Port)
Controller_API -> mongo : Save rsync controller record
Controller_API -> GRPC_Server_info : add a GRPC connection\nto rsync server to\ninternal table
Controller_API -> Admin : Return==

== Some time later - ncm\ncalls rsync to instantiate\nNetwork Intents  ==
|||
scheduler_ncm -> etcd : Prepares network intent\nresources in AppContext
scheduler_ncm -> GRPC_Conns_ncm : Retrieve gRPC connection\nto rsync from internal table
GRPC_Conns_ncm -> mongo : if rsync connection not present\nretrieve rsync record\nand create connection
GRPC_Conns_ncm -> scheduler_ncm : return rsync connection
scheduler_ncm -> InstallAppAPI : GRPC InstallApp API call (AppContext identifier)

== Some time later - orchestrator\ncalls rsync to instantiate\nan application ==
|||
scheduler -> etcd : Prepares composite\napplication resources\nin AppContext
scheduler -> GRPC_Server_info : Retrieve gRPC connection\nto rsync from internal table
scheduler -> InstallAppAPI : GRPC InstallApp API call (AppContext identifier)
|||
@enduml

...