From a527ed42811cbec57f11c4a6b5466f3392df8ed2 Mon Sep 17 00:00:00 2001
From: James Gu <james.gu@att.com>
Date: Thu, 15 Apr 2021 14:38:21 -0700
Subject: [PATCH] Added instruction to handle potential false fail in target
 control plane phase

Additionally a few minor document improvements found the last test run.

Signed-off-by: James Gu <james.gu@att.com>
Change-Id: Ie2288f69487dbee6ea2b794caf628da44c8c1cc5
---
 doc/source/airship2/site-authoring.rst  | 15 ++++++++-------
 doc/source/airship2/site-deployment.rst | 17 +++++++++++++++++
 doc/source/airship2/site-setup.rst      | 19 +++++++------------
 3 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/doc/source/airship2/site-authoring.rst b/doc/source/airship2/site-authoring.rst
index bd5db61..effb4f0 100644
--- a/doc/source/airship2/site-authoring.rst
+++ b/doc/source/airship2/site-authoring.rst
@@ -144,13 +144,12 @@ Last, update network references (e.g., interface name, IP address, port) in
 the target cluster deployment documents:
 
    * ``manifests/site/${SITE}/phases/phase-patch.yaml``
-   * ``manifests/site/${SITE}/target/catalogs/versions-airshipctl.yaml``
+   * ``manifests/site/${SITE}/target/catalogues/versions-airshipctl.yaml``
    * ``manifests/site/${SITE}/target/controlplane/metal3machinetemplate.yaml``
    * ``manifests/site/${SITE}/target/controlplane/versions-catalogue-patch.yaml``
    * ``manifests/site/${SITE}/target/initinfra-networking/patch_calico.yaml``
-   * ``manifests/site/${SITE}/target/workers/metal3machinetemplate.yaml``
    * ``manifests/site/${SITE}/target/workers/provision/metal3machinetemplate.yaml``
-   * ``manifests/site/${SITE}/target/network-policies/calico_failsafe_rules_patch.yaml``
+   * ``manifests/site/${SITE}/kubeconfig/kubeconfig.yaml``
 
 Host Inventory
 ++++++++++++++
@@ -171,18 +170,20 @@ Update the host inventory and other ephemeral and target cluster documents:
      defines the host information such as BMC address, credential, PXE NIC, IP
      addresses, hardware profile name, etc., for every single host.
    * ``manifests/site/${SITE}/ephemeral/bootstrap/baremetalhost.yaml``:
-     Contains the host name of the ephemeral bare metal host.
-   * ``manifests/site/${SITE}/ephemeral/bootstrap/hostgenerato/host-generation.yaml``:
+     Contains the host name and bmc address of the ephemeral bare metal host.
+   * ``manifests/site/${SITE}/ephemeral/bootstrap/hostgenerator/host-generation.yaml``:
      Defines the single host in the ephemeral cluster.
    * ``manifests/site/${SITE}/ephemeral/controlplane/hostgenerator/host-generation.yaml``:
      Defines the host name of the first controller node to bootstrap ion the
      target cluster.
    * ``manifests/site/${SITE}/phases/phase-patch.yaml``: Updates the ephemeral
      node host name and ISO URL.
-   * ``manifests/site/${SITE}/target/controlplane/hostgenerator/host-generation.yaml``
+   * ``manifests/site/${SITE}/target/controlplane/hostgenerator/host-generation.yaml``:
      Defines the list of hosts to be deployed in the target cluster.
-   * ``manifests/site/${SITE}/target/workers/hostgenerator/host-generation.yaml``
+   * ``manifests/site/${SITE}/target/workers/hostgenerator/host-generation.yaml``:
      Defines the list of hosts of the worker nodes.
+   * ``manifests/site/air-pod01/target/workers/provision/machinedeployment.yaml``:
+     Configures the total number of worker nodes
 
 Downstream Images and Binaries
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/source/airship2/site-deployment.rst b/doc/source/airship2/site-deployment.rst
index a23927f..eb3ff68 100644
--- a/doc/source/airship2/site-deployment.rst
+++ b/doc/source/airship2/site-deployment.rst
@@ -13,6 +13,11 @@ Prerequisites
 Before starting, ensure that you have completed :ref:`system requirements and set up <site_setup_guide>`,
 including the the BIOS and Redfish settings, hardware RAID configuration etc.
 
+.. warning::
+
+   Ensure all the hosts are powered off, including ephemeral node, controller
+   nodes and worker nodes.
+
 Airshipctl Phases
 ~~~~~~~~~~~~~~~~~
 
@@ -355,6 +360,18 @@ nodes:
 
 Estimated runtime: **30 minutes** (Depends on the number of controller nodes).
 
+.. note::
+
+   When the second controller node joins the cluster, the script may fail with
+   the error message ``"etcdserver: request timed out"``. This is a known issue.
+   You can just wait until all the other controller nodes join the cluster
+   before executing the next phase. To check the list of nodes in the cluster,
+   run:
+
+.. code-block:: bash
+
+   kubectl --kubeconfig ${HOME}/.airship/kubeconfig --context target-cluster get nodes
+
 Provisioning Worker Nodes
 ~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/doc/source/airship2/site-setup.rst b/doc/source/airship2/site-setup.rst
index f8d4e69..235c81b 100644
--- a/doc/source/airship2/site-setup.rst
+++ b/doc/source/airship2/site-setup.rst
@@ -43,13 +43,13 @@ network configuration.
   deployed with very minimal requirements if needed (e.g., single disk, single
   network).
 
-  For simplified non-bonded, and single disk examples, see
-  ``manifests/site/test_site``.
+  For simplified non-bonded, and single disk examples, see Treasuremap
+  `test-site`_.
 
-.. _reference-airship-core:
+.. _reference-airship-core: https://github.com/airshipit/treasuremap/tree/v2.0/manifests/site/reference-airship-core
+
+.. _test-site: https://github.com/airshipit/treasuremap/tree/v2.0/manifests/site/test-site
 
-    https://github.com/airshipit/treasuremap/tree/v2.0/manifests/site/reference-airship-core
-    
 BIOS, Redfish and PXE
 ~~~~~~~~~~~~~~~~~~~~~
 
@@ -267,13 +267,8 @@ Install Essential Tools
 .. code-block:: bash
 
     ./tools/deployment/10_install_essentials.sh
-
-   It is recommended to add the current user to the ``docker`` group to avoid
-   using sudo in the subsequent steps:
-
-.. code-block:: bash
-
-    sudo usermod -aG docker <user>
+    # Recommend to add the user to the docker group
+    sudo usermod -aG docker $USER
 
 2. Install airshipctl executable.