...
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 | ||
---|---|---|
| ||
@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 |
...