[COMMON] Add and run pre-commit linters via tox

- create a .pre-commit-config.yaml configuration file with
  * gitlint
  * trailing blanks linter
  * tabs removal linter
    - exclude .git folder from it
    - exclude Makefiles since tabs are mandatory by default in them
- create a tox pre-commit profile to run it from tox
  note gitlint is not runnable at this pre-commit stage
- create pre-commit-install and pre-commit-uninstall tox profiles to
  (un)install hooks locally and (un)perform tests at each "git commit"
  call (i.e. without calling manually the pre-commit tox profile)
- precise pre-commit stages/types in the pre-commit configuration file
  so that hooks are installed correctly. This avoids messages about
  skipped tests when they are run at a wrong stage.

Issue-ID: OOM-2643
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ie95bb4f6f90be80b05a1398973caffeff7936881
diff --git a/kubernetes/so/resources/config/log/logback.network.xml b/kubernetes/so/resources/config/log/logback.network.xml
index 542a8f6..ea8211a 100755
--- a/kubernetes/so/resources/config/log/logback.network.xml
+++ b/kubernetes/so/resources/config/log/logback.network.xml
@@ -2,11 +2,11 @@
   <!--<jmxConfigurator /> -->
   <!-- directory path for all other type logs -->
   <property name="logDir" value="/var/log/onap" />
-  
+
   <!-- directory path for debugging type logs -->
   <property name="debugDir" value="/var/log/onap" />
-  
-  <!--  specify the component name 
+
+  <!--  specify the component name
     <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC"  -->
   <property name="componentName" value="MSO"></property>
   <property name="subComponentName" value="NetworkAdapter"></property>
@@ -23,21 +23,20 @@
   <property name="metricPattern" value="%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread||%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{RemoteHost}||||%X{TargetVirtualEntity}|||||%msg%n" />
   <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />
   <property name="debugLogDirectory" value="${debugDir}/${componentName}/${subComponentName}" />
-  
+
 
   <!-- ============================================================================ -->
   <!-- EELF Appenders -->
   <!-- ============================================================================ -->
 
-  <!-- The EELFAppender is used to record events to the general application 
-    log -->
-  
-  <!-- EELF Audit Appender. This appender is used to record audit engine 
-    related logging events. The audit logger and appender are specializations 
-    of the EELF application root logger and appender. This can be used to segregate 
-    Policy engine events from other components, or it can be eliminated to record 
+  <!-- The EELFAppender is used to record events to the general application log -->
+
+  <!-- EELF Audit Appender. This appender is used to record audit engine
+    related logging events. The audit logger and appender are specializations
+    of the EELF application root logger and appender. This can be used to segregate
+    Policy engine events from other components, or it can be eliminated to record
     these events as part of the application root log. -->
-    
+
   <appender name="EELFAudit"
     class="ch.qos.logback.core.rolling.RollingFileAppender">
     <file>${logDirectory}/${auditLogName}${jboss.server.name}.log</file>
@@ -64,18 +63,17 @@
       <!--<maxHistory>30</maxHistory>-->
     </rollingPolicy>
     <encoder>
-      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - 
-        %msg%n"</pattern> -->
+      <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n"</pattern> -->
       <pattern>${metricPattern}</pattern>
     </encoder>
   </appender>
-  
-  
+
+
   <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
     <queueSize>256</queueSize>
     <appender-ref ref="EELFMetrics"/>
   </appender>
-   
+
   <appender name="EELFError"
     class="ch.qos.logback.core.rolling.RollingFileAppender">
     <file>${logDirectory}/${errorLogName}${jboss.server.name}.log</file>
@@ -91,12 +89,12 @@
       <pattern>${errorPattern}</pattern>
     </encoder>
   </appender>
-  
+
   <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
     <queueSize>256</queueSize>
     <appender-ref ref="EELFError"/>
   </appender>
-  
+
    <appender name="EELFDebug"
     class="ch.qos.logback.core.rolling.RollingFileAppender">
     <file>${debugLogDirectory}/${debugLogName}${jboss.server.name}.log</file>
@@ -109,14 +107,14 @@
       <pattern>${debugPattern}</pattern>
     </encoder>
   </appender>
-  
+
   <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
     <queueSize>256</queueSize>
     <appender-ref ref="EELFDebug" />
     <includeCallerData>true</includeCallerData>
   </appender>
- 
-  
+
+
   <!-- ============================================================================ -->
   <!--  EELF loggers -->
   <!-- ============================================================================ -->
@@ -124,14 +122,14 @@
   <logger name="com.att.eelf.audit" level="info" additivity="false">
     <appender-ref ref="asyncEELFAudit" />
   </logger>
-  
+
   <logger name="com.att.eelf.metrics" level="info" additivity="false">
         <appender-ref ref="asyncEELFMetrics" />
   </logger>
 
   <logger name="com.att.eelf.error" level="debug" additivity="false">
     <appender-ref ref="asyncEELFError" />
-  </logger> 
+  </logger>
   <root level="INFO">
     <appender-ref ref="asyncEELFDebug" />
   </root>