.. This work is licensed under a Creative Commons Attribution 4.0
.. International License. http://creativecommons.org/licenses/by/4.0
.. Copyright 2017 AT&T Intellectual Property. All rights reserved.
Adding a Cloud Site
===================
By default, having deployed ONAP, you should have provided information
that have been used by installation procedure to configure ONAP
to be connected with a first Openstack Cloud Site in order to instantiate
services on that platform.
By default, ONAP to Cloud Site interactions are managed by
ONAP SO component directly.
You have also the possibility to configure ONAP SO to interact Cloud Site
via ONAP MultiCloud component.
To be able to add new Cloud Site you need to:
* configure ONAP SO to know about the new Cloud Site
* configure ONAP SO to know to use ONAP MultiCloud for that new CloudSite
* declare the new cloud Site in ONAP AAI
* register the new cloud Site in ONAP multiCloud
The following guides are provided to describe tasks that a user of
ONAP m.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
.. Copyright 2020 Huawei Technologies Co., Ltd.
CXF-logging:
=============
It is a logging framework from SO. Here basically we are having 2 interceptors which extends AbstractSoapInterceptor.
SOAPLoggingInInterceptor:
+++++++++++++++++++++++++++
* This interceptor is responsible for Capturing requestId , client ip address , invocation id, service name, instance id, entry timestamp , log timestamp, Elapsed time for each request and update the MDC logger with staus In-progress.
SOAPLoggingOutInterceptor:
++++++++++++++++++++++++++++
* This interceptor is responsible for log timestamp , elapsed time for each request and checks for if there is any exception update the MDC loggers with 500 response code otherwise update the status as completed.
cxf-logging Used By below components of SO:
++++++++++++++++++++++++++++++++++++++++++++
The cxf-logging framework is used by below components of so.
mso-openstack-adapter.
mso-requests-db-adapter.
mso-sdnc-adapter.
mso-infrastructure-bpmn.
cxf-logging dependency for using in other components:
++++++++++++++++++++++++++++++++++++++++++++++++++++++
<dependency>
<groupId>org.onap.so</groupId>
<artifactId>cxf-logging</artifactId>
<version>${project.version}</version>
</dependency>
pom.xml:
+++++++++
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.so</groupId>
<artifactId>so</artifactId>
<version>1.6.0-SNAPSHOT</version>
</parent>
<name>CXFLogging</name>
<description>Common CXF Logging Classes</description>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-client</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-bindings-soap</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-ext</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>*.java</include>
</includes>
</resource>
</resources>
</build>
<artifactId>cxf-logging</artifactId>
</project>
Configuration file:
++++++++++++++++++++
Here we can do configure the logger properties for the cxf-logging.
<configuration>
<property name="p_tim" value="%d{"yyyy-MM-dd'T'HH:mm:ss.SSSXXX", UTC}"/>
<property name="p_lvl" value="%level"/>
<property name="p_log" value="%logger"/>
<property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
<property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
<property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
<property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
<property name="p_thr" value="%thread"/>
<property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${pattern}</pattern>
</encoder>
</appender>
<appender name="test"
class="org.onap.so.utils.TestAppender" />
<logger name="com.att.ecomp.audit" level="info" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="com.att.eelf.metrics" level="info" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="com.att.eelf.error" level="WARN" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="org.onap" level="${so.log.level:-DEBUG}" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="test" />
</logger>
<logger name="org.flywaydb" level="DEBUG" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<logger name="ch.vorburger" level="WARN" additivity="false">
<appender-ref ref="STDOUT" />
</logger>
<root level="WARN">
<appender-ref ref="STDOUT" />
<appender-ref ref="test" />
</root>
</configuration>