aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/development/devtools/images/pap-s3p-mem-at.pngbin0 -> 10689 bytes
-rw-r--r--docs/development/devtools/images/pap-s3p-mem-bt.pngbin0 -> 20106 bytes
-rw-r--r--docs/development/devtools/images/pap-s3p-performance-result-jmeter.pngbin0 -> 269858 bytes
-rw-r--r--docs/development/devtools/images/pap-s3p-stability-result-jmeter.pngbin0 -> 276802 bytes
-rw-r--r--docs/development/devtools/pap-s3p.rst29
5 files changed, 19 insertions, 10 deletions
diff --git a/docs/development/devtools/images/pap-s3p-mem-at.png b/docs/development/devtools/images/pap-s3p-mem-at.png
new file mode 100644
index 00000000..dd880227
--- /dev/null
+++ b/docs/development/devtools/images/pap-s3p-mem-at.png
Binary files differ
diff --git a/docs/development/devtools/images/pap-s3p-mem-bt.png b/docs/development/devtools/images/pap-s3p-mem-bt.png
new file mode 100644
index 00000000..7c909831
--- /dev/null
+++ b/docs/development/devtools/images/pap-s3p-mem-bt.png
Binary files differ
diff --git a/docs/development/devtools/images/pap-s3p-performance-result-jmeter.png b/docs/development/devtools/images/pap-s3p-performance-result-jmeter.png
new file mode 100644
index 00000000..be8bd99e
--- /dev/null
+++ b/docs/development/devtools/images/pap-s3p-performance-result-jmeter.png
Binary files differ
diff --git a/docs/development/devtools/images/pap-s3p-stability-result-jmeter.png b/docs/development/devtools/images/pap-s3p-stability-result-jmeter.png
new file mode 100644
index 00000000..5ebc769f
--- /dev/null
+++ b/docs/development/devtools/images/pap-s3p-stability-result-jmeter.png
Binary files differ
diff --git a/docs/development/devtools/pap-s3p.rst b/docs/development/devtools/pap-s3p.rst
index 1c031775..6666fe78 100644
--- a/docs/development/devtools/pap-s3p.rst
+++ b/docs/development/devtools/pap-s3p.rst
@@ -35,12 +35,15 @@ The 72 hours stability test ran the following steps sequentially in a single thr
- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that PdpGroup is in the ACTIVE state.
- **Deploy defaultDomain Policy** - deploys the policy defaultDomain in the existing PdpGroup
- **Check status of defaultGroup** - checks the status of defaultGroup PdpGroup with the defaultDomain policy 1.0.0.
+- **Check PdpGroup Audit defaultGroup** - checks the audit information for the defaultGroup PdpGroup.
+- **Check PdpGroup Audit Policy (defaultGroup)** - checks the audit information for the defaultGroup PdpGroup with the defaultDomain policy 1.0.0.
- **Create/Update PDP Group** - creates a new PDPGroup named sampleGroup.
- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that 2 PdpGroups are in the ACTIVE state and defaultGroup has a policy deployed on it.
- **Deployment Update sampleDomain** - deploys the policy sampleDomain in sampleGroup PdpGroup using pap api
- **Check status of sampleGroup** - checks the status of the sampleGroup PdpGroup.
- **Check status of PdpGroups** - checks the status of both PdpGroups.
- **Check PdpGroup Query** - makes a PdpGroup query request and verifies that the defaultGroup has a policy defaultDomain deployed on it and sampleGroup has policy sampleDomain deployed on it.
+- **Check Audit** - checks the audit information for all PdpGroups.
- **Check Consolidated Health** - checks the consolidated health status of all policy components.
- **Check Deployed Policies** - checks for all the deployed policies using pap api.
- **Undeploy Policy sampleDomain** - undeploys the policy sampleDomain from sampleGroup PdpGroup using pap api
@@ -71,14 +74,14 @@ The test was run in the background via "nohup", to prevent it from being interru
.. code-block:: bash
- nohup ./jMeter/apache-jmeter-5.3/bin/jmeter.sh -n -t stabil.jmx -l testresults.jtl
+ nohup ./jMeter/apache-jmeter-5.3/bin/jmeter.sh -n -t stability.jmx -l testresults.jtl
Test Results
------------
**Summary**
-Stability test plan was triggered for 24 hours.
+Stability test plan was triggered for 72 hours.
.. Note::
@@ -95,18 +98,24 @@ Stability test plan was triggered for 24 hours.
======================= ================= ================== ==================================
**Total # of requests** **Success %** **Error %** **Average time taken per request**
======================= ================= ================== ==================================
-11921 100.00 % 0.00 % 382 ms
+34053 99.14 % 0.86 % 1051 ms
======================= ================= ================== ==================================
.. Note::
.. container:: paragraph
- There were no failures during the 24 hours test.
+ There were some failures during the 72 hour stability tests. These tests were caused by the apex-pdp pods restarting
+ intermitently due to limited resources in our testing environment. The second apex instance was configured as a
+ replica of the apex-pdp pod and therefore, when it restarted, registered to the "defaultGroup" as the configuration
+ was taken from the original apex-pdp pod. This meant a manual change whenever the pods restarted to make apex-pdp-"2"
+ register with the "sampleGroup".
+ When both pods were running as expected, no errors relating to the pap functionality were observed. These errors are
+ strictly caused by the environment setup and not by pap.
**JMeter Screenshot**
-.. image:: images/pap-s3p-stability-result-jmeter.PNG
+.. image:: images/pap-s3p-stability-result-jmeter.png
**Memory and CPU usage**
@@ -114,11 +123,11 @@ The memory and CPU usage can be monitored by running "top" command on the PAP po
Memory and CPU usage before test execution:
-.. image:: images/pap-s3p-mem-bt.PNG
+.. image:: images/pap-s3p-mem-bt.png
Memory and CPU usage after test execution:
-.. image:: images/pap-s3p-mem-at.PNG
+.. image:: images/pap-s3p-mem-at.png
Performance Test of PAP
@@ -152,7 +161,7 @@ Running/Triggering the performance test will be the same as the stability test.
.. code-block:: bash
- nohup ./jMeter/apache-jmeter-5.3/bin/jmeter.sh -n -t perf.jmx -l perftestresults.jtl
+ nohup ./jMeter/apache-jmeter-5.3/bin/jmeter.sh -n -t performance.jmx -l perftestresults.jtl
Once the test execution is completed, execute the below script to get the statistics:
@@ -171,9 +180,9 @@ Test results are shown as below.
======================= ================= ================== ==================================
**Total # of requests** **Success %** **Error %** **Average time taken per request**
======================= ================= ================== ==================================
-46314 100 % 0.00 % 1084 ms
+24092 100 % 0.00 % 2467 ms
======================= ================= ================== ==================================
**JMeter Screenshot**
-.. image:: images/pap-s3p-performance-result-jmeter.PNG \ No newline at end of file
+.. image:: images/pap-s3p-performance-result-jmeter.png \ No newline at end of file
href='#n419'>419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827
<!--
============LICENSE_START=======================================================
SDC
================================================================================
Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
        *
     http://www.apache.org/licenses/LICENSE-2.0
        *
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
============LICENSE_END=========================================================
Modifications copyright (c) 2018-2019 Nokia
================================================================================
-->
<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>

    <groupId>org.openecomp.sdc</groupId>
    <artifactId>sdc-main</artifactId>
    <version>1.10.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>sdc</name>

    <parent>
        <groupId>org.onap.oparent</groupId>
        <artifactId>oparent</artifactId>
        <version>3.2.0</version>
        <relativePath/>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>

        <tosca.datatype.version>${project.version}</tosca.datatype.version>
        <!-- 3rd parties versions -->
        <bean-matcher.version>0.11</bean-matcher.version>
        <lang3.version>3.10</lang3.version>
        <guava.version>30.1-jre</guava.version>
        <janusgraph.version>0.3.3</janusgraph.version>
        <spring.version>5.3.9</spring.version>
        <jersey-bom.version>2.34</jersey-bom.version>
        <netty.version>4.1.68.Final</netty.version>
        <servlet-api.version>4.0.1</servlet-api.version>
        <wire-mock.version>2.26.3</wire-mock.version>
        <ecomp.version>3.4.0</ecomp.version>
        <cassandra.unit.version>4.3.1.0</cassandra.unit.version>
        <cadi.version>2.1.8</cadi.version>
        <lombok.version>1.18.20</lombok.version>
        <commons-beanutils>1.9.4</commons-beanutils>
        <commons.io.version>2.8.0</commons.io.version>
        <commons-configuration>2.7</commons-configuration>
        <apache-poi.version>4.1.0</apache-poi.version>
        <onap.logging.version>1.6.1</onap.logging.version>
        <apache-commons-text.version>1.9</apache-commons-text.version>
        <jaxb-api.version>2.3.1</jaxb-api.version>
        <io.vavr.version>0.10.3</io.vavr.version>
        <groovy.version>3.0.7</groovy.version>
        <swagger-core-mvn-plugin.version>2.1.7</swagger-core-mvn-plugin.version>
        <maven-antrun-plugin.version>3.0.0</maven-antrun-plugin.version>
        <hibernate.validator.version>6.1.6.Final</hibernate.validator.version>

        <commons.collections.version>4.1</commons.collections.version>
        <ws.rs.version>2.1.1</ws.rs.version>
        <javax.validation.version>2.0.1.Final</javax.validation.version>
        <javax.servlet.version>${servlet-api.version}</javax.servlet.version>

        <jetty.version>9.4.41.v20210516</jetty.version>
        <cxf.version>3.4.4</cxf.version>

        <org.owasp.esapi.version>2.2.0.0</org.owasp.esapi.version>
        <org.dom4j.version>2.1.3</org.dom4j.version>

        <!-- JSON and YAML Parsing -->
        <jackson.version>2.12.4</jackson.version>
        <jackson-annotations.version>${jackson.version}</jackson-annotations.version>

        <clearspring.version>2.1.1</clearspring.version>
        <skipYamlJsonValidator>false</skipYamlJsonValidator>

        <!-- Yaml for properties -->
        <snakeyaml.version>1.29</snakeyaml.version>
        <functionaljava.version>4.9</functionaljava.version>
        <httpclient.version>4.5.13</httpclient.version>
        <httpcore.version>4.4.1</httpcore.version>
        <json-simple.version>1.1</json-simple.version>

        <!-- PM Dictionary validation -->
        <onap.vnfsdk.validation.pmdictionary.version>1.2.15
        </onap.vnfsdk.validation.pmdictionary.version>

        <!-- Logging start -->
        <!-- logback -->
        <logback.version>1.2.7</logback.version>
        <slf4j-api.version>1.7.25</slf4j-api.version>
        <commons-codec>1.15</commons-codec>
        <commons-logging>1.2</commons-logging>
        <janino.version>3.0.6</janino.version>
        <log4j.version>2.13.1</log4j.version>

        <!-- aspects -->
        <jcabi.version>0.20.1</jcabi.version>
        <aspectj.version>1.9.7</aspectj.version>
        <aspectjrt.version>${aspectj.version}</aspectjrt.version>
        <jcabi.maven.plugin.version>0.13.2</jcabi.maven.plugin.version>

        <!-- Logging end -->
        <!-- System Metrics -->
        <sigar.version>1.6.4</sigar.version>

        <regex.version>3.0.3</regex.version>

        <!--GSON-->
        <gson.version>2.8.9</gson.version>

        <!--listen to file changes-->
        <commons-jci-core.version>1.1</commons-jci-core.version>

        <!--TESTING-->
        <mockito.version>3.7.7</mockito.version>
        <mockitoJupiter.version>${mockito.version}</mockitoJupiter.version>
        <jmockit.version>1.35</jmockit.version>
        <junit.platform.version>1.7.1</junit.platform.version>
        <junitJupiter.version>5.7.2</junitJupiter.version>
        <assertj.version>3.16.0</assertj.version>
        <testng.version>7.4.0</testng.version>
        <cucumber.version>6.8.1</cucumber.version>
        <bean-matchers.version>0.11</bean-matchers.version>
        <hamcrest.version>2.2</hamcrest.version>
        <hamcrest-all.version>1.3</hamcrest-all.version>
        <maven-surefire-plugin.version>2.22.2</maven-surefire-plugin.version>
        <jMapper.version>1.6.0.1</jMapper.version>

        <!-- sonar -->
        <sonar.projectVersion>${project.version}</sonar.projectVersion>
        <sonar.nodejs.executable>${project.basedir}/node/node</sonar.nodejs.executable>
        <sonar.surefire.reportsPath>${project.build.directory}/surefire-reports
        </sonar.surefire.reportsPath>
        <sonar.javascript.lcov.reportPaths>${project.build.directory}/code-coverage/lcov.info
        </sonar.javascript.lcov.reportPaths>
        <sonar.coverage.jacoco.xmlReportPaths>
            ${project.reporting.outputDirectory}/jacoco-ut/jacoco.xml
        </sonar.coverage.jacoco.xmlReportPaths>
        <sonar.sourceEncoding>${project.build.sourceEncoding}</sonar.sourceEncoding>
        <sonar.projectBaseDir>${project.basedir}</sonar.projectBaseDir>
        <sonar.coverage.exclusions>pom.xml,src/test</sonar.coverage.exclusions>
        <!--cassandra -->
        <cassandra.driver.version>3.8.0</cassandra.driver.version>
        <!-- maven central (Nexus) -->
        <nexus.id.release>nexus</nexus.id.release>
        <nexus.id.snapshot>nexus</nexus.id.snapshot>

        <!--nexus-->
        <npm.registry>https://nexus3.onap.org/repository/npm.public/npm/-/</npm.registry>
        <nexus.proxy>https://nexus.onap.org</nexus.proxy>
        <sitePath>/content/sites/site/org/openecomp/sdc/${project.version}</sitePath>
        <staging.profile.id>176c31dfe190a</staging.profile.id>
        <!--togglz version-->
        <togglz.version>2.6.1.Final</togglz.version>

        <joda.time.version>2.9.9</joda.time.version>

        <!--sdc-security-utils-->
        <security.util.lib.version>1.6.0</security.util.lib.version>
        <!--jacoco-->
        <jacoco.version>0.8.7</jacoco.version>

        <java.driver.core.version>4.5.1</java.driver.core.version>

        <!-- Surefire parameters  -->
        <surefire.forkCount>1C</surefire.forkCount>
        <surefire.reuseForks>true</surefire.reuseForks>
        <surefire.skip.tests>false</surefire.skip.tests>

        <bouncycastle.version>1.69</bouncycastle.version>

        <!--DOCKER-->
        <docker.api.version>1.41</docker.api.version>
        <docker.namespace>onap</docker.namespace>
        <docker.password>docker</docker.password>
        <docker.username>docker</docker.username>
        <docker.registry>nexus3.onap.org:10001</docker.registry>

        <verbose>false</verbose>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.jersey.ext</groupId>
                <artifactId>jersey-bean-validation</artifactId>
                <version>${jersey-bom.version}</version>
            </dependency>

            <dependency>
                <groupId>org.glassfish.hk2.external</groupId>
                <artifactId>asm-all-repackaged</artifactId>
                <version>2.4.0</version>
            </dependency>

            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <version>${assertj.version}</version>
            </dependency>

            <dependency>
                <groupId>org.jmockit</groupId>
                <artifactId>jmockit</artifactId>
                <version>${jmockit.version}</version>
            </dependency>

            <dependency>
                <groupId>com.github.tomakehurst</groupId>
                <artifactId>wiremock-standalone</artifactId>
                <version>${wire-mock.version}</version>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-java</artifactId>
                <version>${cucumber.version}</version>
            </dependency>

            <dependency>
                <groupId>io.cucumber</groupId>
                <artifactId>cucumber-junit</artifactId>
                <version>${cucumber.version}</version>
            </dependency>

            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>${lang3.version}</version>
            </dependency>
            <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy</artifactId>
                <version>${groovy.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-all</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-handler</artifactId>
                <version>${netty.version}</version>
            </dependency>
            <dependency>
                <groupId>io.swagger.core.v3</groupId>
                <artifactId>swagger-maven-plugin</artifactId>
                <version>${swagger-core-mvn-plugin.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <!-- must be on the classpath -->
            <groupId>org.jacoco</groupId>
            <artifactId>org.jacoco.agent</artifactId>
            <classifier>runtime</classifier>
            <version>${jacoco.version}</version>
            <scope>test</scope>
        </dependency>
        <!--JUnit Jupiter Engine to depend on the JUnit5 engine and JUnit 5 API -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junitJupiter.version}</version>
            <scope>test</scope>
        </dependency>
        <!--JUnit Jupiter Engine to depend on the JUnit4 engine and JUnit 4 API  -->
        <dependency>
            <groupId>org.junit.vintage</groupId>
            <artifactId>junit-vintage-engine</artifactId>
            <version>${junitJupiter.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>${mockito.version}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <reporting>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                    <failOnError>false</failOnError>
                    <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
                    <docletArtifact>
                        <groupId>org.umlgraph</groupId>
                        <artifactId>umlgraph</artifactId>
                        <version>5.6</version>
                    </docletArtifact>
                    <useStandardDocletOptions>true</useStandardDocletOptions>
                </configuration>
            </plugin>
        </plugins>
    </reporting>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>3.1.0</version>
                    <configuration>
                        <tarLongFileMode>posix</tarLongFileMode>
                    </configuration>
                </plugin>

                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                </plugin>
                <plugin>
                    <groupId>org.sonarsource.scanner.maven</groupId>
                    <artifactId>sonar-maven-plugin</artifactId>
                    <version>3.7.0.1746</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-clean-plugin</artifactId>
                    <version>3.1.0</version>
                </plugin>
                <plugin>
                    <groupId>ru.yaal.maven</groupId>
                    <artifactId>write-text-files-maven-plugin</artifactId>
                    <version>1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>gmaven-plugin</artifactId>
                    <version>1.5</version>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-deploy-plugin</artifactId>
                    <version>2.8.2</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>3.1.1</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-resources-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>io.fabric8</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>0.38.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-war-plugin</artifactId>
                    <version>3.3.2</version>
                </plugin>
                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>1.12.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-failsafe-plugin</artifactId>
                    <version>${maven-surefire-plugin.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.8.1</version>
                </plugin>
                <plugin>
                    <groupId>com.github.sylvainlaurent.maven</groupId>
                    <artifactId>yaml-json-validator-maven-plugin</artifactId>
                    <version>1.0.2</version>
                </plugin>
                <plugin>
                    <groupId>pl.project13.maven</groupId>
                    <artifactId>git-commit-id-plugin</artifactId>
                    <version>4.0.0</version>
                </plugin>
            </plugins>
        </pluginManagement>

        <plugins>
            <plugin>
                <artifactId>maven-checkstyle-plugin</artifactId>
                <version>2.17</version>
                <configuration>
                    <suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
                    <suppressionsFileExpression>checkstyle.suppressions.file
                    </suppressionsFileExpression>
                    <skip>${checkstyle.skip}</skip>
                </configuration>
            </plugin>
            <!-- plugin for parsing the project version -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>parse-version</id>
                        <phase>pre-clean</phase>
                        <goals>
                            <goal>parse-version</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Java Code Coverage -->
            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <inherited>false</inherited>
                <executions>
                    <execution>
                        <id>default-instrument</id>
                        <goals>
                            <goal>instrument</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-restore-instrumented-classes</id>
                        <goals>
                            <goal>restore-instrumented-classes</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>default-report</id>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <dataFile>${project.build.directory}/jacoco.exec</dataFile>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.7.1</version>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.wagon</groupId>
                        <artifactId>wagon-webdav-jackrabbit</artifactId>
                        <version>3.0.0</version>
                    </dependency>
                </dependencies>
            </plugin>

            <!-- Set the deployment repositories properties. -->
            <plugin>
                <groupId>org.codehaus.gmaven</groupId>
                <artifactId>gmaven-plugin</artifactId>
                <executions>
                    <execution>
                        <inherited>false</inherited>
                        <phase>integration-test</phase>
                        <goals>
                            <goal>execute</goal>
                        </goals>
                        <configuration>
                            <source>
                                pom.properties['deploy.url'] =
                                    pom.version.contains('-SNAPSHOT') ?
                                        project.distributionManagement.snapshotRepository.url :
                                        project.distributionManagement.repository.url;
                                pom.properties['repo.id'] = pom.version.contains('-SNAPSHOT') ?
                                    project.distributionManagement.snapshotRepository.id :
                                    project.distributionManagement.repository.id;
                            </source>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <forceJavacCompilerUse>true</forceJavacCompilerUse>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit-platform</artifactId>
                        <version>${maven-surefire-plugin.version}</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <printSummary>false</printSummary>
                    <systemPropertyVariables>
                        <jacoco-agent.destfile>${project.build.directory}/jacoco.exec
                        </jacoco-agent.destfile>
                    </systemPropertyVariables>
                    <forkCount>${surefire.forkCount}</forkCount>
                    <reuseForks>${surefire.reuseForks}</reuseForks>
                    <parallel>methods</parallel>
                    <skip>${surefire.skip.tests}</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>pl.project13.maven</groupId>
                <artifactId>git-commit-id-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>revision</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <generateGitPropertiesFile>true</generateGitPropertiesFile>
                    <generateGitPropertiesFilename>
                        ${project.build.outputDirectory}/META-INF/git.properties
                    </generateGitPropertiesFilename>
                    <failOnNoGitDirectory>true</failOnNoGitDirectory>
                    <verbose>false</verbose>
                    <includeOnlyProperties>
                        <includeOnlyProperty>git.build.version</includeOnlyProperty>
                        <includeOnlyProperty>git.build.time</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.id</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.time</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.user.name</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.user.email</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.message.short</includeOnlyProperty>
                        <includeOnlyProperty>git.commit.message.full</includeOnlyProperty>
                    </includeOnlyProperties>
                    <gitDescribe>
                        <skip>true</skip>
                    </gitDescribe>
                    <useNativeGit>false</useNativeGit>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>all</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>all-for-integration-tests-only</id>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
                <surefire.skip.tests>true</surefire.skip.tests>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>skip-integration-tests</id>
            <activation>
                <property>
                    <name>skipITs</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>skip-tests</id>
            <activation>
                <property>
                    <name>skipTests</name>
                    <value>true</value>
                </property>
            </activation>
            <properties>
                <checkstyle.skip>true</checkstyle.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>fast-build</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>
                <maven.antrun.skip>true</maven.antrun.skip>
                <swagger.skip>true</swagger.skip>
            </properties>
            <modules>
                <module>onboarding</module>
                <module>common-app-logging</module>
                <module>common-app-api</module>
                <module>common-be</module>
                <module>common-be-tests-utils</module>
                <module>catalog-dao</module>
                <module>catalog-model</module>
                <module>catalog-be</module>
                <module>catalog-be-plugins</module>
                <module>asdctool</module>
                <module>catalog-ui</module>
                <module>catalog-fe</module>
                <module>sdc-os-chef</module>
                <module>utils/webseal-simulator</module>
            </modules>
        </profile>
        <profile>
            <id>start-sdc</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>
                <docker.keepRunning>true</docker.keepRunning>
            </properties>
            <modules>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>stop-sdc</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <maven.test.skip>true</maven.test.skip>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <jacoco.skip>true</jacoco.skip>


                <docker.skip.run>true</docker.skip.run>
            </properties>
            <modules>
                <module>integration-tests</module>
            </modules>
        </profile>
        <profile>
            <id>run-integration-tests</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <properties>
                <skipYamlJsonValidator>true</skipYamlJsonValidator>
                <checkstyle.skip>true</checkstyle.skip>
                <docker.skip>true</docker.skip>
            </properties>
            <modules>
                <module>integration-tests</module>
            </modules>
        </profile>
    </profiles>

    <repositories>
        <!-- LF repositories -->
        <repository>
            <id>ecomp-releases</id>
            <name>Release Repository</name>
            <url>${nexus.proxy}/content/repositories/releases/</url>
        </repository>
        <repository>
            <id>ecomp-snapshots</id>
            <name>Snapshots Repository</name>
            <url>${nexus.proxy}/content/repositories/snapshots/</url>
        </repository>
        <repository>
            <id>ecomp-public</id>
            <name>Public Repository</name>
            <url>${nexus.proxy}/content/repositories/public/</url>
        </repository>
        <!-- LF repositories END-->
    </repositories>

    <distributionManagement>
        <repository>
            <id>ecomp-releases</id>
            <name>Release Repository</name>
            <url>${nexus.proxy}/content/repositories/releases/</url>
        </repository>
        <site>
            <id>ecomp-site</id>
            <url>dav:${nexus.proxy}${sitePath}</url>
        </site>
        <snapshotRepository>
            <id>ecomp-snapshots</id>
            <name>Snapshot Repository</name>
            <url>${nexus.proxy}/content/repositories/snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

</project>