Merge "Updated Doctor feature configuration doc"
authorGerald Kunzmann <kunzmann@docomolab-euro.com>
Mon, 23 Apr 2018 10:18:57 +0000 (10:18 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Mon, 23 Apr 2018 10:18:57 +0000 (10:18 +0000)
UPSTREAM
docs/development/overview/testing.rst
docs/release/userguide/feature.userguide.rst
doctor_tests/identity_auth.py
tox.ini

index de01cbf..04ca511 100644 (file)
--- a/UPSTREAM
+++ b/UPSTREAM
 -
   url: https://bugs.launchpad.net/python-openstackclient/+bug/1684989
   system: Launchpad-bug
+-
+  url: https://blueprints.launchpad.net/vitrage/+spec/doctor-datasource
+  system: Launchpad
+-
+  url: https://blueprints.launchpad.net/vitrage/+spec/support-inspector-sb-api
+  system: Launchpad
+-
+  url: https://blueprints.launchpad.net/vitrage/+spec/support-mark-down-action-for-instances
+  system: Launchpad
index 8d0e90e..98be43e 100644 (file)
@@ -10,7 +10,7 @@ for doctor CI.
 
 You need to install OpenStack and other OPNFV components except Doctor Sample
 Inspector, Sample Monitor and Sample Consumer, as these will be launched in
-this script. You are encouraged to use OPNFV offcial installers, but you can
+this script. You are encouraged to use OPNFV official installers, but you can
 also deploy all components with other installers such as devstack or manual
 operation. In those cases, the versions of all components shall be matched with
 the versions of them in OPNFV specific release.
@@ -18,38 +18,16 @@ the versions of them in OPNFV specific release.
 Run Test Script
 ===============
 
-Doctor project has own testing script under `doctor/tests`_. This test script
+Doctor project has own testing script under `doctor/doctor_tests`_. This test script
 can be used for functional testing agained an OPNFV deployment.
 
-.. _doctor/tests: https://gerrit.opnfv.org/gerrit/gitweb?p=doctor.git;a=tree;f=tests;
+.. _doctor/doctor_tests: https://git.opnfv.org/doctor/tree/doctor_tests
 
 Before running this script, make sure OpenStack env parameters are set properly
-following `OpenStack CLI manual`_, so that Doctor Inspector can operate
+(See e.g. `OpenStackClient Configuration`_), so that Doctor Inspector can operate
 OpenStack services.
 
-.. _OpenStack CLI manual: https://docs.openstack.org/user-guide/common/cli-set-environment-variables-using-openstack-rc.html
-
-Run Bash Test Script
-~~~~~~~~~~~~~~~~~~~~
-
-You can run the bash script as follows:
-
-.. code-block:: bash
-
-    git clone https://gerrit.opnfv.org/gerrit/doctor
-    cd doctor/tests
-    export INSTALLER_TYPE=local
-    export INSPECTOR_TYPE=sample
-    ./run.sh
-
-INSTALLER_TYPE can be 'apex', 'fuel', 'joid' and 'local'(default). If you are
-not using OPNFV installers in this option, chose 'local'.
-INSPECTOR_TYPE can be specified either 'sample'(default) or 'congress'.
-
-For testing with stable version, checkout stable branch of doctor repo before
-'./run.sh'.
-
-The bash test script will be deprecated(only bug fixes) after E Release.
+.. _OpenStackClient Configuration: https://docs.openstack.org/python-openstackclient/latest/configuration/index.html
 
 Run Python Test Script
 ~~~~~~~~~~~~~~~~~~~~~~
@@ -82,7 +60,6 @@ Functest container. You can run the Doctor test with the following steps:
         -e INSTALLER_IP=${INSTALLER_IP} \
         -e INSPECTOR_TYPE=sample \
         docker.io/opnfv/functest-features:${DOCKER_TAG} /bin/bash
-    docker exec <container_id> functest env prepare
     docker exec <container_id> functest testcase run doctor-notification
 
 See `Functest Userguide`_ for more information.
index 0dde4f2..0783e0f 100644 (file)
@@ -9,7 +9,7 @@ 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
+realized by OpenStack Congress, Vitrage or a sample Python-based implementation also
 available in the code repository of Doctor. The Notifier is realized by
 OpenStack Aodh.
 
@@ -26,18 +26,21 @@ Immediate Notification
 Immediate notification can be used by creating 'event' type alarm via
 OpenStack Alarming (Aodh) API with relevant internal components support.
 
-See, upstream spec document:
-http://specs.openstack.org/openstack/ceilometer-specs/specs/liberty/event-alarm-evaluator.html
+See:
+- Upstream spec document:
+https://specs.openstack.org/openstack/ceilometer-specs/specs/liberty/event-alarm-evaluator.html
+- Aodh official documentation:
+https://docs.openstack.org/aodh/latest
 
 An example of a consumer of this notification can be found in the Doctor
 repository. It can be executed as follows:
 
 .. code-block:: bash
 
-    git clone https://gerrit.opnfv.org/gerrit/doctor -b stable/danube
-    cd doctor/tests
+    git clone https://gerrit.opnfv.org/gerrit/doctor
+    cd doctor/doctor_tests/consumer
     CONSUMER_PORT=12346
-    python consumer.py "$CONSUMER_PORT" > consumer.log 2>&1 &
+    python sample.py "$CONSUMER_PORT" > consumer.log 2>&1 &
 
 Consistent resource state awareness
 -----------------------------------
@@ -46,9 +49,10 @@ Resource state of compute host can be changed/updated according to a trigger
 from a monitor running outside of OpenStack Compute (Nova) by using
 force-down API.
 
-See
-http://artifacts.opnfv.org/doctor/danube/manuals/mark-host-down_manual.html
-for more detail.
+See:
+* Upstream spec document: https://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/mark-host-down.html
+* Upstream Compute API reference document: https://developer.openstack.org/api-ref/compute
+* Doctor Mark Host Down Manual: https://git.opnfv.org/doctor/tree/docs/development/manuals/mark-host-down_manual.rst
 
 Valid compute host status given to VM owner
 -------------------------------------------
@@ -56,6 +60,42 @@ Valid compute host status given to VM owner
 The resource state of a compute host can be retrieved by a user with the
 OpenStack Compute (Nova) servers API.
 
-See
-http://artifacts.opnfv.org/doctor/danube/manuals/get-valid-server-state.html
-for more detail.
+See:
+* Upstream spec document: https://specs.openstack.org/openstack/nova-specs/specs/mitaka/implemented/get-valid-server-state.html
+* Upstream Compute API reference document: https://developer.openstack.org/api-ref/compute
+* Doctor Get Valid Server State Manual: https://git.opnfv.org/doctor/tree/docs/development/manuals/get-valid-server-state.rst
+
+Port data plane status update
+-----------------------------
+
+Port data plane status can be changed/updated in the case of issues in the underlying data plane
+affecting connectivity from/to Neutron ports.
+
+See:
+* Upstream spec document: https://specs.openstack.org/openstack/neutron-specs/specs/pike/port-data-plane-status.html
+* Upstream Networking API reference document: https://developer.openstack.org/api-ref/network
+
+Doctor driver (Congress)
+------------------------
+
+The Doctor driver can be notified about NFVI failures that have been detected by monitoring systems.
+
+See:
+* Upstream spec document: https://specs.openstack.org/openstack/congress-specs/specs/mitaka/push-type-datasource-driver.html
+* Congress official documentation: https://docs.openstack.org/congress/latest
+
+Event API (Vitrage)
+-------------------
+With this API, monitoring systems can push events to the Doctor datasource.
+
+See:
+* Upstream spec document: https://specs.openstack.org/openstack/vitrage-specs/specs/ocata/event-api.html
+* Vitrage official documentation: https://docs.openstack.org/vitrage/latest
+
+Doctor datasource (Vitrage)
+---------------------------
+After receiving events from monitoring systems, the Doctor datasource identifies the affected resources based on the resource topology.
+
+See:
+* Upstream spec document: https://specs.openstack.org/openstack/vitrage-specs/specs/ocata/doctor-datasource.html
+
index 0d42959..62b45ed 100644 (file)
@@ -40,4 +40,5 @@ def get_session(auth=None):
     """Get a user credentials auth session."""
     if auth is None:
         auth = get_identity_auth()
-    return session.Session(auth=auth)
+    return session.Session(auth=auth,
+                           verify=os.environ.get('OS_CACERT'))
diff --git a/tox.ini b/tox.ini
index 2eaadac..53efbfe 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -21,6 +21,7 @@ passenv =
     OS_PROJECT_DOMAIN_NAME
     OS_PROJECT_DOMAIN_ID
     OS_REGION_NAME
+    OS_CACERT
     IMAGE_NAME
     VM_COUNT
     PROFILER_TYPE