-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy path500_LiveRessourcePathWithCacheUpdate.plantuml
More file actions
64 lines (48 loc) · 2.51 KB
/
500_LiveRessourcePathWithCacheUpdate.plantuml
File metadata and controls
64 lines (48 loc) · 2.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
@startuml 500_LiveRessourcePathWithCacheUpdate
skinparam responseMessageBelowArrow true
title
Request for live classes and updating the cache
(Many Forwardings, as for example:
RequestForLiveControlConstructCausesReadingFromDeviceAndWritingIntoCache
RequestForLiveAlarmCapabilityCausesReadingFromDeviceAndWritingIntoCache
RequestForLiveFirmwareCollectionCausesReadingFromDeviceAndWritingIntoCache
and many more)
RequestForLiveUpdateCausesUpdatingDeviceMetadataList
end title
participant "external" as requestor
participant "MWDI:/{livePath}" as LiveControlConstructClass
participant "ODL://{controllerInternalPathToMountPoint}/node={mountName}/yang-ext:mount/core-model-1-4:control-construct\n{livePath shortened by /core-model-1-4:network-control-domain=cache/control-construct={mountName}}" as OdlControlConstructClass
participant "ElasticSearch:/{livePath, but shortened by /core-model-1-4:network-control-domain=live}" as EsControlConstructClass
participant "ElasticSearch (deviceList)" as deviceList
requestor -> LiveControlConstructClass: (apiKeyAuth)
activate LiveControlConstructClass
note over LiveControlConstructClass
livePath might include a ?fields= filter
to retrieve only specific components of the addressed class
end note
LiveControlConstructClass -> OdlControlConstructClass
OdlControlConstructClass --> LiveControlConstructClass: {class-with-all-or-a-subset-of-components}
LiveControlConstructClass --> requestor: {class-with-all-or-a-subset-of-components}
note over LiveControlConstructClass
IF an entire CC has been read from the device
the lastCompleteControlConstructUpdateTime
attribute has to be added to the ControlConstruct
end note
note over LiveControlConstructClass
IF livePath has a corresponding path at ElasticSearch
(e.g. not the case for *-current-performance
end note
LiveControlConstructClass -> EsControlConstructClass: GET
EsControlConstructClass --> LiveControlConstructClass: {class}
LiveControlConstructClass -> EsControlConstructClass: PUT {class that is updated in all or a subset of attributes}
note over LiveControlConstructClass
Only for the update of the complete ControlConstruct:
update the device's position in deviceMetadataList and the
metadata accordingly.
end note
LiveControlConstructClass -> deviceList: <i>update deviceMetadataList's metadata attributes</i>
deactivate LiveControlConstructClass
skinparam NoteBackgroundColor salmon
note over requestor: Requestor has to wait \nfor a very long time for \na response. Does this work?
skinparam NoteBackgroundColor default
@enduml