update sr-iov templates to openstack rocky
[yaml_builds.git] / README.md
1 # Akraino Edge Stack
2 ..............................................................................
3 . Copyright (c) 2018 AT&T Intellectual Property. All rights reserved         .
4 .                                                                            .
5 . Licensed under the Apache License, Version 2.0 (the "License"); you may    .
6 . not use this file except in compliance with the License.                   .
7 .                                                                            .
8 . You may obtain a copy of the License at                                    .
9 .       http://www.apache.org/licenses/LICENSE-2.0                           .
10 .                                                                            .
11 . Unless required by applicable law or agreed to in writing, software        .
12 . distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  .
13 . WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           .
14 . See the License for the specific language governing permissions and        .
15 . limitations under the License.                                             .
16 ..............................................................................
17
18
19 This document explains how to automatically deploy the edge sites from the regional server command line.
20
21 This document can be consumed by Camunda developer to expose RESTful APIs that internally invoke commands provided in this document.
22
23 ### Manual Steps
24 The goal of the this project is to deploy edge site with no manual interaction but as we are in the process of achieving that, at this point of time we will still need some manual interactions.
25
26 All the manual interactions requested are documented here. In future we automate each of the following and this complete section will be removed.
27  * python should be installed already
28  * jinja2 PyYAML python packages should be available
29  * git clone yaml_build project to your favorite location ( say **/opt/**).
30 ~~~
31 $ git clone http://gerrit.akraino.org/yaml_builds.git
32 ~~~
33  * export YAML_BUILDS=<<absolute path of yaml_builds>> created is previous step.
34 ~~~
35 cd /root/
36 git clone https://git.openstack.org/openstack/airship-treasuremap
37 ~~~
38
39  * Manually verifying the generated .yaml files as explained in 1.1 Manually verifying the .YAMLs
40  * Using following commands ssh and scp should be happen from regional servers to genesis host without asking any username/passwords
41 ~~~
42 ssh-keygen; ssh-copy-id your-host
43 ~~~
44
45  ### 1. Generating YAML files
46  To bring up a edge site we need to pass a bunch of configurations as form of .yaml documents. Manually documenting these documents is tedious process so we tried to automate all .yaml files that needs modification.
47  ~~~
48  $ sh $YAML_BUILDS/tools/generate_yamls.sh <<site_name>>
49  ~~~
50
51  Based on the input site name it picks the master input .yaml for that site and generates 23 .yaml files to $AIC_CLCP_MANIFESTS/sites/<<site_name>>
52
53 ##### 1.1 Manually verifying the .YAMLs
54  At the point of writing this document we took effort to automatically generate all the required .yamls but we are just 80% finished on this. So some manual verification required here to validate the generated documents.
55
56 ### 2. Creating a .tar files
57 At this step we generate .tar file required to bring up the Genesis node.
58
59 ~~~
60 $ sh $YAML_BUILDS/tools/1prom-gen.sh  <<site_name>>
61 ~~~
62
63 ### 3. Bring up the Genesis node
64 At this step we transfer the .tar file generated in previous step to genesis node, untars it and executes the genesis.sh available in it.
65 ~~~
66 $ sh $YAML_BUILDS/tools/2genesis.sh <<site_name>>
67 ~~~
68 This process takes around 4 hours to complete. Meanwhile use the following command to find out the status. On genesis node it installs kubernetes cluster, UCP (Under Cloud flatform)/Airship and Ceph.
69 ~~~
70 $ kubectl get pods --all-namespaces
71 ~~~
72
73 ### 4. Deploy the edge site
74 At this step it brings other server into the control of Genesis, installs the OS on server using PXE booting, and Required OpenStack components.
75 ~~~
76 $ sh $YAML_BUILDS/tools/3deploy_site.sh <<site_name>>
77 ~~~
78
79 Akraino Team