0b1de6ac9b508d8b2ebe50181d4c13119698b3a9
[ric-plt/a1.git] / docs / installation-guide.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3 .. Copyright (C) 2019 AT&T Intellectual Property
4
5 Installation Guide
6 ==================
7
8 .. contents::
9    :depth: 3
10    :local:
11
12 Optional ENV Variables
13 ----------------------
14
15 You can set the following environment variables when launching a container to change the A1 behavior:
16
17 1. ``A1_RMR_RETRY_TIMES``: the number of times failed rmr operations such as timeouts and send failures should be retried before A1 gives up and returns a 503. The default is ``4``.
18
19 2. ``INSTANCE_DELETE_NO_RESP_TTL``: Please refer to the delete flowchart in docs/; this is ``T1`` there. The default is 5 (seconds). Basically, the number of seconds that a1 waits to remove an instance from the database after a delete is called in the case that no downstream apps responded.
20
21 3. ``INSTANCE_DELETE_RESP_TTL``: Please refer to the delete flowchart in docs/; this is ``T2`` there. The default is 5 (seconds). Basically, the number of seconds that a1 waits to remove an instance from the database after a delete is called in the case that downstream apps responded.
22
23 4. ``USE_FAKE_SDL``: This allows testing of the A1 feature without a DBaaS SDL container.  The default is False.
24
25 K8S
26 ---
27 The "real" helm chart for A1 is in the LF it/dep repo. That repo holds all of the helm charts for the RIC platform. There is a helm chart in `integration_tests` here for running the integration tests as discussed above.
28
29 Local Docker
30 -------------
31
32 Build the image
33 ~~~~~~~~~~~~~~~
34 ::
35
36    docker build --no-cache -t a1:latest .
37
38 .. _running-1:
39
40 Start the container
41 ~~~~~~~~~~~~~~~~~~~
42
43 The A1 container depends on a companion DBaaS (SDL) container, but if that is not convenient set
44 an environment variable as shown below to mock that service.  Also a sample RMR routing table is
45 supplied in file `local.rt` for mounting as a volume.  The following command uses both:
46
47 ::
48
49    docker run -e USE_FAKE_SDL=True -p 10000:10000 -v /path/to/local.rt:/opt/route/local.rt a1:latest
50
51 View container API
52 ~~~~~~~~~~~~~~~~~~
53
54 A web user interface generated from the OpenAPI specification can be accessed at this URL:
55
56 ::
57
58     http://docker-host-name-or-ip:10000/ui
59
60 Check container health
61 ~~~~~~~~~~~~~~~~~~~~~~
62
63 The following command requests the container health.  Expect an internal server error if the
64 Storage Data Layer (SDL) service is not available or has not been mocked as shown above.
65
66 ::
67
68     curl docker-host-name-or-ip:10000/a1-p/healthcheck