From a2fd5a6370aa9a7fec661814871a8b4494bdc24e Mon Sep 17 00:00:00 2001 From: Carlos Goncalves Date: Mon, 6 Mar 2017 13:28:42 +0100 Subject: [PATCH] Updated implemented architecture description and figure Also removes implementation plan for OPNFV Arno. JIRA: DOCTOR-81 Change-Id: I22a711a7b8096e86a8f0b17d6875d00b15667c0c Signed-off-by: Carlos Goncalves --- .../development/requirements/05-implementation.rst | 162 +++++++-------------- docs/release/userguide/feature.userguide.rst | 17 +++ docs/release/userguide/images/figure1.png | Bin 0 -> 68779 bytes 3 files changed, 66 insertions(+), 113 deletions(-) create mode 100755 docs/release/userguide/images/figure1.png diff --git a/docs/development/requirements/05-implementation.rst b/docs/development/requirements/05-implementation.rst index 84979772..7d168f6e 100644 --- a/docs/development/requirements/05-implementation.rst +++ b/docs/development/requirements/05-implementation.rst @@ -204,7 +204,7 @@ b) Response to the query request with information about the current state of :name: figure10 :width: 100% - NFVI Maintenance implementation plan + NFVI Maintenance scenario :numref:`figure10` shows a more detailed message flow (Steps 3 to 6 and 9) between the 4 building blocks introduced in Section 5.1.. @@ -229,77 +229,6 @@ between the 4 building blocks introduced in Section 5.1.. been freed. - -Implementation plan for OPNFV Release 1 ---------------------------------------- - -Fault management -^^^^^^^^^^^^^^^^ - -:numref:`figure11` shows the implementation plan based on OpenStack and -related components as planned for Release 1. Hereby, the Monitor can be realized -by Zabbix. The Controller is realized by OpenStack Nova [NOVA]_, Neutron -[NEUT]_, and Cinder [CIND]_ for compute, network, and storage, -respectively. The Inspector can be realized by Monasca [MONA]_ or a simple -script querying Nova in order to map between physical and virtual resources. The -Notifier will be realized by Ceilometer [CEIL]_ receiving failure events -on its notification bus. - -:numref:`figure12` shows the inner-workings of Ceilometer. After receiving -an "event" on its notification bus, first a notification agent will grab the -event and send a "notification" to the Collector. The collector writes the -notifications received to the Ceilometer databases. - -In the existing Ceilometer implementation, an alarm evaluator is periodically -polling those databases through the APIs provided. If it finds new alarms, it -will evaluate them based on the pre-defined alarm configuration, and depending -on the configuration, it will hand a message to the Alarm Notifier, which in -turn will send the alarm message northbound to the Consumer. :numref:`figure12` -also shows an optimized work flow for Ceilometer with the goal to -reduce the delay for fault notifications to the Consumer. The approach is to -implement a new notification agent (called "publisher" in Ceilometer -terminology) which is directly sending the alarm through the "Notification Bus" -to a new "Notification-driven Alarm Evaluator (NAE)" (see Sections 5.6.2 and -5.6.3), thereby bypassing the Collector and avoiding the additional delay of the -existing polling-based alarm evaluator. The NAE is similar to the OpenStack -"Alarm Evaluator", but is triggered by incoming notifications instead of -periodically polling the OpenStack "Alarms" database for new alarms. The -Ceilometer "Alarms" database can hold three states: "normal", "insufficient -data", and "fired". It is representing a persistent alarm database. In order to -realize the Doctor requirements, we need to define new "meters" in the database -(see Section 5.6.1). - -.. figure:: images/figure11.png - :name: figure11 - :width: 100% - - Implementation plan in OpenStack (OPNFV Release 1 ”Arno”) - - -.. figure:: images/figure12.png - :name: figure12 - :width: 100% - - Implementation plan in Ceilometer architecture - - -NFVI Maintenance -^^^^^^^^^^^^^^^^ - -For NFVI Maintenance, a quite similar implementation plan exists. Instead of a -raw fault being observed by the Monitor, the Administrator is sending a -Maintenance Request through the northbound interface towards the Controller -residing in the VIM. Similar to the Fault Management use case, the Controller -(in our case OpenStack Nova) will send a maintenance event to the Notifier (i.e. -Ceilometer in our implementation). Within Ceilometer, the same workflow as -described in the previous section applies. In addition, the Controller(s) will -take appropriate actions to evacuate the physical machines in order to prepare -them for the planned maintenance operation. After the physical machines are -emptied, the Controller will inform the Administrator that it can initiate the -maintenance. Alternatively the VMs can just be shut down and boot up on the -same host after maintenance is over. There needs to be policy for administrator -to know the plan for VMs in maintenance. - Information elements -------------------- @@ -889,55 +818,62 @@ Event Publisher for Alarm (Ceilometer) [*]_ **Problem statement:** - The existing "Alarm Evaluator" in OpenStack Ceilometer is periodically - querying/polling the databases in order to check all alarms independently from - other processes. This is adding additional delay to the fault notification - send to the Consumer, whereas one requirement of Doctor is to react on faults - as fast as possible. - - The existing message flow is shown in :numref:`figure12`: after receiving - an "event", a "notification agent" (i.e. "event publisher") will send a - "notification" to a "Collector". The "collector" is collecting the - notifications and is updating the Ceilometer "Meter" database that is storing - information about the "sample" which is capured from original "event". The - "Alarm Evaluator" is periodically polling this databases then querying "Meter" - database based on each alarm configuration. - - In the current Ceilometer implementation, there is no possibility to directly - trigger the "Alarm Evaluator" when a new "event" was received, but the "Alarm - Evaluator" will only find out that requires firing new notification to the - Consumer when polling the database. +The existing "Alarm Evaluator" in OpenStack Ceilometer is periodically +querying/polling the databases in order to check all alarms independently from +other processes. This is adding additional delay to the fault notification +send to the Consumer, whereas one requirement of Doctor is to react on faults +as fast as possible. + +The existing message flow is shown in :numref:`figure12`: after receiving +an "event", a "notification agent" (i.e. "event publisher") will send a +"notification" to a "Collector". The "collector" is collecting the +notifications and is updating the Ceilometer "Meter" database that is storing +information about the "sample" which is capured from original "event". The +"Alarm Evaluator" is periodically polling this databases then querying "Meter" +database based on each alarm configuration. + +.. figure:: images/figure12.png + :name: figure12 + :width: 100% + + Implementation plan in Ceilometer architecture + +In the current Ceilometer implementation, there is no possibility to directly +trigger the "Alarm Evaluator" when a new "event" was received, but the "Alarm +Evaluator" will only find out that requires firing new notification to the +Consumer when polling the database. **Change/feature request:** - This BP proposes to add a new "event publisher for alarm", which is bypassing - several steps in Ceilometer in order to avoid the polling-based approach of - the existing Alarm Evaluator that makes notification slow to users. +This BP proposes to add a new "event publisher for alarm", which is bypassing +several steps in Ceilometer in order to avoid the polling-based approach of +the existing Alarm Evaluator that makes notification slow to users. See +:numref:`figure12`. - After receiving an "(alarm) event" by listening on the Ceilometer message - queue ("notification bus"), the new "event publisher for alarm" immediately - hands a "notification" about this event to a new Ceilometer component - "Notification-driven alarm evaluator" proposed in the other BP (see Section - 5.6.3). +After receiving an "(alarm) event" by listening on the Ceilometer message +queue ("notification bus"), the new "event publisher for alarm" immediately +hands a "notification" about this event to a new Ceilometer component +"Notification-driven alarm evaluator" proposed in the other BP (see Section +5.6.3). - Note, the term "publisher" refers to an entity in the Ceilometer architecture - (it is a "notification agent"). It offers the capability to provide - notifications to other services outside of Ceilometer, but it is also used to - deliver notifications to other Ceilometer components (e.g. the "Collectors") - via the Ceilometer "notification bus". +Note, the term "publisher" refers to an entity in the Ceilometer architecture +(it is a "notification agent"). It offers the capability to provide +notifications to other services outside of Ceilometer, but it is also used to +deliver notifications to other Ceilometer components (e.g. the "Collectors") +via the Ceilometer "notification bus". **Implementation detail** - * "Event publisher for alarm" is part of Ceilometer - * The standard AMQP message queue is used with a new topic string. - * No new interfaces have to be added to Ceilometer. - * "Event publisher for Alarm" can be configured by the Administrator of - Ceilometer to be used as "Notification Agent" in addition to the existing - "Notifier" - * Existing alarm mechanisms of Ceilometer can be used allowing users to - configure how to distribute the "notifications" transformed from "events", - e.g. there is an option whether an ongoing alarm is re-issued or not - ("repeat_actions"). +* "Event publisher for alarm" is part of Ceilometer +* The standard AMQP message queue is used with a new topic string. +* No new interfaces have to be added to Ceilometer. +* "Event publisher for Alarm" can be configured by the Administrator of + Ceilometer to be used as "Notification Agent" in addition to the existing + "Notifier" +* Existing alarm mechanisms of Ceilometer can be used allowing users to + configure how to distribute the "notifications" transformed from "events", + e.g. there is an option whether an ongoing alarm is re-issued or not + ("repeat_actions"). .. [*] https://etherpad.opnfv.org/p/doctor_bps diff --git a/docs/release/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index 4ae521bd..0dde4f26 100644 --- a/docs/release/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst @@ -3,6 +3,23 @@ Doctor capabilities and usage ============================= + +:numref:`figure1` shows the currently implemented and tested architecture of +Doctor. The implementation is based on OpenStack and related components. The +Monitor can be realized by a sample Python-based implementation provided in the +Doctor code repository. The Controller is realized by OpenStack Nova, Neutron +and Cinder for compute, network and storage, respectively. The Inspector can be +realized by OpenStack Congress or a sample Python-based implementation also +available in the code repository of Doctor. The Notifier is realized by +OpenStack Aodh. + +.. figure:: images/figure1.png + :name: figure1 + :width: 100% + + Implemented and tested architecture + + Immediate Notification ---------------------- diff --git a/docs/release/userguide/images/figure1.png b/docs/release/userguide/images/figure1.png new file mode 100755 index 0000000000000000000000000000000000000000..066599c2c745a66d99f389eacf6003e472e4cc84 GIT binary patch literal 68779 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 literal 0 HcmV?d00001 -- 2.16.6