From 9adb43f6b764ca4766c43fbdb8afe351f43a24ee Mon Sep 17 00:00:00 2001 From: "beili.zhou" Date: Fri, 11 Aug 2017 22:16:05 -0400 Subject: OAM operations 2 - oam OAM operations changes are large, need to break down to multiple submissions based on size and compilability. This is the second set which covers the following OAM operations: start, stop, restart, maintenance-mode, and timeout of the operation along with error OAM state. Includes these user stories: APPC-39/41/43/44/45/46/52/77. Issue Id: APPC-38 Change-Id: Iafad643c5ba2d2af24482b03db8f7a40397fa46e Signed-off-by: beili.zhou --- .../appc-oam-model/src/main/yang/appc-oam.yang | 69 ++++++++++++++++++++-- 1 file changed, 65 insertions(+), 4 deletions(-) (limited to 'appc-oam/appc-oam-model/src/main/yang') diff --git a/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang b/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang index d84d8ce79..03675c8f2 100644 --- a/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang +++ b/appc-oam/appc-oam-model/src/main/yang/appc-oam.yang @@ -77,6 +77,17 @@ module appc-oam { mandatory true; } + container flags { + leaf request-timeout { + description "The allowed time in seconds to perform the request. If the request cannot + be completed in this amount of time, the request is aborted with OAM state set + to Error. If set to zero, no timeout exists and the request will be handled + continue until operation completes or fails. If omitted, the default value of + 20 is used."; + type uint16; + mandatory false; + } + } } } @@ -103,6 +114,23 @@ module appc-oam { } } + typedef appc-state { + type enumeration { + enum "Error"; + enum "Unknown"; + enum "Not_Instantiated"; // Equivalent to Bundle's UNINSTALL + enum "Instantiated"; // Equivalent to Bundle's INSTALL + enum "Starting"; + enum "Started"; + enum "EnteringMaintenanceMode"; + enum "MaintenanceMode"; + enum "Stopping"; + enum "Stopped"; + enum "Restarting"; + } + description "Refers to the various states an APP-C instance can be in"; + } + rpc get-metrics { description "An operation to get list of registered Metrics in APP-C"; output { @@ -135,10 +163,10 @@ module appc-oam { } } - rpc stop { + rpc maintenance-mode { description "An operation that disables appc-provider-lcm so that it no longer accepts LCM request. This operation has no impact on queued and currently executing LCM request. A notification will be - sent out indicating the APP-C is idle once all LCM request have completed execution. "; + sent out indicating the APP-C is idle once all LCM request have completed execution."; input { uses common-header; } @@ -149,13 +177,46 @@ module appc-oam { } rpc start { - description "An operation that enables appc-provider-lcm so that it can begin to accepts LCM request. "; + description "An operation that enables appc-provider-lcm so that it can begin to accepts LCM request. This + includes starting any appc bundles which are stopped."; input { - uses common-header; + uses common-header; } output { uses common-header; uses status; } } + + rpc get-appc-state { + description "Returns the current state of the running APPC LCM instance"; + output { + leaf state { + type appc-state; + } + } + } + + rpc stop { + description "Force stops the APPC bundles that accept LCM requests"; + // Note: OAM feature bundles and it's dependencies (Appc-common and LifeCycle Manager) would continue to run + input { + uses common-header; + } + output { + uses common-header; + uses status; + } + } + + rpc restart { + description "An operation that restarts APPC by invoking the stop rpc followed by the start rpc."; + input { + uses common-header; + } + output { + uses common-header; + uses status; + } + } } -- cgit 1.2.3-korg