1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
|
<html><head>
<title>Quicklinks To Running Instances</title>
</head>
<body>
<h1>The Portal</h1>
The portal is the entry point to design/provision/operate ONAP. From there you can get to SDC, VID and Policy portals.
The portal can be found at:<p>
<a href="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm">Portal</a>
<p>
One requires role based user names and passwords to receive the full portal functionality. In the demo setup we pre provisioned:
<p>
<ul>
<li> jh0003 Admin </li>
<li> cs0008 Designer </li>
<li> jm0007 Tester </li>
<li> op0001 Operator </li>
<li> gv0001 Governance </li>
<li> pm0001 Product Manager </li>
<li> ps0001 Product Strategy </li>
</ul>
<p>
the password for all of them is: demo123456!
<h3>/etc/hosts or C:\Windows\system32\drivers\etc\hosts</h>
<pre>
${portal} portal portal.api.simpledemo.onap.org
${sdc} sdc sdc.api.simpledemo.onap.org
${vid} vid vid.api.simpledemo.onap.org
${policy} policy policy.api.simpledemo.onap.org
${aai1} aai1 aai.api.simpledemo.onap.org
${robot} robot
${appc} appc
${mso} so
${sdnc} sdnc
${openo} multi-service
${dcae_controller} dcae
${aai2} aai2
${message_router} message-router
${clamp} clamp
${portal} ${prefix}-portal
${sdc} ${prefix}-sdc
${vid} ${prefix}-vid
${policy} ${prefix}-policy
${aai1} ${prefix}-aai1
${robot} ${prefix}-robot
${appc} ${prefix}-appc
${mso} ${prefix}-so
${sdnc} ${prefix}-sdnc
${openo} ${prefix}-multi-service
${dcae_controller} ${prefix}-dcae
${aai2} ${prefix}-aai2
${message_router} ${prefix}-message-router
${clamp} ${prefix}-clamp
</pre>
<h1> The Reality </h1>
As everything should go through the portal there are many subsystems which have there own GUI or API which come in very handy when debugging things. Here the most important once.
<h2> Testing </h2>
<h3>Robot Logs</h3>
<a href="http://${robot}:88/logs/"> Robot Logs </a>
<h3>Robot vm_properties.py for local testing</h3>
<pre>
GLOBAL_INJECTED_ARTIFACTS_VERSION = "${GLOBAL_INJECTED_ARTIFACTS_VERSION}"
GLOBAL_INJECTED_GITLAB_PASSWORD = "password"
GLOBAL_INJECTED_GITLAB_USERNAME = "username"
GLOBAL_INJECTED_NETWORK = "${GLOBAL_INJECTED_NETWORK}"
GLOBAL_INJECTED_NEXUS_DOCKER_REPO = "${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}"
GLOBAL_INJECTED_NEXUS_PASSWORD = "password"
GLOBAL_INJECTED_NEXUS_REPO = "${GLOBAL_INJECTED_NEXUS_REPO}"
GLOBAL_INJECTED_NEXUS_USERNAME = "docker"
GLOBAL_INJECTED_OPENSTACK_API_KEY = "openstackapikey"
GLOBAL_INJECTED_OPENSTACK_PASSWORD = "openstackpass"
GLOBAL_INJECTED_OPENSTACK_USERNAME = "openstackuser"
GLOBAL_INJECTED_OPENSTACK_TENANT_ID = "${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}"
GLOBAL_INJECTED_REGION = "${GLOBAL_INJECTED_REGION}"
GLOBAL_INJECTED_KEYSTONE = "${GLOBAL_INJECTED_KEYSTONE}"
GLOBAL_INJECTED_AAI1_IP_ADDR = "${aai1}"
GLOBAL_INJECTED_AAI2_IP_ADDR = "${aai2}"
GLOBAL_INJECTED_APPC_IP_ADDR = "${appc}"
GLOBAL_INJECTED_DCAE_IP_ADDR = "${dcae_controller}"
GLOBAL_INJECTED_SO_IP_ADDR = "${mso}"
GLOBAL_INJECTED_MR_IP_ADDR = "${message_router}"
GLOBAL_INJECTED_POLICY_IP_ADDR = "${policy}"
GLOBAL_INJECTED_PORTAL_IP_ADDR = "${portal}"
GLOBAL_INJECTED_SDC_IP_ADDR = "${sdc}"
GLOBAL_INJECTED_SDNC_IP_ADDR = "${sdnc}"
GLOBAL_INJECTED_VID_IP_ADDR = "${vid}"
GLOBAL_INJECTED_OPENO_IP_ADDR = "${openo}"
GLOBAL_INJECTED_CLAMP_IP_ADDR = "${clamp}"
GLOBAL_INJECTED_VM_FLAVOR = "${GLOBAL_INJECTED_VM_FLAVOR}"
GLOBAL_INJECTED_UBUNTU_1404_IMAGE = "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}"
GLOBAL_INJECTED_UBUNTU_1604_IMAGE = "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}"
GLOBAL_INJECTED_PUBLIC_NET_ID = "${GLOBAL_INJECTED_PUBLIC_NET_ID}"
GLOBAL_INJECTED_CLOUD_ENV = "${GLOBAL_INJECTED_CLOUD_ENV}"
GLOBAL_INJECTED_SCRIPT_VERSION = "${GLOBAL_INJECTED_SCRIPT_VERSION}"
GLOBAL_INJECTED_PROPERTIES={
"GLOBAL_INJECTED_ARTIFACTS_VERSION" : "${GLOBAL_INJECTED_ARTIFACTS_VERSION}",
"GLOBAL_INJECTED_GITLAB_PASSWORD" : "password",
"GLOBAL_INJECTED_GITLAB_USERNAME" : "username",
"GLOBAL_INJECTED_NETWORK" : "${GLOBAL_INJECTED_NETWORK}",
"GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : "${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}",
"GLOBAL_INJECTED_NEXUS_PASSWORD" : "password",
"GLOBAL_INJECTED_NEXUS_REPO" : "${GLOBAL_INJECTED_NEXUS_REPO}",
"GLOBAL_INJECTED_NEXUS_USERNAME" : "docker",
"GLOBAL_INJECTED_OPENSTACK_API_KEY" : "openstackapikey",
"GLOBAL_INJECTED_OPENSTACK_PASSWORD" : "openstackpass",
"GLOBAL_INJECTED_OPENSTACK_USERNAME" : "openstackuser",
"GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : "${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}",
"GLOBAL_INJECTED_REGION" : "${GLOBAL_INJECTED_REGION}",
"GLOBAL_INJECTED_KEYSTONE" : "${GLOBAL_INJECTED_KEYSTONE}",
"GLOBAL_INJECTED_AAI1_IP_ADDR" : "${aai1}",
"GLOBAL_INJECTED_AAI2_IP_ADDR" : "${aai2}",
"GLOBAL_INJECTED_APPC_IP_ADDR" : "${appc}",
"GLOBAL_INJECTED_DCAE_IP_ADDR" : "${dcae_controller}",
"GLOBAL_INJECTED_SO_IP_ADDR" : "${mso}",
"GLOBAL_INJECTED_MR_IP_ADDR" : "${message_router}",
"GLOBAL_INJECTED_POLICY_IP_ADDR" : "${policy}",
"GLOBAL_INJECTED_PORTAL_IP_ADDR" : "${portal}",
"GLOBAL_INJECTED_SDC_IP_ADDR" : "${sdc}",
"GLOBAL_INJECTED_SDNC_IP_ADDR" : "${sdnc}",
"GLOBAL_INJECTED_VID_IP_ADDR" : "${vid}",
"GLOBAL_INJECTED_OPENO_IP_ADDR" : "${openo}",
"GLOBAL_INJECTED_CLAMP_IP_ADDR" : "${clamp}",
"GLOBAL_INJECTED_VM_FLAVOR" : "${GLOBAL_INJECTED_VM_FLAVOR}",
"GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
"GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
"GLOBAL_INJECTED_PUBLIC_NET_ID" : "${GLOBAL_INJECTED_PUBLIC_NET_ID}",
"GLOBAL_INJECTED_CLOUD_ENV" : "${GLOBAL_INJECTED_CLOUD_ENV}",
"GLOBAL_INJECTED_SCRIPT_VERSION" : "${GLOBAL_INJECTED_SCRIPT_VERSION}"
}
</pre>
<h2> SDN-C </h2>
<a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${sdnc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
<a href="http://${sdnc}:8843/signup"> To sign up </a> <p>
<a href="http://${sdnc}:8843/login"> Admin </a> <p>
<h2> App-C </h2>
<a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${appc}:8282/apidoc/explorer/index.html"> Controller </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
<h2> Policy </h2>
<b> Not working. </b> :
<a href="http://healthcheck:zb!XztG34@${policy}:6969/healthcheck"> Healthcheck </a> <p>
<h2> MSO </h2>
<a href="http://admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U@${mso}:9990/"> JBOSS GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
<a href="http://${mso}:8080/camunda"> Camunda GUI </a> with admin/Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U <p>
<h2> DCAE </h2>
<h3> General GUIs </h3>
<a href="http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources"> DCAE Controller </a>
This might show up empty in a web browser as no content type is set in the response. If that's the case use curl: <p>
curl http://console:ZjJkYjllMjljMTI2M2Iz@${dcae_controller}:9998/resources <p>
<a href="http://${dcae_cdap}:9999/ns/TCA/apps/dcae-tca/programs/flows/TCAVESCollectorFlow/runs"> CDAP GUI </a> <p>
<h3> DCAE internal Message Router </h3>
<a href="http://${dcae_coll}:3904/topics"> Topics </a> <p>
<a href="http://${dcae_coll}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/monitor/0?timeout=10000"> MR topic for collector to TCA </a> <p>
<a href="http://${dcae_coll}:3904/events/unauthenticated.TCA_EVENT_OUTPUT/monitor/0?timeout=10000"> MR topic for TCA alert to Policy </a> <p>
<h2> Message Router used between core components </h2>
<a href="http://${message_router}:3904/topics"> List of Topics </a> <p>
<h3> Topics of Interest </h3>
For topics without authentication one can monitor the traffic on a topic with: <p>
http://${message_router}:3904/events/PUT_TOPIC_HERE/group1/C1?timeout=5000 <p>
some important once listed below. <p>
<ul>
<li> <a href="http://${message_router}:3904/events/APPC-CL/monitor/0?timeout=10000"> APPC-CL Topic -- Policy Publishes Requests and APP-C publishes response </a>
<li> <a href="http://${message_router}:3904/events/PDPP-CONFIGURATION/monitor/0?timeout=10000"> PDPD-CONFIGURATION Topic </a>
<li> <a href="http://${message_router}:3904/events/POLICY-CL-MGT/monitor/0?timeout=10000"> POLICY-CL-MGT Topic -- Control loop operational policy </a>
<li> <a href="http://${message_router}:3904/events/DCAE-CL-EVENT/monitor/0?timeout=10000"> DCAE-CL-EVENT Topic -- Provides the Analytics output from DCAE</a>
</ul>
<h1> SSH to VM </h1>
The following links will open a shell and ssh to the various running VMs (at least on a Mac). It assumes that the .ssh/config file has been set appropriately and /etc/hosts has been updated to the running instance.<p>
<a href="ssh://${aai1}"> AAI1 </a><p>
<a href="ssh://${aai2}"> AAI2 </a><p>
<a href="ssh://${policy}"> Policy </a><p>
<a href="ssh://${sdc}"> SDC </a><p>
<a href="ssh://${portal}"> Portal </a><p>
<a href="ssh://${dcae_controller}"> DCAE </a><p>
<a href="ssh://${appc}"> APP-C </a><p>
<a href="ssh://${mso}"> MSO </a><p>
<a href="ssh://${sdnc}"> SDN-C </a><p>
<a href="ssh://${vid}"> VID </a><p>
<a href="ssh://${message_router}"> Message Router </a><p>
<a href="ssh://${robot}"> Robot Framework for testing </a><p>
<a href="ssh://${onapdns}"> DNS server for management network </a><p>
Inside the VM you can list the docker containers by typing: <p>
docker ps <p>
and can get a shell prompt by executing the bash command.
For example: <p> docker exec -it openecompete_container bash <p>
</body></html>
|