diff --git a/GS_NFV-SOL_026.md b/GS_NFV-SOL_026.md index 88c3e03653bac339345970fbf99eefa8bcf48e2c..01faba038949be527e830c8a489c666cc3f72d23 100644 --- a/GS_NFV-SOL_026.md +++ b/GS_NFV-SOL_026.md @@ -453,7 +453,6 @@ This clause describes a sequence for modifying an individual Computer System res **Figure 6.4.4-1: Flow of Computer System modification** -The modification of an individual Computer System resource, as illustrated in Figure 6.4.4-1, consists of the following steps. The modification of an individual Computer System resource, as illustrated in Figure 6.4.4-1, consists of the following steps. **Precondition:** The individual Computer System resource has been previously created. @@ -1702,7 +1701,176 @@ The request and response data structures of the physical resource performance ma ## 11.4 Sequence diagrams (informative) -Editor's Note: This sub-clause will add sequence diagrams of operations supported over this service interface. +### 11.4.1 Introduction + +Flows related to task monitoring, subscription management and notifications are described in Annex A of the present document. + +### 11.4.2 Creation of a Logging Job + +This clause describes a sequence for creating an individual Logging Job. + +![Figure 11.4.2-1: Flow of Logging Job creation](media/image34.png) + +**Figure 11.4.2-1: Flow of Logging Job creation** + +The creation of a Logging Job object, as illustrated in Figure 11.4.2-1, consists of the following steps. + +**Precondition:** None. + +1. The API consumer sends a POST request to the LogService resource URI including a valid representation of the individual Logging Job resource in the message content body. +1. If the PIM supports asynchronous operations and creation of the Logging Job resource requires some time to process, the PIM returns a \"202 Accepted\" response. The response also contains the URI of the associated Task Monitor in the Location header. The response body can optionally contain representation of the corresponding Task resource created by the PIM for this asynchronous operation. +1. The PIM creates an individual Logging Job resource. +1. The PIM returns a \"201 Created\" response to the API consumer and includes in the message content body a representation of the created Logging Job resource. The response also contains the URI of the newly created resource in the Location header. + +**Postcondition:** Upon successful completion of the synchronous operation or of the corresponding task in case of asynchronous operation, the individual Logging Job resource has been created. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.3 Querying information about Logging Job resources + +This clause describes the sequences for querying information about both Logging Job resource collection and individual Logging Job resource. + +![Figure 11.4.3-1: Flow of querying information about Logging Job resources](media/image35.png) + +**Figure 11.4.3-1: Flow of querying information about Logging Job resources** + +The querying of information about one or more Logging Job resources, as illustrated in Figure 11.4.3-1, consists of the following steps. + +**Precondition:** One or more individual Logging Job resources have been created. + +1. If the API consumer intends to get information about multiple Logging Job resources, it sends a GET request to the LogService resource URI. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of a Logging Job collection, containing information about all the individual Logging Job resources that have been created. +1. If the API consumer intends to get information about an individual Logging Job resource, it sends a GET request to the Individual Logging Job resource identified by its name in the URI. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the individual Logging Job resource. + +**Postcondition:** None. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.4 Modifying a Logging Job resource + +This clause describes a sequence for modifying an individual Logging Job resource. + +![Figure 11.4.4-1: Flow of Logging Job modification](media/image36.png) + +**Figure 11.4.4-1: Flow of Logging Job modification** + +The modification of an individual Logging Job resource, as illustrated in Figure 11.4.4-1, consists of the following steps. + +**Precondition:** The individual Logging Job resource has been previously created. + +1. The API consumer sends a PATCH request to the Individual Logging Job resource, including data structure in the message content body representing the modifiable properties to be modified in the individual Logging Job resource. +1. If the PIM supports asynchronous operations and modification of the Logging Job resource requires some time to process, the PIM returns a \"202 Accepted\" response. The response also contains the URI of the associated Task Monitor in the Location header. The response body can optionally contain representation of the corresponding Task resource created by the PIM for this asynchronous operation. +1. The PIM modifies the Individual Logging Job resource. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the modified Logging Job resource. Alternatively, the PIM can also return a \"204 No Content\" response to the API consumer indicating successful operation. + +**Postcondition:** Upon successful completion of the synchronous operation or of the corresponding task in case of asynchronous operation, the Individual Logging Job resource has been modified. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.5 Replacing a Logging Job resource + +This clause describes a sequence for replacing an individual Logging Job resource. + +![Figure 11.4.5-1: Flow of Logging Job replacement](media/image37.png) + +**Figure 11.4.5-1: Flow of Logging Job replacement** + +The replacement of an individual Logging Job resource, as illustrated in Figure 11.4.5-1, consists of the following steps. + +**Precondition:** The individual Logging Job resource has been previously created. + +1. The API consumer sends a PUT request to the Individual Logging Job resource including a valid representation of the individual Logging Job resource to be replaced in the message content body. +1. If the PIM supports asynchronous operations and replacement of the Logging Job resource requires some time to process, the PIM returns a \"202 Accepted\" response. The response also contains the URI of the associated Task Monitor in the Location header. The response body can optionally contain representation of the corresponding Task resource created by the PIM for this asynchronous operation. +1. The PIM replaces the Individual Logging Job resource. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the replaced Logging Job resource. Alternatively, the PIM can also return a \"204 No Content\" response to the API consumer indicating successful operation. + +**Postcondition:** Upon successful completion of the synchronous operation or of the corresponding task in case of asynchronous operation, the Individual Logging Job resource has been replaced. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.6 Deleting a Logging Job resource + +This clause describes a sequence for deleting an Individual Logging Job resource. + +![Figure 11.4.6-1: Flow of Logging Job deletion](media/image38.png) + +**Figure 11.4.6-1: Flow of Logging Job deletion** + +The deletion of an individual Logging Job resource, as illustrated in Figure 11.4.6-1, consists of the following steps. + +**Precondition:** The individual Logging Job resource has been previously created. + +1. The API consumer sends a DELETE request to the Individual Logging Job resource. +1. If the PIM supports asynchronous operations and deletion of the Logging Job resource requires some time to process, the PIM returns a \"202 Accepted\" response. The response also contains the URI of the associated Task Monitor in the Location header. The response body can optionally contain representation of the corresponding Task resource created by the PIM for this asynchronous operation. +1. The PIM deletes the individual Logging Job resource. +1. The PIM returns a \"204 No Content\" response to the API consumer indicating that the resource has been successfully deleted. Alternatively, the PIM can also return a \"200 OK\" response to the API consumer including a representation of the deleted Logging Job resource in the message content body. + +**Postcondition:** Upon successful completion of the synchronous operation or of the corresponding task in case of asynchronous operation, the Individual Logging Job resource has been deleted. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.7 Querying information about logs + +This clause describes the sequences for querying information about multiple log entries and individual log entry. + +![Figure 11.4.7-1: Flow of querying information about Logs](media/image39.png) + +**Figure 11.4.7-1: Flow of querying information about Logs** + +The querying of information about one or more Log entries, as illustrated in Figure 11.4.7-1, consists of the following steps. + +**Precondition:** One or more Log Entries have been generated by the PIM. + +1. If the API consumer intends to get information about multiple Log entries, it sends a GET request to the Logs collection URI. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of a Logs collection, containing information about all the individual log entries that have been collected. +1. If the API consumer intends to get information about an individual log entry, it sends a GET request to the Individual Log resource identified by its name in the URI. +1. The PIM returns a \"200 OK\" response to the API consumer and includes in the message content body a representation of the individual Log entry. + +**Postcondition:** None. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.8 Receiving diagnostics related logs + +This clause describes the sequence for receiving diagnostics related logs collected by the PIM. + +![Figure 11.4.8-1: Flow of receiving diagnostics related logs](media/image40.png) + +**Figure 11.4.8-1: Flow of receiving diagnostics related logs** + +The procedure of receiving receiving logs related to diagnostics consists of the following steps as illustrated in figure 11.4.8-1. + +**Precondition:** The API consumer has previously created a Logging Job associated with a target physical resource. + +1. The API consumer sends a POST request to {Base URI of target physical resource}/Actions/LogService.CollectDiagnosticData and includes the necessary action parameters in the message body. +1. The PIM collects the logs to generate the diagnostics report. +1. Upon successful completion of the action, the PIM returns a \"204 No Content\" response to the API consumer indicating that the action has been performed successfully. The Location header in the response contains a URI of a resource, which has the type LogEntry and contains the collected diagnostic data. +1. The API consumer sends a GET request to the LogEntry resource URI provided by the PIM in the Location Header of the \"204 No Content\" response. +1. The PIM responds with \"200 OK\" and valid representation of LogEntry resource containing the logs. + +**Postcondition:** None. + +**Error handling:** In case of failure, appropriate error information is provided in the response. + +### 11.4.9 Receiving notification about availability of diagnostics related logs + +This clause describes the sequence for receiving notification about availability of diagnostics related logs. + +![Figure 11.4.9-1: Flow of receiving notification about availability of diagnostics related logs](media/image41.png) + +**Figure 11.4.9-1: Flow of receiving notification about availability of diagnostics related logs** + +The procedure consists of the following steps as illustrated in figure 11.4.9-1. + +**Precondition:** The API consumer has previously subscribed to receive notifications about messages in the LogService message registry. The API consumer has previously invoked collection of diagnostics related logs. + +1. An event is triggered once the collection of diagnostic data is completed by the PIM, resulting in generation of a new DiagnosticDataCollected message in the LogService message registry. +1. The PIM sends the DiagnosticDataCollected message as an event notification to the consumer indicating availability of diagnostics related logs. + +**Postcondition:** None. + +**Error handling:** None. # 11.5 Resources Editor's Note: This sub-clause will add API resources of the service interface. diff --git a/media/image34.png b/media/image34.png new file mode 100644 index 0000000000000000000000000000000000000000..1c86818d64be2cfdd7142f1cdcd8ab762efac6db Binary files /dev/null and b/media/image34.png differ diff --git a/media/image35.png b/media/image35.png new file mode 100644 index 0000000000000000000000000000000000000000..c8e2501de58b52c8c306d9ebdd43adf8ab4b58d5 Binary files /dev/null and b/media/image35.png differ diff --git a/media/image36.png b/media/image36.png new file mode 100644 index 0000000000000000000000000000000000000000..3ac7867506d543aa80b6aca9f28b037514335186 Binary files /dev/null and b/media/image36.png differ diff --git a/media/image37.png b/media/image37.png new file mode 100644 index 0000000000000000000000000000000000000000..a4da1c85cd2b79afa2147875c66ea72427fa6701 Binary files /dev/null and b/media/image37.png differ diff --git a/media/image38.png b/media/image38.png new file mode 100644 index 0000000000000000000000000000000000000000..d9af2851d3b968f601ade2dd1e41650a99575d6d Binary files /dev/null and b/media/image38.png differ diff --git a/media/image39.png b/media/image39.png new file mode 100644 index 0000000000000000000000000000000000000000..050696d728b8a8fe044a4b5741cfaa251f08a16c Binary files /dev/null and b/media/image39.png differ diff --git a/media/image40.png b/media/image40.png new file mode 100644 index 0000000000000000000000000000000000000000..eefe9b51c635c957d0602443e70dbbca44cab6ea Binary files /dev/null and b/media/image40.png differ diff --git a/media/image41.png b/media/image41.png new file mode 100644 index 0000000000000000000000000000000000000000..749303e3e65a5e16d1d0fe44bd9bada6f06e3e03 Binary files /dev/null and b/media/image41.png differ diff --git a/uml/Clause11/create-logging-job.txt b/uml/Clause11/create-logging-job.txt new file mode 100644 index 0000000000000000000000000000000000000000..0088477a5320d3f93e1a4782b061c6deeb635f1d --- /dev/null +++ b/uml/Clause11/create-logging-job.txt @@ -0,0 +1,19 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + autonumber + cli -> srv: POST .../redfish/v1/.../LogServices (LogService) +alt Asynchronous Operation + cli <- srv: 202 Accepted +else Synchronous Operation + srv -> srv: Creates individual\nLogging Job\nresource + cli <- srv: 201 Created (LogService) + autonumber stop +end + note over cli, srv + Postcondition: Upon successful completion of the synchronous operation or of the corresponding + task in case of asynchronous operation, the individual Logging Job resource has been created. + end note +@enduml \ No newline at end of file diff --git a/uml/Clause11/delete-logging-job.txt b/uml/Clause11/delete-logging-job.txt new file mode 100644 index 0000000000000000000000000000000000000000..20887d6dc166b3b8667bbb84a7616183a8187029 --- /dev/null +++ b/uml/Clause11/delete-logging-job.txt @@ -0,0 +1,22 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + note over cli, srv + Precondition: The individual Logging Job resource has been previously created. + end note + autonumber + cli -> srv: DELETE .../redfish/v1/LogServices/{LogServiceId} +alt Asynchronous Operation + cli <- srv: 202 Accepted +else Synchronous Operation + srv -> srv: Deletes individual\nLogging Job\nresource + cli <- srv: 204 No Content / 200 OK (LogService) + autonumber stop +end + note over cli, srv + Postcondition: Upon successful completion of the synchronous operation or of the corresponding task in + case of asynchronous operation, the Individual Logging Job resource has been deleted. + end note +@enduml \ No newline at end of file diff --git a/uml/Clause11/modify-logging-job.txt b/uml/Clause11/modify-logging-job.txt new file mode 100644 index 0000000000000000000000000000000000000000..d11d08b362f831b0d8201aa16ec4b6bc63e51723 --- /dev/null +++ b/uml/Clause11/modify-logging-job.txt @@ -0,0 +1,22 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + note over cli, srv + Precondition: The individual Logging Job resource has been previously created. + end note + autonumber + cli -> srv: PATCH .../redfish/v1/.../LogServices/{LogServiceId} (PatchSet) +alt Asynchronous Operation + cli <- srv: 202 Accepted +else Synchronous Operation + srv -> srv: Modifies individual\nLogging Job\nresource + cli <- srv: 200 OK (LogService) / 204 No Content + autonumber stop +end + note over cli, srv + Postcondition: Upon successful completion of the synchronous operation or of the corresponding task + in case of asynchronous operation, the Individual Logging Job resource has been modified. + end note +@enduml \ No newline at end of file diff --git a/uml/Clause11/query-logging-job-resources.txt b/uml/Clause11/query-logging-job-resources.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0ca436e52c714c1f10659b6a7d5f68e855eebf2 --- /dev/null +++ b/uml/Clause11/query-logging-job-resources.txt @@ -0,0 +1,20 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + + note over cli, srv + Precondition: One or more individual Logging Jobs have been created. + end note + + alt Query information about multiple Logging Jobs + autonumber + cli -> srv: GET .../redfish/v1/.../LogServices + srv -> cli: 200 OK (LogServiceCollection) + else Query information about individual Logging Job resource + cli -> srv: GET .../redfish/v1/.../LogServices/{LogServiceId} + srv -> cli: 200 OK (LogService) + autonumber stop +end +@enduml diff --git a/uml/Clause11/query-logs.txt b/uml/Clause11/query-logs.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c2258e5eb06c69392f57074975505f2710218f7 --- /dev/null +++ b/uml/Clause11/query-logs.txt @@ -0,0 +1,20 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + + note over cli, srv + Precondition: One or more Log Entries have been generated. + end note + + alt Query information about multiple Logs + autonumber + cli -> srv: GET .../redfish/v1/.../LogServices/{LogServiceId}/Entries + srv -> cli: 200 OK (LogEntryCollection) + else Query information about individual Log resource + cli -> srv: GET .../redfish/v1/.../LogServices/{LogServiceId}/Entries/{EntryId} + srv -> cli: 200 OK (LogEntry) + autonumber stop +end +@enduml diff --git a/uml/Clause11/receive-diagnostics-logs.txt b/uml/Clause11/receive-diagnostics-logs.txt new file mode 100644 index 0000000000000000000000000000000000000000..ef4cfd2441bfdfca9059f38be02c80869c4822cc --- /dev/null +++ b/uml/Clause11/receive-diagnostics-logs.txt @@ -0,0 +1,16 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + note over srv, cli + Precondition: The API consumer has previously created a Logging Job associated with a target physical resource. + end note + autonumber + cli -> srv: POST {Base URI of target physical resource}/Actions\n/LogService.CollectDiagnosticData (ActionParameters) + srv -> srv: The PIM collects\n diagnostics related\nlogs + cli <- srv: 204 No Content + cli -> srv: GET {LogEntry URI} + srv -> cli: 200 OK (LogEntry) + autonumber stop +@enduml \ No newline at end of file diff --git a/uml/Clause11/receive-notif-logs-available.txt b/uml/Clause11/receive-notif-logs-available.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce2d319ec25d27635a432c1bef805868d5dccaed --- /dev/null +++ b/uml/Clause11/receive-notif-logs-available.txt @@ -0,0 +1,17 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 +participant "API consumer" as cli +participant "PIM" as srv + +note over cli, srv +Precondition: The API consumer has previously subscribed to receive +notifications about messages in the LogService message registry. The API + consumer has previously invoked collection of diagnostics related logs. +end note +autonumber +srv -> srv: Collection of diagnostic\ndata is completed +cli <- srv: POST {NotificationTargetURI} (Event) +autonumber stop + +@enduml \ No newline at end of file diff --git a/uml/Clause11/replace-logging-job.txt b/uml/Clause11/replace-logging-job.txt new file mode 100644 index 0000000000000000000000000000000000000000..b2258ddf60d3fcda014dba49ae78980e8259b2ae --- /dev/null +++ b/uml/Clause11/replace-logging-job.txt @@ -0,0 +1,22 @@ +@startuml +skinparam defaultFontName "Arial" +skinparam defaultFontSize 11 + participant "API consumer" as cli + participant "PIM" as srv + note over cli, srv + Precondition: The individual Logging Job resource has been previously created. + end note + autonumber + cli -> srv: PUT .../redfish/v1/.../LogServices/{LogServiceId} (LogService) +alt Asynchronous Operation + cli <- srv: 202 Accepted +else Synchronous Operation + srv -> srv: Replaces individual\nLogging Job\nresource + cli <- srv: 200 OK (LogService) / 204 No Content + autonumber stop +end + note over cli, srv + Postcondition: Upon successful completion of the synchronous operation or of the corresponding + task in case of asynchronous operation, the Individual Logging Job resource has been replaced. + end note +@enduml \ No newline at end of file