Updated Doctor user configuration doc
[doctor.git] / docs / release / userguide / feature.userguide.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 Doctor capabilities and usage
5 =============================
6
7 :numref:`figure1` shows the currently implemented and tested architecture of
8 Doctor. The implementation is based on OpenStack and related components. The
9 Monitor can be realized by a sample Python-based implementation provided in the
10 Doctor code repository. The Controller is realized by OpenStack Nova, Neutron
11 and Cinder for compute, network and storage, respectively. The Inspector can be
12 realized by OpenStack Congress, Vitrage or a sample Python-based implementation also
13 available in the code repository of Doctor. The Notifier is realized by
14 OpenStack Aodh.
15
16 .. figure:: images/figure1.png
17    :name: figure1
18    :width: 100%
19
20    Implemented and tested architecture
21
22
23 Immediate Notification
24 ----------------------
25
26 Immediate notification can be used by creating 'event' type alarm via
27 OpenStack Alarming (Aodh) API with relevant internal components support.
28
29 See:
30 - Upstream spec document:
31 https://specs.openstack.org/openstack/ceilometer-specs/specs/liberty/event-alarm-evaluator.html
32 - Aodh official documentation:
33 https://docs.openstack.org/aodh/latest
34
35 An example of a consumer of this notification can be found in the Doctor
36 repository. It can be executed as follows:
37
38 .. code-block:: bash
39
40     git clone https://gerrit.opnfv.org/gerrit/doctor
41     cd doctor/doctor_tests/consumer
42     CONSUMER_PORT=12346
43     python sample.py "$CONSUMER_PORT" > consumer.log 2>&1 &
44
45 Consistent resource state awareness
46 -----------------------------------
47
48 Resource state of compute host can be changed/updated according to a trigger
49 from a monitor running outside of OpenStack Compute (Nova) by using
50 force-down API.
51
52 See:
53 * Upstream spec document: https://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/mark-host-down.html
54 * Upstream Compute API reference document: https://developer.openstack.org/api-ref/compute
55 * Doctor Mark Host Down Manual: https://git.opnfv.org/doctor/tree/docs/development/manuals/mark-host-down_manual.rst
56
57 Valid compute host status given to VM owner
58 -------------------------------------------
59
60 The resource state of a compute host can be retrieved by a user with the
61 OpenStack Compute (Nova) servers API.
62
63 See:
64 * Upstream spec document: https://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/get-valid-server-state.html
65 * Upstream Compute API reference document: https://developer.openstack.org/api-ref/compute
66 * Doctor Get Valid Server State Manual: https://git.opnfv.org/doctor/tree/docs/development/manuals/get-valid-server-state.rst
67
68 Port data plane status update
69 -----------------------------
70
71 Port data plane status can be changed/updated in the case of issues in the underlying data plane
72 affecting connectivity from/to Neutron ports.
73
74 See:
75 * Upstream spec document: https://specs.openstack.org/openstack/neutron-specs/specs/pike/port-data-plane-status.html
76 * Upstream Networking API reference document: https://developer.openstack.org/api-ref/network
77
78 Doctor driver (Congress)
79 ------------------------
80
81 The Doctor driver can be notified about NFVI failures that have been detected by monitoring systems.
82
83 See:
84 * Upstream spec document: https://specs.openstack.org/openstack/congress-specs/specs/mitaka/push-type-datasource-driver.html
85 * Congress official documentation: https://docs.openstack.org/congress/latest
86
87 Event API (Vitrage)
88 -------------------
89 With this API, monitoring systems can push events to the Doctor datasource.
90
91 See:
92 * Upstream spec document: https://specs.openstack.org/openstack/vitrage-specs/specs/ocata/event-api.html
93 * Vitrage official documentation: https://docs.openstack.org/vitrage/latest
94
95 Doctor datasource (Vitrage)
96 ---------------------------
97 After receiving events from monitoring systems, the Doctor datasource identifies the affected resources based on the resource topology.
98
99 See:
100 * Upstream spec document: https://specs.openstack.org/openstack/vitrage-specs/specs/ocata/doctor-datasource.html
101