8dec463d05d83093afb3982f70b1541e3111e845
[appc.git] / appc-outbound / appc-aai-client / provider / src / test / java / org / onap / appc / aai / client / aai / MockAaiService.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : APPC
4  * ================================================================================
5  * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Copyright (C) 2017 Amdocs
8  * =============================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  * 
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  * 
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * 
21  * ============LICENSE_END=========================================================
22  */
23
24 package org.onap.appc.aai.client.aai;
25
26 import static org.junit.Assert.assertEquals;
27 import static org.junit.Assert.fail;
28
29 import com.att.eelf.configuration.EELFLogger;
30 import com.att.eelf.configuration.EELFManager;
31 import java.util.HashMap;
32 import java.util.Map;
33 import org.onap.ccsdk.sli.adaptors.aai.AAIClient;
34 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
35 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
36
37 public class MockAaiService extends AaiService {
38
39     //ONAP migration
40
41     private static final EELFLogger log = EELFManager.getInstance().getLogger(MockAaiService.class);
42     private AAIClient aaiClient;
43
44     public MockAaiService(AAIClient aaic) {
45         super(aaic);
46     }
47
48     public SvcLogicContext readResource(String query, String prefix, String resourceType)
49         throws AaiServiceInternalException, SvcLogicException {
50         log.info("In MockRead Resource");
51         SvcLogicContext resourceContext = new SvcLogicContext();
52
53         //prefix = StringUtils.isNotBlank(prefix) ? (prefix+".") : "";
54         if ("generic-vnf".equals(resourceType)) {
55             populateGenericVnfContext(resourceContext, prefix);
56         } else if ("vserver".equals(resourceType)) {
57             populateVmContext(resourceContext, prefix);
58         } else if ("vnfc".equals(resourceType)) {
59             populateVnfcContext(resourceContext, prefix);
60         } else if ("cloud-region".equals(resourceType)) {
61             resourceContext.setAttribute(prefix + ".identity-url", "TestUrl");
62         }
63
64         return resourceContext;
65
66
67     }
68
69     public void addVnfc(String vnfcName, Map<String, String> params, String prefix) {
70
71         if (vnfcName.startsWith("ibcx")) {
72             assertEquals("ibcxvm0002func0001", vnfcName);
73
74             log.info("In AddVnfc " + vnfcName);
75             Map<String, String> expectedParams = getExpectedParams();
76                  
77                  
78                 /*    for (Map.Entry<String, String> entry : params.entrySet()) {
79                             String key = entry.getKey();
80                             String value = entry.getValue();
81         
82         
83                            log.info("key= " + key + "value = " + value );
84                          
85                     }*/
86             assertEquals(params, expectedParams);
87         }
88     }
89
90
91     public void updateResource(String resource, String resourceKey, Map<String, String> params) {
92
93         Map<String, String> expectedParams = new HashMap<String, String>();
94
95         expectedParams.put("prov-status", "NVTPROV");
96         assertEquals(params, expectedParams);
97
98         if ("vserver".equals(resource)) {
99
100             String key = "vserver.vserver-id = 'ibcx00000'" +
101                 " AND tenant.tenant-id = 'tenantId'" +
102                 " AND cloud-region.cloud-owner = 'cloudOwner'" +
103                 " AND cloud-region.cloud-region-id = 'cloudRegionId'";
104
105             assertEquals(key, resourceKey);
106         } else if ("generic-vnf".equals(resource)) {
107             assertEquals(resourceKey, "generic-vnf.vnf-id = 'ibcx000000'");
108         } else {
109             fail("Invalid resource " + resource);
110         }
111
112
113     }
114
115     public Map<String, String> getExpectedParams() {
116         Map<String, String> vnfcParams = new HashMap<String, String>();
117
118         vnfcParams.put("vnfc-function-code", "func0");
119
120         vnfcParams.put("vnfc-type", "ssc0");
121
122         vnfcParams.put("ipaddress-v4-oam-vip", "000.00.00.00");
123
124         vnfcParams.put("prov-status", "NVTPROV");
125         vnfcParams.put("orchestration-status", "CONFIGURED");
126         vnfcParams.put("in-maint", "false");
127         vnfcParams.put("is-closed-loop", "false");
128         vnfcParams.put("group-notation", "2");
129
130         vnfcParams.put("relationship-list.relationship[0].related-to", "vserver");
131         vnfcParams.put("relationship-list.relationship[0].relationship-data[0].relationship-key", "vserver.vserver-id");
132         vnfcParams.put("relationship-list.relationship[0].relationship-data[0].relationship-value", "ibcx00000");
133
134         vnfcParams.put("relationship-list.relationship[0].relationship-data[1].relationship-key", "tenant.tenant-id");
135         vnfcParams.put("relationship-list.relationship[0].relationship-data[1].relationship-value", "tenantId");
136
137         vnfcParams
138             .put("relationship-list.relationship[0].relationship-data[2].relationship-key", "cloud-region.cloud-owner");
139         vnfcParams.put("relationship-list.relationship[0].relationship-data[2].relationship-value", "cloudOwner");
140
141         vnfcParams.put("relationship-list.relationship[0].relationship-data[3].relationship-key",
142             "cloud-region.cloud-region-id");
143         vnfcParams.put("relationship-list.relationship[0].relationship-data[3].relationship-value", "cloudRegionId");
144
145         vnfcParams.put("relationship-list.relationship[1].related-to", "generic-vnf");
146         vnfcParams.put("relationship-list.relationship[1].relationship-data[0].relationship-key", "generic-vnf.vnf-id");
147         vnfcParams.put("relationship-list.relationship[1].relationship-data[0].relationship-value", "ibcx000000");
148
149         vnfcParams.put("relationship-list.relationship[2].related-to", "vf-module");
150         vnfcParams.put("relationship-list.relationship[2].relationship-data[0].relationship-key", "generic-vnf.vnf-id");
151         vnfcParams.put("relationship-list.relationship[2].relationship-data[0].relationship-value", "ibcx000000");
152
153         vnfcParams
154             .put("relationship-list.relationship[2].relationship-data[1].relationship-key", "vf-module.vf-module-id");
155         vnfcParams.put("relationship-list.relationship[2].relationship-data[1].relationship-value", "vfModuleId");
156
157         return vnfcParams;
158     }
159
160     public void populateVnfcContext(SvcLogicContext ctx, String prefix) {
161         log.info("In populateVnfcContext " + prefix);
162
163         ctx.setAttribute(prefix + ".vnfc-type", "vnfctype1");
164         ctx.setAttribute(prefix + ".vnfc-function-code", "funccode1");
165         ctx.setAttribute(prefix + ".group-notation", "grpnot1");
166     }
167
168     public void populateVmContext(SvcLogicContext ctx, String prefix) {
169         log.info("In populateVmContext " + prefix);
170
171         ctx.setAttribute(prefix + ".vserver-name", "ibcx0000000");
172
173         ctx.setAttribute(prefix + ".relationship-list.relationship_length", "3");
174
175         // Junk
176         ctx.setAttribute(prefix + ".relationship-list.relationship[0].related-to", "test");
177         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data_length", "1");
178         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[0].relationship-key",
179             "vnfc.vnfc-name");
180         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[0].relationship-value", "test");
181
182         // VNFC
183         ctx.setAttribute(prefix + ".relationship-list.relationship[1].related-to", "vnfc");
184         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data_length", "1");
185         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[0].relationship-key",
186             "vnfc.vnfc-name");
187         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[0].relationship-value",
188             "ibcx0001vm001vnfc1");
189
190         // VFModule
191
192         ctx.setAttribute(prefix + ".relationship-list.relationship[2].related-to", "vf-module");
193         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data_length", "1");
194         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[0].relationship-key",
195             "vf-module.vf-module-id");
196         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[0].relationship-value",
197             "vfModule1");
198
199
200     }
201
202     public void populateGenericVnfContext(SvcLogicContext ctx, String prefix) {
203
204         log.info("In populateGenericVnf " + prefix);
205         ctx.setAttribute(prefix + ".vnf-name", "ibvcx0001");
206         ctx.setAttribute(prefix + ".vnf-type", "vUSP-Metaswitch");
207
208         ctx.setAttribute(prefix + ".relationship-list.relationship_length", "3");
209              
210             /* // VM1
211              ctx.setAttribute(prefix + ".relationship-list.relationship[0].related-to", "vserver");
212              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data_length", "4");
213              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[0].relationship-key", "vserver.vserver-id");
214              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[0].relationship-value", "ibcx001vm001-id");
215              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[1].relationship-key", "tenant.tenant-id");
216              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[1].relationship-value", "sometenant");
217              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[2].relationship-key", "cloud-region.cloud-owner");
218              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[2].relationship-value", "ATTAIC");
219              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[3].relationship-key", "cloud-region.cloud-region-id");
220              ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[3].relationship-value", "testcloudregionid");
221            
222              
223              //ctx.setAttribute(prefix + ".relationship-list.relationship_length", "3");
224 */
225         // VM1
226         ctx.setAttribute(prefix + ".relationship-list.relationship[0].related-to", "vserver");
227         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data_length", "4");
228         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[0].relationship-key",
229             "vserver.vserver-id");
230         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[0].relationship-value",
231             "ibcx001vm001-id");
232         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[1].relationship-key",
233             "tenant.tenant-id");
234         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[1].relationship-value",
235             "sometenant");
236         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[2].relationship-key",
237             "cloud-region.cloud-owner");
238         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[2].relationship-value",
239             "ATTAIC");
240         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[3].relationship-key",
241             "cloud-region.cloud-region-id");
242         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[3].relationship-value",
243             "testcloudregionid");
244
245         // VM2
246         ctx.setAttribute(prefix + ".relationship-list.relationship[1].related-to", "vserver");
247         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data_length", "4");
248         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[0].relationship-key",
249             "vserver.vserver-id");
250         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[0].relationship-value",
251             "ibcx000000");
252
253         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[1].relationship-key",
254             "tenant.tenant-id");
255         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[1].relationship-value",
256             "sometenant");
257
258         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[2].relationship-key",
259             "cloud-region.cloud-owner");
260         ctx.setAttribute(prefix + ".relationship-list.relationship[0].relationship-data[2].relationship-value",
261             "ATTAIC");
262
263         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[3].relationship-key",
264             "cloud-region.cloud-region-id");
265         ctx.setAttribute(prefix + ".relationship-list.relationship[1].relationship-data[3].relationship-value",
266             "testcloudregionid");
267
268         // Unrelated
269         ctx.setAttribute(prefix + ".relationship-list.relationship[2].related-to", "junk");
270
271         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data_length", "4");
272
273         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[0].relationship-key", "test");
274         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[0].relationship-value",
275             "ibcx000000");
276
277         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[1].relationship-key", "test1");
278         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[1].relationship-value",
279             "sometenant");
280
281         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[2].relationship-key", "test2");
282         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[2].relationship-value",
283             "ATTAIC");
284
285         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[3].relationship-key", "test3");
286         ctx.setAttribute(prefix + ".relationship-list.relationship[2].relationship-data[3].relationship-value",
287             "testcloudregionid");
288     }
289
290
291     public void populateFirstVnfcData(SvcLogicContext ctx, String prefix) throws Exception {
292
293         ctx.setAttribute(prefix + "vnf.vm-count", "4");
294
295         ctx.setAttribute(prefix + "vm[0].vnfc-type", "mmc");
296         ctx.setAttribute(prefix + "vm[0].vnfc-name", "vnfcname1");
297
298         ctx.setAttribute(prefix + "vm[1].vnfc-type", "mmc");
299         ctx.setAttribute(prefix + "vm[1].vnfc-name", "vnfcname2");
300
301         ctx.setAttribute(prefix + "vm[2].vnfc-type", "ssc");
302         ctx.setAttribute(prefix + "vm[2].vnfc-name", "vnfcname3");
303
304         ctx.setAttribute(prefix + "vm[3].vnfc-type", "ssc");
305         ctx.setAttribute(prefix + "vm[3].vnfc-name", "vnfcname4");
306     }
307
308
309     public void populateGroupNotation(SvcLogicContext ctx, String prefix) throws Exception {
310
311         ctx.setAttribute(prefix + "vnf.vm-count", "5");
312
313         ctx.setAttribute(prefix + "vm[0].vserver-name", "ibcxvm0001");
314         ctx.setAttribute(prefix + "vm[0].group-notation", "grpNot1");
315
316         ctx.setAttribute(prefix + "vm[1].vserver-name", "ibcxvm0002");
317         ctx.setAttribute(prefix + "vm[1].group-notation", "grpNot2");
318
319         ctx.setAttribute(prefix + "vm[2].vserver-name", "ibcxvm0003");
320         ctx.setAttribute(prefix + "vm[2].group-notation", "grpNot3");
321
322         ctx.setAttribute(prefix + "vm[3].vserver-name", "ibcxvm0004");
323         ctx.setAttribute(prefix + "vm[3].group-notation", "4");
324
325         ctx.setAttribute(prefix + "vm[4].vserver-name", "ibcxvm0005");
326         ctx.setAttribute(prefix + "vm[4].group-notation", "4");
327     }
328
329
330     public void populateVnfcRef(SvcLogicContext ctx) throws Exception {
331
332         for (int i = 0; i < 2; i++) {
333
334             String vnfcRefKey = "vnfcReference[" + i + "].";
335
336             ctx.setAttribute(vnfcRefKey + "VM-INSTANCE", String.valueOf(i));
337             ctx.setAttribute(vnfcRefKey + "VNFC-INSTANCE", "1");
338
339             //if ( i == 0 || i == 1 ) {
340             ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-TYPE", "fixed-value");
341             ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-VALUE", "2");
342             //}
343
344             ctx.setAttribute(vnfcRefKey + "VNFC-TYPE", "ssc" + i);
345
346             ctx.setAttribute(vnfcRefKey + "VNFC-FUNCTION-CODE", "func" + i);
347
348             ctx.setAttribute(vnfcRefKey + "IPADDRESS-V4-OAM-VIP", "Y");
349         }
350
351     }
352
353     public void populateAllVnfInfo(SvcLogicContext ctx, String prefix) throws Exception {
354
355         ctx.setAttribute("vnf-id", "ibcx000000");
356
357         ctx.setAttribute("vnf-host-ip-address", "000.00.00.00");
358         ctx.setAttribute(prefix + ".vnf.vm-count", "2");
359
360         ctx.setAttribute(prefix + ".vm[0].vserver-name", "ibcxvm0000");
361         ctx.setAttribute(prefix + ".vm[0].vnfc-name", "VNFCNAME");
362
363         ctx.setAttribute(prefix + ".vm[0].vserver-id", "ibcxvm0001id");
364         ctx.setAttribute(prefix + ".vm[0].tenant-id", "tenantid");
365         ctx.setAttribute(prefix + ".vm[0].cloud-owner", "cloudOwner");
366         ctx.setAttribute(prefix + ".vm[0].cloud-region-id", "cloudRegionId");
367
368         ctx.setAttribute(prefix + ".vm[0].vf-module-id", "vfModuleId");
369
370         ctx.setAttribute(prefix + ".vm[1].vserver-name", "ibcxvm0002");
371
372         ctx.setAttribute(prefix + ".vm[1].vserver-id", "ibcx00000");
373         ctx.setAttribute(prefix + ".vm[1].tenant-id", "tenantId");
374         ctx.setAttribute(prefix + ".vm[1].cloud-owner", "cloudOwner");
375         ctx.setAttribute(prefix + ".vm[1].cloud-region-id", "cloudRegionId");
376
377         ctx.setAttribute(prefix + ".vm[1].vf-module-id", "vfModuleId");
378
379         //ctx.setAttribute(prefix+ ".vm[1].vserver-name", "ibcxvm0002");
380
381     }
382
383
384     public void populateAllVnfInfo1(SvcLogicContext ctx, String prefix) throws Exception {
385
386         ctx.setAttribute("vnf-id", "dbjx0001v");
387
388         ctx.setAttribute("vnf-host-ip-address", "000.00.00.00");
389         ctx.setAttribute(prefix + ".vnf.vm-count", "2");
390
391         ctx.setAttribute(prefix + ".vm[0].vserver-name", "dbjx0001vm001");
392
393         ctx.setAttribute(prefix + ".vm[0].vserver-id", "dbjx0001vm0001id");
394         ctx.setAttribute(prefix + ".vm[0].tenant-id", "tenantid1");
395         ctx.setAttribute(prefix + ".vm[0].cloud-owner", "cloudOwner1");
396         ctx.setAttribute(prefix + ".vm[0].cloud-region-id", "cloudRegionId1");
397
398         ctx.setAttribute(prefix + ".vm[0].vf-module-id", "vfModuleId1");
399
400         ctx.setAttribute(prefix + ".vm[1].vserver-name", "dbjx0001vm002");
401
402         ctx.setAttribute(prefix + ".vm[1].vserver-id", "dbjx0001vm0002id");
403         ctx.setAttribute(prefix + ".vm[1].tenant-id", "tenantId2");
404         ctx.setAttribute(prefix + ".vm[1].cloud-owner", "cloudOwner2");
405         ctx.setAttribute(prefix + ".vm[1].cloud-region-id", "cloudRegionId2");
406
407         ctx.setAttribute(prefix + ".vm[1].vf-module-id", "vfModuleId2");
408
409
410     }
411
412     public void populateVnfcRefFirstVnfcName(SvcLogicContext ctx) throws Exception {
413
414         for (int i = 0; i < 2; i++) {
415
416             String vnfcRefKey = "vnfcReference[" + i + "].";
417
418             ctx.setAttribute(vnfcRefKey + "VM-INSTANCE", String.valueOf(i));
419             ctx.setAttribute(vnfcRefKey + "VNFC-INSTANCE", "1");
420
421             ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-TYPE", "first-vnfc-name");
422             ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-VALUE", "pair");
423
424             ctx.setAttribute(vnfcRefKey + "VNFC-TYPE", "vDBE-I? - DBJX");
425
426             ctx.setAttribute(vnfcRefKey + "VNFC-FUNCTION-CODE", "dbj");
427
428             ctx.setAttribute(vnfcRefKey + "IPADDRESS-V4-OAM-VIP", "Y");
429         }
430
431     }
432
433     public void populateVnfcRefRelValueSame(SvcLogicContext ctx) throws Exception {
434
435         for (int i = 0; i < 2; i++) {
436
437             String vnfcRefKey = "vnfcReference[" + i + "].";
438
439             ctx.setAttribute(vnfcRefKey + "VM-INSTANCE", String.valueOf(i));
440             ctx.setAttribute(vnfcRefKey + "VNFC-INSTANCE", "1");
441
442             if (i == 0) {
443                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-TYPE", "fixed-value");
444                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-VALUE", "1");
445             } else {
446                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-TYPE", "relative-value");
447                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-VALUE", "same");
448             }
449
450             ctx.setAttribute(vnfcRefKey + "VNFC-TYPE", "v-I? - DBJX");
451
452             ctx.setAttribute(vnfcRefKey + "VNFC-FUNCTION-CODE", "dbj");
453
454             ctx.setAttribute(vnfcRefKey + "IPADDRESS-V4-OAM-VIP", "Y");
455         }
456
457     }
458
459
460     public void populateVnfcRefRelValueNext(SvcLogicContext ctx) throws Exception {
461
462         for (int i = 0; i < 2; i++) {
463
464             String vnfcRefKey = "vnfcReference[" + i + "].";
465
466             ctx.setAttribute(vnfcRefKey + "VM-INSTANCE", String.valueOf(i));
467             ctx.setAttribute(vnfcRefKey + "VNFC-INSTANCE", "1");
468
469             if (i == 0) {
470                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-TYPE", "fixed-value");
471                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-VALUE", "1");
472             } else {
473                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-TYPE", "relative-value");
474                 ctx.setAttribute(vnfcRefKey + "GROUP-NOTATION-VALUE", "next");
475             }
476
477             ctx.setAttribute(vnfcRefKey + "VNFC-TYPE", "v-I? - DBJX");
478
479             ctx.setAttribute(vnfcRefKey + "VNFC-FUNCTION-CODE", "dbj");
480
481             ctx.setAttribute(vnfcRefKey + "IPADDRESS-V4-OAM-VIP", "Y");
482         }
483
484     }
485
486 }