diff --git a/doc/source/admin/cleaning.rst b/doc/source/admin/cleaning.rst
index c6b2b64e92..c8785d7065 100644
--- a/doc/source/admin/cleaning.rst
+++ b/doc/source/admin/cleaning.rst
@@ -103,7 +103,7 @@ higher::
 
     PUT /v1/nodes/<node_ident>/states/provision
 
-(Additional information is available `here <http://developer.openstack.org/api-ref/baremetal/index.html?expanded=change-node-provision-state-detail#change-node-provision-state>`_.)
+(Additional information is available `here <https://developer.openstack.org/api-ref/baremetal/index.html?expanded=change-node-provision-state-detail#change-node-provision-state>`_.)
 
 This API will allow operators to put a node directly into ``cleaning``
 provision state from ``manageable`` state via 'target': 'clean'.
@@ -192,7 +192,7 @@ If you are using the Neutron DHCP provider (the default) you will also need to
 ensure you have configured a cleaning network. This network will be used to
 boot the ramdisk for in-band cleaning. You can use the same network as your
 tenant network. For steps to set up the cleaning network, please see
-`Configure the Bare Metal service for cleaning`_.
+:ref:`configure-cleaning`.
 
 .. _InbandvsOutOfBandCleaning:
 
@@ -331,5 +331,3 @@ to allow it to be scheduled by nova.
 
 The node will begin automated cleaning from the start, and move to
 ``available`` state when complete.
-
-.. _`Configure the Bare Metal service for cleaning`: https://docs.openstack.org/project-install-guide/baremetal/draft/configure-cleaning.html
diff --git a/doc/source/admin/console.rst b/doc/source/admin/console.rst
index a5b8a96d02..51bac83ee1 100644
--- a/doc/source/admin/console.rst
+++ b/doc/source/admin/console.rst
@@ -92,7 +92,7 @@ The web console can be configured in Bare Metal service in the following way:
 
 * Append console parameters for bare metal PXE boot in the Bare Metal service
   configuration file (/etc/ironic/ironic.conf). See the reference for
-  configuration in `console kernel parameters`_.
+  configuration in :ref:`kernel-boot-parameters`.
 
 * Configure node web console.
 
@@ -165,7 +165,7 @@ Serial consoles can be configured in the Bare Metal service as follows:
 
 * Append console parameters for bare metal PXE boot in the Bare Metal
   service configuration file. See the reference on how to configure them in
-  `console kernel parameters`_.
+  :ref:`kernel-boot-parameters`.
 
 * Configure node console.
 
@@ -199,4 +199,3 @@ the serial console is disabled. If you want to launch serial console, see the
 ``Configure node console``.
 
 .. _`socat`: http://www.dest-unreach.org/socat
-.. _`console kernel parameters`: https://docs.openstack.org/project-install-guide/baremetal/draft/advanced.html#appending-kernel-parameters-to-boot-instances
diff --git a/doc/source/admin/drivers/cimc.rst b/doc/source/admin/drivers/cimc.rst
index 930593db85..6932ecf5af 100644
--- a/doc/source/admin/drivers/cimc.rst
+++ b/doc/source/admin/drivers/cimc.rst
@@ -22,7 +22,7 @@ the disk, instead of the conductor.
 
 The CIMC drivers can use the Ironic Inspector service for in-band inspection of
 equipment. For more information see the `Ironic Inspector documentation
-<http://docs.openstack.org/developer/ironic-inspector/>`_.
+<https://docs.openstack.org/ironic-inspector/latest>`_.
 
 Prerequisites
 =============
@@ -89,6 +89,4 @@ The following sequence of commands can be used to enroll a UCS Standalone node.
 
     ironic port-create -n $NODE -a <MAC_address_of_Ucs_server's_NIC>
 
-For more information about enrolling nodes see `Enrolling a node`_ in the install guide.
-
-.. _`Enrolling a node`: https://docs.openstack.org/project-install-guide/baremetal/draft/enrollment.html#enrolling-a-node
+For more information about enrolling nodes see :ref:`enrollment` in the install guide.
diff --git a/doc/source/admin/drivers/ipa.rst b/doc/source/admin/drivers/ipa.rst
index da3458fc35..7f3f640933 100644
--- a/doc/source/admin/drivers/ipa.rst
+++ b/doc/source/admin/drivers/ipa.rst
@@ -14,7 +14,7 @@ IPA is distributed over nodes and runs, inside of a ramdisk, the
 process of booting this ramdisk on the node.
 
 For more information see the `ironic-python-agent documentation
-<http://docs.openstack.org/developer/ironic-python-agent/>`_.
+<https://docs.openstack.org/ironic-python-agent/latest>`_.
 
 Drivers
 =======
diff --git a/doc/source/admin/drivers/redfish.rst b/doc/source/admin/drivers/redfish.rst
index b76fe2dbf1..546208c789 100644
--- a/doc/source/admin/drivers/redfish.rst
+++ b/doc/source/admin/drivers/redfish.rst
@@ -85,10 +85,9 @@ a node with the ``redfish`` driver. For example:
     redfish_system_id=/redfish/v1/Systems/CX34R87 --driver-info \
     redfish_username=admin --driver-info redfish_password=password
 
-For more information about enrolling nodes see `Enrolling a node`_
+For more information about enrolling nodes see :ref:`enrollment`
 in the install guide.
 
 .. _Redfish: http://redfish.dmtf.org/
 .. _Sushy: https://git.openstack.org/cgit/openstack/sushy
 .. _TLS: https://en.wikipedia.org/wiki/Transport_Layer_Security
-.. _`Enrolling a node`: http://docs.openstack.org/project-install-guide/baremetal/draft/enrollment.html#enrolling-a-node
diff --git a/doc/source/admin/drivers/ucs.rst b/doc/source/admin/drivers/ucs.rst
index 0442afafc5..0dcd989b45 100644
--- a/doc/source/admin/drivers/ucs.rst
+++ b/doc/source/admin/drivers/ucs.rst
@@ -20,7 +20,7 @@ management operations on the baremetal node (instead of using IPMI).
 
 The UCS drivers can use the Ironic Inspector service for in-band inspection of
 equipment. For more information see the `Ironic Inspector documentation
-<http://docs.openstack.org/developer/ironic-inspector/>`_.
+<http://docs.openstack.org/ironic-inspector/latest>`_.
 
 Prerequisites
 =============
diff --git a/doc/source/admin/index.rst b/doc/source/admin/index.rst
index 3697e46499..9d86cd31f2 100644
--- a/doc/source/admin/index.rst
+++ b/doc/source/admin/index.rst
@@ -53,4 +53,4 @@ Documentation for that can be found within the ironic-ui project.
 .. toctree::
   :maxdepth: 1
 
-  Dashboard (horizon) plugin <http://docs.openstack.org/developer/ironic-ui/>
+  Dashboard (horizon) plugin <https://docs.openstack.org/ironic-ui/latest>
diff --git a/doc/source/admin/metrics.rst b/doc/source/admin/metrics.rst
index 900f435215..f801320512 100644
--- a/doc/source/admin/metrics.rst
+++ b/doc/source/admin/metrics.rst
@@ -77,7 +77,7 @@ drivers are used in the Bare Metal deployment. This estimate may be used to
 determine if a deployer needs to scale their metrics backend to handle the
 additional load before enabling metrics. To see which metrics have changed names
 or have been removed between releases, refer to the `ironic release notes
-<http://docs.openstack.org/releasenotes/ironic/>`_.
+<https://docs.openstack.org/releasenotes/ironic/>`_.
 
 .. note::
   With the default statsd configuration, each timing metric may create
diff --git a/doc/source/admin/multitenancy.rst b/doc/source/admin/multitenancy.rst
index a9afa8baac..2d5896d35d 100644
--- a/doc/source/admin/multitenancy.rst
+++ b/doc/source/admin/multitenancy.rst
@@ -87,10 +87,8 @@ criteria are used to select a suitable unattached port or port group:
 Configuring the Bare Metal service
 ==================================
 
-See the `Configure tenant networks`_ section in the installation guide for the
-Bare Metal service.
-
-.. _`Configure tenant networks`: http://docs.openstack.org/project-install-guide/baremetal/draft/configure-tenant-networks.html
+See the :ref:`configure-tenant-networks` section in the installation guide for
+the Bare Metal service.
 
 Configuring nodes
 =================
diff --git a/doc/source/admin/raid.rst b/doc/source/admin/raid.rst
index 826846d5ca..b9634b7445 100644
--- a/doc/source/admin/raid.rst
+++ b/doc/source/admin/raid.rst
@@ -314,7 +314,7 @@ support for pluggable hardware managers which can be used to extend the
 functionality offered by IPA ramdisk using stevedore plugins.  For more
 information, see Ironic Python Agent `Hardware Manager`_ documentation.
 
-.. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers
+.. _`Hardware Manager`: https://docs.openstack.org/ironic-python-agent/latest/install/index.html#hardware-managers
 
 The hardware manager that supports RAID configuration should do the following:
 
diff --git a/doc/source/admin/security.rst b/doc/source/admin/security.rst
index 15051907a6..5dfd70fa1a 100644
--- a/doc/source/admin/security.rst
+++ b/doc/source/admin/security.rst
@@ -118,7 +118,4 @@ include:
 
 Additional references:
   - :ref:`cleaning`
-  - `trusted boot with partition image`_
-  - :ref:`iLO UEFI Secure Boot Support`
-
-.. _trusted boot with partition image: http://docs.openstack.org/project-install-guide/baremetal/draft/advanced.html#trusted-boot-with-partition-image
+  - :ref:`trusted-boot`
diff --git a/doc/source/admin/troubleshooting.rst b/doc/source/admin/troubleshooting.rst
index dc6a795ce9..a3e7732bf4 100644
--- a/doc/source/admin/troubleshooting.rst
+++ b/doc/source/admin/troubleshooting.rst
@@ -110,7 +110,7 @@ A few things should be checked in this case:
 
    The name of the filter that removed the last hosts may give some hints on
    what exactly was not matched. See `Nova filters documentation
-   <http://docs.openstack.org/developer/nova/filter_scheduler.html>`_ for more
+   <https://docs.openstack.org/nova/latest/filter_scheduler.html>`_ for more
    details.
 
 #. If none of the above helped, check Ironic conductor log carefully to see
diff --git a/doc/source/admin/upgrade-guide.rst b/doc/source/admin/upgrade-guide.rst
index 7441e7ae90..86eea51654 100644
--- a/doc/source/admin/upgrade-guide.rst
+++ b/doc/source/admin/upgrade-guide.rst
@@ -24,7 +24,7 @@ Plan your upgrade
   This means that you cannot upgrade Ocata directly into Queens; you need to
   upgrade into Pike first.
 
-* The `release notes <http://docs.openstack.org/releasenotes/ironic/>`_
+* The `release notes <https://docs.openstack.org/releasenotes/ironic/>`_
   should always be read carefully when upgrading the Bare Metal service.
   Specific upgrade steps and considerations are documented there.
 
@@ -46,8 +46,7 @@ Plan your upgrade
   require manual intervention to return them to the available hardware pool.
   This is most likely in cases where a timeout has occurred or a service was
   terminated abruptly. For a visual diagram detailing states and possible
-  state transitions, please see the
-  `state machine diagram <https://docs.openstack.org/ironic/latest/contributor/states.html>`_.
+  state transitions, please see :ref:`states`.
 
 Offline upgrades
 ================