diff --git a/doc/source/architecture.rst b/doc/source/architecture.rst
index b903a9752..bac4addc5 100644
--- a/doc/source/architecture.rst
+++ b/doc/source/architecture.rst
@@ -130,7 +130,7 @@ The Watcher Dashboard can be used to interact with the Watcher system through
Horizon in order to control it or to know its current status.
Please, read `the detailed documentation about Watcher Dashboard
-`_.
+`_.
.. _archi_watcher_database_definition:
@@ -170,7 +170,7 @@ Unless specified, it then selects the most appropriate :ref:`strategy
goal.
The :ref:`Strategy ` is then dynamically loaded (via
-`stevedore `_). The
+`stevedore `_). The
:ref:`Watcher Decision Engine ` executes
the strategy.
diff --git a/doc/source/configuration/configuring.rst b/doc/source/configuration/configuring.rst
index 7541b10f4..171c79b7b 100644
--- a/doc/source/configuration/configuring.rst
+++ b/doc/source/configuration/configuring.rst
@@ -373,7 +373,7 @@ Configure Measurements
You can configure and install Ceilometer by following the documentation below :
-#. http://docs.openstack.org/developer/ceilometer
+#. https://docs.openstack.org/ceilometer/latest
#. http://docs.openstack.org/kilo/install-guide/install/apt/content/ceilometer-nova.html
The built-in strategy 'basic_consolidation' provided by watcher requires
@@ -386,13 +386,13 @@ the OpenStack site.
You can use 'ceilometer meter-list' to list the available meters.
For more information:
-http://docs.openstack.org/developer/ceilometer/measurements.html
+https://docs.openstack.org/ceilometer/latest/admin/telemetry-measurements.html
Ceilometer is designed to collect measurements from OpenStack services and from
other external components. If you would like to add new meters to the currently
existing ones, you need to follow the documentation below:
-#. http://docs.openstack.org/developer/ceilometer/new_meters.html
+#. https://docs.openstack.org/ceilometer/latest/contributor/new_meters.html#meters
The Ceilometer collector uses a pluggable storage system, meaning that you can
pick any database system you prefer.
diff --git a/doc/source/contributor/devstack.rst b/doc/source/contributor/devstack.rst
index d27f6a77d..f0332d628 100644
--- a/doc/source/contributor/devstack.rst
+++ b/doc/source/contributor/devstack.rst
@@ -24,8 +24,8 @@ Watcher plugin::
For more detailed instructions, see `Detailed DevStack Instructions`_. Check
out the `DevStack documentation`_ for more information regarding DevStack.
-.. _PluginModelDocs: http://docs.openstack.org/developer/devstack/plugins.html
-.. _DevStack documentation: http://docs.openstack.org/developer/devstack/
+.. _PluginModelDocs: https://docs.openstack.org/devstack/latest/plugins.html
+.. _DevStack documentation: https://docs.openstack.org/devstack/latest
Detailed DevStack Instructions
==============================
diff --git a/doc/source/contributor/plugin/goal-plugin.rst b/doc/source/contributor/plugin/goal-plugin.rst
index 0a43c04d6..5678a9c89 100644
--- a/doc/source/contributor/plugin/goal-plugin.rst
+++ b/doc/source/contributor/plugin/goal-plugin.rst
@@ -127,7 +127,7 @@ To get a better understanding on how to implement a more advanced goal, have
a look at the
:py:class:`watcher.decision_engine.goal.goals.ServerConsolidation` class.
-.. _pbr: http://docs.openstack.org/developer/pbr/
+.. _pbr: https://docs.openstack.org/pbr/latest
.. _implement_efficacy_specification:
diff --git a/doc/source/contributor/plugin/planner-plugin.rst b/doc/source/contributor/plugin/planner-plugin.rst
index de2e7b111..ebba070cd 100644
--- a/doc/source/contributor/plugin/planner-plugin.rst
+++ b/doc/source/contributor/plugin/planner-plugin.rst
@@ -145,7 +145,7 @@ Here below is how you would proceed to register ``DummyPlanner`` using pbr_:
watcher_planners =
dummy = third_party.dummy:DummyPlanner
-.. _pbr: http://docs.openstack.org/developer/pbr/
+.. _pbr: https://docs.openstack.org/pbr/latest
Using planner plugins
diff --git a/doc/source/contributor/plugin/strategy-plugin.rst b/doc/source/contributor/plugin/strategy-plugin.rst
index b285dfff0..aa0c1ec95 100644
--- a/doc/source/contributor/plugin/strategy-plugin.rst
+++ b/doc/source/contributor/plugin/strategy-plugin.rst
@@ -219,7 +219,7 @@ Here below is how you would proceed to register ``NewStrategy`` using pbr_:
To get a better understanding on how to implement a more advanced strategy,
have a look at the :py:class:`~.BasicConsolidation` class.
-.. _pbr: http://docs.openstack.org/developer/pbr/
+.. _pbr: https://docs.openstack.org/pbr/latest
Using strategy plugins
======================
@@ -264,11 +264,11 @@ requires new metrics not covered by Ceilometer, you can add them through a
.. _`Helper`: https://github.com/openstack/watcher/blob/master/watcher/decision_engine/cluster/history/ceilometer.py
-.. _`Ceilometer developer guide`: http://docs.openstack.org/developer/ceilometer/architecture.html#storing-the-data
-.. _`Ceilometer`: http://docs.openstack.org/developer/ceilometer/
+.. _`Ceilometer developer guide`: https://docs.openstack.org/ceilometer/latest/contributor/architecture.html#storing-accessing-the-data
+.. _`Ceilometer`: https://docs.openstack.org/ceilometer/latest
.. _`Monasca`: https://github.com/openstack/monasca-api/blob/master/docs/monasca-api-spec.md
-.. _`here`: http://docs.openstack.org/developer/ceilometer/install/dbreco.html#choosing-a-database-backend
-.. _`Ceilometer plugin`: http://docs.openstack.org/developer/ceilometer/plugins.html
+.. _`here`: https://docs.openstack.org/ceilometer/latest/contributor/install/dbreco.html#choosing-a-database-backend
+.. _`Ceilometer plugin`: https://docs.openstack.org/ceilometer/latest/contributor/plugins.html
.. _`Ceilosca`: https://github.com/openstack/monasca-ceilometer/blob/master/ceilosca/ceilometer/storage/impl_monasca.py
Read usage metrics using the Watcher Datasource Helper
diff --git a/doc/source/contributor/testing.rst b/doc/source/contributor/testing.rst
index afb0e72ec..b662f99e1 100644
--- a/doc/source/contributor/testing.rst
+++ b/doc/source/contributor/testing.rst
@@ -41,7 +41,7 @@ you can run the desired test::
$ workon watcher
(watcher) $ tox -e py27 -- -r watcher.tests.api
-.. _os-testr: http://docs.openstack.org/developer/os-testr/
+.. _os-testr: https://docs.openstack.org/os-testr/latest
When you're done, deactivate the virtualenv::
diff --git a/doc/source/glossary.rst b/doc/source/glossary.rst
index d4c466772..f92261b43 100644
--- a/doc/source/glossary.rst
+++ b/doc/source/glossary.rst
@@ -83,7 +83,7 @@ Audit Template
Availability Zone
=================
-Please, read `the official OpenStack definition of an Availability Zone `_.
+Please, read `the official OpenStack definition of an Availability Zone `_.
.. _cluster_definition:
@@ -167,7 +167,7 @@ Host Aggregate
==============
Please, read `the official OpenStack definition of a Host Aggregate
-`_.
+`_.
.. _instance_definition:
@@ -206,18 +206,18 @@ the Watcher system can act on.
Here are some examples of
:ref:`Managed resource types `:
-- `Nova Host Aggregates `_
-- `Nova Servers `_
-- `Cinder Volumes `_
-- `Neutron Routers `_
-- `Neutron Networks `_
-- `Neutron load-balancers `_
-- `Sahara Hadoop Cluster `_
+- `Nova Host Aggregates `_
+- `Nova Servers `_
+- `Cinder Volumes `_
+- `Neutron Routers `_
+- `Neutron Networks `_
+- `Neutron load-balancers `_
+- `Sahara Hadoop Cluster `_
- ...
It can be any of the `the official list of available resource types defined in
OpenStack for HEAT
-`_.
+`_.
.. _efficacy_indicator_definition:
diff --git a/doc/source/user/user-guide.rst b/doc/source/user/user-guide.rst
index e0f2b54fa..b067b9bf2 100644
--- a/doc/source/user/user-guide.rst
+++ b/doc/source/user/user-guide.rst
@@ -39,10 +39,10 @@ named ``watcher``, or by using the `OpenStack CLI`_ ``openstack``.
If you want to deploy Watcher in Horizon, please refer to the `Watcher Horizon
plugin installation guide`_.
-.. _`installation guide`: http://docs.openstack.org/developer/python-watcherclient
-.. _`Watcher Horizon plugin installation guide`: http://docs.openstack.org/developer/watcher-dashboard/deploy/installation.html
-.. _`OpenStack CLI`: http://docs.openstack.org/developer/python-openstackclient/man/openstack.html
-.. _`Watcher CLI`: http://docs.openstack.org/developer/python-watcherclient/index.html
+.. _`installation guide`: https://docs.openstack.org/python-watcherclient/latest
+.. _`Watcher Horizon plugin installation guide`: https://docs.openstack.org/watcher-dashboard/latest/install/installation.html
+.. _`OpenStack CLI`: https://docs.openstack.org/python-openstackclient/latest/cli/man/openstack.html
+.. _`Watcher CLI`: https://docs.openstack.org/python-watcherclient/latest/cli/index.html
Seeing what the Watcher CLI can do ?
------------------------------------
diff --git a/watcher/applier/workflow_engine/default.py b/watcher/applier/workflow_engine/default.py
index b79c24e5a..8c4950c16 100644
--- a/watcher/applier/workflow_engine/default.py
+++ b/watcher/applier/workflow_engine/default.py
@@ -34,7 +34,7 @@ class DefaultWorkFlowEngine(base.BaseWorkFlowEngine):
"""Taskflow as a workflow engine for Watcher
Full documentation on taskflow at
- http://docs.openstack.org/developer/taskflow/
+ https://docs.openstack.org/taskflow/latest
"""
def decider(self, history):
diff --git a/watcher/common/policy.py b/watcher/common/policy.py
index 30caafdda..7d1458a28 100644
--- a/watcher/common/policy.py
+++ b/watcher/common/policy.py
@@ -49,7 +49,7 @@ def init(policy_file=None, rules=None,
"""
global _ENFORCER
if not _ENFORCER:
- # http://docs.openstack.org/developer/oslo.policy/usage.html
+ # https://docs.openstack.org/oslo.policy/latest/admin/index.html
_ENFORCER = policy.Enforcer(CONF,
policy_file=policy_file,
rules=rules,
diff --git a/watcher/decision_engine/model/notification/nova.py b/watcher/decision_engine/model/notification/nova.py
index 42df5cdd2..f45fb041b 100644
--- a/watcher/decision_engine/model/notification/nova.py
+++ b/watcher/decision_engine/model/notification/nova.py
@@ -249,7 +249,9 @@ class InstanceCreated(VersionedNotificationEndpoint):
event_type='instance.update',
# To be "fully" created, an instance transitions
# from the 'building' state to the 'active' one.
- # See http://docs.openstack.org/developer/nova/vmstates.html
+ # See https://docs.openstack.org/nova/latest/reference/
+ # vm-states.html
+
payload={
'nova_object.data': {
'state': element.InstanceState.ACTIVE.value,