Update curl insecure connection
[aai/aai-service.git] / readme.md
1 # OpenECOMP AAI
2
3 ---
4 ---
5
6 # Introduction
7
8 OpenECOMP AAI is delivered with **3 Docker containers**, 1 hosting the **database** (Hbase), 1 hosting the AAI Model Loader micro-service  and 1 hosting the AAI Service. This readme only covers the AAI Service and not the AAI Model Loader. 
9
10 For demo app use case the three containers run on the same VM. Configuration and deployment of hbase for any other use cases should be evaluated and updated accordingly.
11
12 # Compiling AAI
13
14 AAI can be compiled easily with a `mvn clean install -DskipTests`. Integration tests are started by omitting the skipTests flag `mvn clean install`
15
16 The following profiles should be set up in the settings.xml file:
17                                 
18         <profile>
19         <id>nexus</id>
20                         <repositories>
21                                 <repository>
22                                   <id>repository.jboss.org-public</id>
23                                   <name>JBoss.org Maven repository</name>
24                                                                         <url>https://repository.jboss.org/nexus/content/groups/public</url>
25                                 </repository>
26                                 <repository>
27                                         <id>global maven repo</id>
28                                         <url>http://repo1.maven.org/maven2/</url>
29                                         <releases>
30                                                 <enabled>true</enabled>
31                                                 <updatePolicy>always</updatePolicy>
32                                         </releases>     
33                                         <snapshots>
34                                                 <enabled>true</enabled>
35                                                 <updatePolicy>always</updatePolicy>
36                                         </snapshots>
37                                 </repository>
38                                 <repository>
39                             <id>maven-restlet</id>
40                             <name>Public online Restlet repository</name>
41                             <url>http://maven.restlet.com</url>
42                        </repository>
43                         </repositories>
44         </profile>
45         
46         <profile>
47                 <id>eelf</id>
48                 <!-- Enable snapshots for the built in central repo to direct -->
49                 <!-- all requests to nexus via the mirror -->
50                 <repositories>
51                         <repository>
52                                 <id>repo2</id>
53                                 <url>http://repo2.maven.org/maven2/com/att/eelf/</url>
54                                 <releases>
55                                         <enabled>true</enabled>
56                                         <!-- <updatePolicy>always</updatePolicy>                                        <updatePolicy>never</updatePolicy> 
57                                         <updatePolicy>daily</updatePolicy> 
58                                         <updatePolicy>interval:in minutes</updatePolicy> -->
59                                         <updatePolicy>never</updatePolicy>
60                                 </releases>
61                                 <snapshots>
62                                         <enabled>true</enabled>
63                                         <updatePolicy>always</updatePolicy>
64                                         <!-- <updatePolicy>always</updatePolicy>                                        <updatePolicy>never</updatePolicy> 
65                                         <updatePolicy>daily</updatePolicy>                                      <updatePolicy>interval:30</updatePolicy> -->
66                                 </snapshots>
67                         </repository>
68                 </repositories>
69                 <pluginRepositories>
70                         <pluginRepository>
71                                 <id>repo2</id>
72                                 <url>http://repo2.maven.org/maven2/com/att/eelf/</url>
73                                 <releases>
74                                         <enabled>true</enabled>
75                                 </releases>
76                                 <snapshots>
77                                         <enabled>true</enabled>
78                                 </snapshots>
79                         </pluginRepository>
80                 </pluginRepositories>
81         </profile>
82         
83 in the profiles section and also specified as an activeProfile in the activeProfiles section.
84
85           <activeProfiles>
86             <activeProfile>nexus</activeProfile>
87                 <activeProfile>eelf</activeProfile>
88           </activeProfiles>
89
90
91 # Starting AAI
92
93 In a developer local environment using the following: mvn -N -P runAjsc
94
95 # Accessing AAI APIs
96
97 Most of the AAI features within OpenECOMP are triggered by using **RESTful interfaces**. AAI  is configured on this release with HTTPS only using Basic Authentication. Two way SSL using client certificates should be considered and used for non demo use case deployments.
98
99 The MSO APIs are configured to accept requests having a **basic auth. header** set with various **username and password** depending on which client is triggering the request. The realm.properties contains the credentials for the OpenECOMP components and these should be changed as appropriate.
100
101 All API endpoints are exposed on port **8443**.
102
103 ##### Example API endpoints in the first open source release 
104
105 http://aai.api.simpledemo.openecomp.org:8443/v8/cloud-infrastructure/pservers/pserver/<pserver-id>
106
107 The easy way to trigger these endpoints is to use a RESTful client or automation framework. HTTP GET/PUT/DELETE are supported for most resource endpoints. More information on the REST interface can be found in the AAI Service REST API specification.
108
109 # Configuring AAI
110
111 The Docker containers use a Chef based configuration file (JSON) in order to provision AAI basic configuration for the demo app use case set up. 
112  
113 # Logging
114
115 EELF framework is used for **specific logs** (audit, metric and error logs). They are tracking inter component logs (request and response) and allow to follow a complete flow through the AAI subsystem
116  
117 EELF logs are located at the following location on the AAI Service container:
118
119 - /opt/app/aai/logs (each module has its own folder)
120
121 AJSC Jetty logs can be found under /opt/app/aai/logs/ajsc-jetty.
122 The REST interface logs can be found under /opt/app/aai/logs/rest.
123
124 # Testing AAI Functionalities
125 Any RESTful client such as SoapUI may be configured and setup to use for testing AAI requests.
126
127
128