Browse Source

Airsloop document improvements

Change-Id: I70e44f7af7ef36d22889b79234ce385a5cfa51ed
tags/v1.1
Kaspars Skels 1 week ago
parent
commit
3c51ae31d7
1 changed files with 79 additions and 81 deletions
  1. 79
    81
      doc/source/airsloop.rst

+ 79
- 81
doc/source/airsloop.rst View File

@@ -1,75 +1,60 @@
1 1
 Airsloop: Simple Bare-Metal Airship
2 2
 ===================================
3 3
 
4
-Airsloop is a two node site deployment reference and continuous integration pipeline.
5
-The goal of this site is to be used as a reference for mini Airship deployments
6
-with one controller and one or more compute nodes.
4
+Airsloop is a two bare-metal server site deployment reference.
7 5
 
8
-Airsloop is meant to get an operator up and running quickly with an Airship lab environment,
9
-and has some resiliency and security features tuned down.  Please see the `Seaworthy <https://opendev.org/airship/treasuremap/src/branch/master/site/seaworthy>`__
10
-manifests for a production-oriented example.
11
-
12
-The site manifests are available at
13
-`site/airsloop <https://opendev.org/airship/treasuremap/src/branch/master/site/airsloop>`__.
14
-
15
-.. image:: diagrams/airsloop-architecture.png
6
+The goal of this site is to be used as a reference for simplified Airship
7
+deployments with one control and one or more compute nodes.
16 8
 
9
+It is recommended to get familiar with the `Site Authoring and Deployment Guide`_
10
+documentation before deploying Airsloop in the lab. Most steps and concepts
11
+including setting up the Genesis node are the same.
17 12
 
18
-Pipeline
19
---------
13
+.. _Site Authoring and Deployment Guide: https://airship-treasuremap.readthedocs.io/en/latest/authoring_and_deployment.html
20 14
 
21
-Airsloop pipeline automates deployment flow documented in
22
-`Site Authoring and Deployment Guide <https://airship-treasuremap.readthedocs.io/en/latest/authoring_and_deployment.html>`__.
23 15
 
24
-The pipeline is implemented as Jenkins Pipeline (Groovy), see code for the pipeline at
25
-`Jenkinsfile <https://opendev.org/airship/treasuremap/src/branch/master/tools/gate/airsloop/Jenkinsfile>`__.
16
+.. image:: diagrams/airsloop-architecture.png
26 17
 
27
-Versions
28
---------
29 18
 
30
-The manifest software version overrides (`versions.yaml <https://opendev.org/airship/treasuremap/src/branch/master/global/software/config/versions.yaml>`__)
31
-are setup to deploy OpenStack Ocata.
19
+Various resiliency and security features are tuned down via configuration.
32 20
 
33
-The versions are kept up to date via `updater.py <https://opendev.org/airship/treasuremap/src/branch/master/tools/updater.py>`__,
34
-a utility that updates versions.yaml latest charts and (selected) images.
21
+ * Two bare-metal server setup with 1 control, and 1 compute.
22
+   Most components are scaled to a single replica and doesn't carry
23
+   any HA as there is only a single control plane host.
24
+ * No requirements for DNS/certificates.
25
+   HTTP and internal cluster DNS is used.
26
+ * Ceph set to use the single disk.
27
+   This generally provides minimalistic no-touch Ceph deployment.
28
+   No replication of Ceph data (single copy).
29
+ * Simplified networking (no bonding).
30
+   Two network interfaces are used by default (flat PXE, and DATA network
31
+   with VLANs for OAM, Calico, Storage, and OpenStack Overlay).
32
+ * Generic hostnames used (airsloop-control-1, airsloop-compute-1) that
33
+   simplifies generation of k8s certificates.
34
+ * Usage of standard Ubuntu 16.04 GA kernel (as oppose to HWE).
35 35
 
36
-Due to the limited capacity of a test environment, only Ubuntu-based images are used at the moment.
37 36
 
38
-The pipeline attempts to uplift and deploy latest versions on daily basis.
37
+Airsloop site manifests are available at
38
+`site/airsloop <https://opendev.org/airship/treasuremap/src/branch/master/site/airsloop>`__.
39 39
 
40 40
 
41 41
 Hardware
42 42
 --------
43 43
 
44 44
 While HW configuration is flexible, Airsloop reference manifests
45
-reflect a single controller and a single compute node. The aim of
45
+reflect a single control and a single compute node. The aim of
46 46
 this is to create a minimalistic lab/demo reference environment.
47 47
 
48 48
 Increasing the number of compute nodes will require site overrides
49
-to align parts of the system such as Ceph osds, etcd, etc.
49
+to align parts of the system such as Ceph OSDs, etcd, etc.
50 50
 
51
-This site is stripped down from all the complicated hardware and
52
-configuration requirements that Airship Seaworthy site is using and that leads
53
-to simplified deployments from disk,networking and hardware perspective.
54
-
55
-Airsloop site has 2 bare-metal servers:
56
-1 controller, and 1 compute node.
57
-See host profiles for the servers `here <https://opendev.org/airship/treasuremap/src/branch/master/site/airsloop/profiles/host>`__.
58
-
59
-Control (masters)
60
- - airsloop-control-1
61
-Compute (workers)
62
- - airsloop-compute-1
63
-
64
-For simplification of the configuration, we recommend using hostnames
65
-provided below.
66
-
67
-For a two node deployment the nodes and their hostnames are:
51
+See host profiles for the servers
52
+`here <https://opendev.org/airship/treasuremap/src/branch/master/site/airsloop/profiles/host>`__.
68 53
 
69 54
 +------------+-------------------------+
70 55
 | Node       | Hostnames               |
71 56
 +============+=========================+
72
-| controller | airsloop-controller-1   |
57
+| control    | airsloop-control-1      |
73 58
 +------------+-------------------------+
74 59
 | compute    | airsloop-compute-1      |
75 60
 +------------+-------------------------+
@@ -80,16 +65,15 @@ Network
80 65
 
81 66
 Physical (underlay) networks are described in Drydock site configuration
82 67
 `here <https://opendev.org/airship/treasuremap/src/branch/master/site/airsloop/networks/physical/networks.yaml>`__.
68
+
83 69
 It defines OOB (iLO/IPMI), untagged PXE, and multiple tagged general use networks.
84
-Also no bond interfaces are used in Airsloop deployment.
70
+Also no bonded interfaces are used in Airsloop deployment.
85 71
 
86
-In this deployment the networking is simplified compared to Airship Seaworthy
72
+The networking reference is simplified compared to Airship Seaworthy
87 73
 site. There are only two NICs required (excluding oob), one for PXE
88
-and another one for the rest of the networks separated using VLAN
89
-segmentation. The recommendation is to use the highest bandwidth device
90
-available to carry to carry the data networks.
74
+and another one for the rest of the networks separated using VLAN segmentation.
91 75
 
92
-Below is an example of network configuration:
76
+Below is the reference network configuration:
93 77
 
94 78
 +------------+------------+-----------+---------------+
95 79
 | NICs       | VLANs      | Names     |     CIDRs     |
@@ -117,6 +101,19 @@ one per node. That disk is not only used by the OS but also by Ceph Journals and
117 101
 The way that this is achieved is by using directories and not extra
118 102
 disks for Ceph storage. Ceph OSD configuration can be changed in a `Ceph chart override <https://opendev.org/airship/treasuremap/src/branch/master/type/sloop/charts/ucp/ceph/ceph-osd.yaml>`__.
119 103
 
104
+The following Ceph chart configuration is used:
105
+
106
+.. code-block:: yaml
107
+
108
+    osd:
109
+      - data:
110
+          type: directory
111
+          location: /var/lib/openstack-helm/ceph/osd/osd-one
112
+        journal:
113
+          type: directory
114
+          location: /var/lib/openstack-helm/ceph/osd/journal-one
115
+
116
+
120 117
 Host Profiles
121 118
 -------------
122 119
 
@@ -171,60 +168,61 @@ This can be done through the promenade CLI.
171 168
 Getting Started
172 169
 ---------------
173 170
 
174
-TODO: Specify which node(s) the command(s) in this section are run on.
175
-Also if there is an assumption that we have a node with Ubuntu
176
-already provisioned, that assumption or steps should be specified
177
-along with any Ubuntu version requirements/assumptions and other
178
-pre-requisite steps (e.g., installing NTP)
171
+**Update Site Manifests.**
172
+
173
+Carefully review site manifests (site/airsloop) and update the configuration
174
+to match the hardware, networking setup and other specifics of the lab.
179 175
 
180
-Below are the steps that a user should follow to deploy the Airsloop site:
176
+See more details at `Site Authoring and Deployment Guide`_.
181 177
 
182
-TODO: Add the prerequisite steps that the user needs to do
183
-before starting executing the below steps such as:
184
-installing git, installing docker, clone sevral repos etc.
178
+.. note:: Many manifest files (YAMLs) contain documentation in comments
179
+          that instruct what changes are required for specific sections.
185 180
 
186
-1. Collect manifests
181
+1. Build Site Documents
187 182
 
188 183
 .. code-block:: bash
189 184
 
190
-    ./tools/airship pegleg site -r /target collect airsloop -s collect
185
+    tools/airship pegleg site -r /target collect airsloop -s collect
191 186
 
192
-2. Generate certs
187
+    mkdir certs
188
+    tools/airship promenade generate-certs -o /target/certs /target/collect/*.yaml
193 189
 
194
-.. code-block:: bash
190
+    mkdir bundle
191
+    tools/airship promenade build-all -o /target/bundle /target/collect/*.yaml /target/certs/*.yaml
195 192
 
196
-    mkdir certs
197
-    ./tools/airship promenade generate-certs -o /target/certs /target/collect/*.yaml
193
+See more details at `Building Site documents`_, use site ``airsloop``.
198 194
 
199
-3. Generate genesis.sh scipt
195
+.. _Building Site documents: https://airship-treasuremap.readthedocs.io/en/latest/authoring_and_deployment.html#building-site-documents
200 196
 
201
-.. code-block:: bash
202 197
 
203
-    mkdir bundle
204
-    ./tools/airship promenade build-all -o /target/bundle /target/collect/*.yaml /target/certs/*.yaml
198
+2. Deploy Genesis
205 199
 
206
-4. Execute the genesis.sh script
200
+Execute Genesis bootstrap script on the Genesis server.
207 201
 
208 202
 .. code-block:: bash
209 203
 
210
-     cd /target/bundle
211
-     ./genesis.sh
204
+     sudo ./genesis.sh
205
+
206
+See more details at `Genesis node`_.
207
+
208
+.. _Genesis node: https://airship-treasuremap.readthedocs.io/en/latest/authoring_and_deployment.html#genesis-node
212 209
 
213
-If the genesis.sh script completed succesfully
214 210
 
215
-5. Deploy site through shipyard
211
+3. Deploy Site
216 212
 
217 213
 .. code-block:: bash
218 214
 
219
-    ./tools/airship shipyard create configdocs design --directory=/target/collect
220
-    ./tools/airship shipyard commit configdocs
221
-    ./tools/airship shipyard create action deploy_site
215
+    tools/airship shipyard create configdocs design --directory=/target/collect
216
+    tools/airship shipyard commit configdocs
222 217
 
223
-6. Check the actions that are already created
218
+    tools/airship shipyard create action deploy_site
224 219
 
225
-.. code-block:: bash
220
+    tools/shipyard get actions
221
+
222
+See more details at `Deploy Site with Shipyard`_.
223
+
224
+.. _Deploy Site with Shipyard: https://airship-treasuremap.readthedocs.io/en/latest/authoring_and_deployment.html#deploy-site-with-shipyard
226 225
 
227
-    ./tools/shipyard get actions
228 226
 
229 227
 Deploying Behind a Proxy
230 228
 ------------------------

Loading…
Cancel
Save