From f4be664a86a199e9ee05b8e48e923b3fa352b9f1 Mon Sep 17 00:00:00 2001
From: Dmitry Tantsur <dtantsur@protonmail.com>
Date: Fri, 14 Jul 2023 11:37:22 +0200
Subject: [PATCH] Stop splitting installation docs per distros

The versions only differ in the first paragraph, and the supposedly
common parts actually have different code paths for different distros.

Also be realistic about which distros we support.

Change-Id: Ifcc19a20d42f384300cadf442951739be8682047
---
 .../install/include/configure-ironic-api.inc  |  4 +-
 .../include/configure-ironic-conductor.inc    |  4 +-
 .../configure-ironic-singleprocess.inc        |  8 ++--
 doc/source/install/install-obs.rst            | 38 +--------------
 doc/source/install/install-rdo.rst            | 34 +-------------
 doc/source/install/install-ubuntu.rst         | 30 +-----------
 doc/source/install/install.rst                | 46 +++++++++++++++++--
 7 files changed, 53 insertions(+), 111 deletions(-)

diff --git a/doc/source/install/include/configure-ironic-api.inc b/doc/source/install/include/configure-ironic-api.inc
index 713ef2b9ce..085d11c70c 100644
--- a/doc/source/install/include/configure-ironic-api.inc
+++ b/doc/source/install/include/configure-ironic-api.inc
@@ -120,10 +120,10 @@ Configuring ironic-api service
 
 #. Restart the ironic-api service:
 
-   Fedora/RHEL8/CentOS8/SUSE::
+   RHEL/CentOS/SUSE::
 
        sudo systemctl restart openstack-ironic-api
 
-   Ubuntu::
+   Ubuntu/Debian::
 
        sudo service ironic-api restart
diff --git a/doc/source/install/include/configure-ironic-conductor.inc b/doc/source/install/include/configure-ironic-conductor.inc
index 00aaf21f4d..8f55e7d61e 100644
--- a/doc/source/install/include/configure-ironic-conductor.inc
+++ b/doc/source/install/include/configure-ironic-conductor.inc
@@ -212,11 +212,11 @@ Configuring ironic-conductor service
 
 #. Restart the ironic-conductor service:
 
-   Fedora/RHEL7/CentOS7/SUSE::
+   RHEL/CentOS/SUSE::
 
        sudo systemctl restart openstack-ironic-conductor
 
-   Ubuntu::
+   Ubuntu/Debian::
 
        sudo service ironic-conductor restart
 
diff --git a/doc/source/install/include/configure-ironic-singleprocess.inc b/doc/source/install/include/configure-ironic-singleprocess.inc
index 17ebf7913d..ab7954efb6 100644
--- a/doc/source/install/include/configure-ironic-singleprocess.inc
+++ b/doc/source/install/include/configure-ironic-singleprocess.inc
@@ -27,22 +27,22 @@ resources and low number of nodes to handle.
 
 #. Stop existing services if they are already started:
 
-   Fedora/RHEL/CentOS/SUSE::
+   RHEL/CentOS/SUSE::
 
        sudo systemctl stop openstack-ironic-api
        sudo systemctl stop openstack-ironic-conductor
 
-   Ubuntu::
+   Ubuntu/Debian::
 
        sudo service ironic-api stop
        sudo service ironic-conductor stop
 
 #. Start or restart the ironic service:
 
-   Fedora/RHEL8/CentOS8/SUSE::
+   RHEL/CentOS/SUSE::
 
        sudo systemctl restart openstack-ironic
 
-   Ubuntu::
+   Ubuntu/Debian::
 
        sudo service ironic restart
diff --git a/doc/source/install/install-obs.rst b/doc/source/install/install-obs.rst
index 067794b588..5cd1e88786 100644
--- a/doc/source/install/install-obs.rst
+++ b/doc/source/install/install-obs.rst
@@ -1,41 +1,5 @@
-.. _install-obs:
-
 ============================================================
 Install and configure for openSUSE and SUSE Linux Enterprise
 ============================================================
 
-This section describes how to install and configure the Bare Metal service
-for openSUSE Leap 42.2 and SUSE Linux Enterprise Server 12 SP2.
-
-.. note::
-   Installation of the Bare Metal service on openSUSE and SUSE Linux Enterprise
-   Server is not officially supported. Nevertheless, installation should be
-   possible.
-
-.. include:: include/common-prerequisites.inc
-
-Install and configure components
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-#. Install from packages
-
-   .. code-block:: console
-
-      # zypper install openstack-ironic-api openstack-ironic-conductor python3-ironicclient
-
-#. Enable services
-
-   .. code-block:: console
-
-      # systemctl enable openstack-ironic-api openstack-ironic-conductor
-      # systemctl start openstack-ironic-api openstack-ironic-conductor
-
-.. include:: include/common-configure.inc
-
-.. include:: include/configure-ironic-api.inc
-
-.. include:: include/configure-ironic-api-mod_wsgi.inc
-
-.. include:: include/configure-ironic-conductor.inc
-
-.. include:: include/configure-ironic-singleprocess.inc
+The contents has been migrated to the common location - see :doc:`install`.
diff --git a/doc/source/install/install-rdo.rst b/doc/source/install/install-rdo.rst
index 37f1835d98..b8698a91fc 100644
--- a/doc/source/install/install-rdo.rst
+++ b/doc/source/install/install-rdo.rst
@@ -1,37 +1,5 @@
-.. _install-rdo:
-
 =============================================================
 Install and configure for Red Hat Enterprise Linux and CentOS
 =============================================================
 
-
-This section describes how to install and configure the Bare Metal service
-for Red Hat Enterprise Linux 8 and CentOS 8.
-
-.. include:: include/common-prerequisites.inc
-
-Install and configure components
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-#. Install from packages (using dnf)
-
-   .. code-block:: console
-
-      # dnf install openstack-ironic-api openstack-ironic-conductor python3-ironicclient
-
-#. Enable services
-
-   .. code-block:: console
-
-      # systemctl enable openstack-ironic-api openstack-ironic-conductor
-      # systemctl start openstack-ironic-api openstack-ironic-conductor
-
-.. include:: include/common-configure.inc
-
-.. include:: include/configure-ironic-api.inc
-
-.. include:: include/configure-ironic-api-mod_wsgi.inc
-
-.. include:: include/configure-ironic-conductor.inc
-
-.. include:: include/configure-ironic-singleprocess.inc
+The contents has been migrated to the common location - see :doc:`install`.
diff --git a/doc/source/install/install-ubuntu.rst b/doc/source/install/install-ubuntu.rst
index 81bc691881..4e28c784a6 100644
--- a/doc/source/install/install-ubuntu.rst
+++ b/doc/source/install/install-ubuntu.rst
@@ -1,33 +1,5 @@
-.. _install-ubuntu:
-
 ================================
 Install and configure for Ubuntu
 ================================
 
-This section describes how to install and configure the Bare Metal
-service for Ubuntu 14.04 (LTS).
-
-.. include:: include/common-prerequisites.inc
-
-Install and configure components
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-#. Install from packages (using apt-get)
-
-   .. code-block:: console
-
-      # apt-get install ironic-api ironic-conductor python3-ironicclient
-
-#. Enable services
-
-   Services are enabled by default on Ubuntu.
-
-.. include:: include/common-configure.inc
-
-.. include:: include/configure-ironic-api.inc
-
-.. include:: include/configure-ironic-api-mod_wsgi.inc
-
-.. include:: include/configure-ironic-conductor.inc
-
-.. include:: include/configure-ironic-singleprocess.inc
+The contents has been migrated to the common location - see :doc:`install`.
diff --git a/doc/source/install/install.rst b/doc/source/install/install.rst
index b2c9e1da8c..195b1b00df 100644
--- a/doc/source/install/install.rst
+++ b/doc/source/install/install.rst
@@ -1,3 +1,4 @@
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Install and configure the Bare Metal service
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
@@ -26,12 +27,49 @@ More installation projects are developed by other OpenStack teams:
    **Ironic guide**, not to the generic page. If a separate Ironic guide does
    not exist yet, create it first.
 
-Contents
---------
-
 .. toctree::
-   :maxdepth: 2
+   :hidden:
 
    install-rdo.rst
    install-ubuntu.rst
    install-obs.rst
+
+.. include:: include/common-prerequisites.inc
+
+Install and configure components
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Using DNF on RHEL/CentOS Stream and RDO_ packages:
+
+.. code-block:: console
+
+   # dnf install openstack-ironic-api openstack-ironic-conductor python3-ironicclient
+
+.. _rdo: https://www.rdoproject.org/
+
+On Ubuntu_/Debian:
+
+.. code-block:: console
+
+   # apt-get install ironic-api ironic-conductor python3-ironicclient
+
+.. _ubuntu: https://docs.openstack.org/install-guide/environment-packages-ubuntu.html
+
+On openSUSE/SLES:
+
+.. code-block:: console
+
+   # zypper install openstack-ironic-api openstack-ironic-conductor python3-ironicclient
+
+.. warning::
+   Support for SUSE systems is best effort, it is not tested in the CI.
+
+.. include:: include/common-configure.inc
+
+.. include:: include/configure-ironic-api.inc
+
+.. include:: include/configure-ironic-api-mod_wsgi.inc
+
+.. include:: include/configure-ironic-conductor.inc
+
+.. include:: include/configure-ironic-singleprocess.inc