Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Install and setup Docker

sudo apt update -y

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common wget zip

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt update -y

sudo apt install -y docker-ce

sudo apt-get install -y docker-compose

sudo usermod -aG docker $USER

Note: You should logout and login back to execute docker commands


Install Java & Maven 

sudo apt update

sudo apt install openjdk-8-jdk openjdk-8-jre -y

sudo apt install maven -y

bash -c 'echo  export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 >> ~/.bashrc'


Setup local maven repository

mkdir -p $HOME/.m2

Download and copy settings.xml settings.xml to $HOME/.m2 folder


Clone APPC Core git

...

repositories

mkdir -p $HOME/ONAP-APPC

cd $HOME/ONAP-APPC

...

git clone "https://

...

gerrit.onap.

...

org/

...

r/appc

...

/parent"

git

...

clone https://gerrit.onap.org/r/appc

# This for building APPC docker images

git

...

clone https://gerrit.onap.org/r/appc/deployment


Build appc-parent

cd $HOME/ONAP-APPC/

...

parent

...

# We need to increment minor version in the following POM files

...

            find . -name "pom.xml" | xargs sed -i 's|1.4.1-SNAPSHOT|1.4.2-SNAPSHOT|g'

            # Use the following command verify the list of files updated

            grep -ril '1.4.2-SNAPSHOT'     

            # Updated the CCSDK parent artifact "org.onap.ccsdk.parent" version should like the below one

            # Replace '1.1.3' with 1.2.2 using the below command, otherwise we can use vi or other text editor to the same

            find . -name pom.xml | xargs sed -i 's|1.1.3|1.2.2|g'# You need to manually  edit CCSDK version from '1.2.1'  to '1.2.4' in the following files.

            #vi ./feature-repo-parent/pom.xml
            #vi ./binding-parent/pom.xml
            #vi ./bundle-parent/pom.xml
            #vi ./pom.xml
            #vi ./single-feature-parent/pom.xml
            #vi ./odlparent-lite/pom.xml            

 # You can use the below command to update the CCSDK version, otherwise you

 find . -name pom.xml | xargs sed -i 's|1.2.1|1.2.4|g'

            # This is to use simply updates the CCSDK with version to ODL Fluorine SR2 release

                                                  <parent>
                                                  <groupId>org.onap.ccsdk.parent</groupId>
                                                  <artifactId>odlparent-lite</artifactId>
                                                  <version>1.2.2<4</version>
                                                 <relativePath />
                                                 </parent>

         

           # # Now, build the APPC parent project. It would take sometime and we should wait for this one to get completed.

            mvn clean install -DskipTests | tee -a appc-parent-build.log

You can refer the reference appc parent project build log file Reference Build Log File : appc-parent-build-07242019.log  for more information


Build appc core project

            cd $HOME/ONAP-APPC/appc

            # We should first refer new local release version of the appc-parent components under <groupId>org.onap.appc.parent</groupId>

            # We should update 1.4.1 to 1.4.2-SNAPSHOT using the below command

            grep -ril 'org.onap.appc.parent' * | xargs sed -i 's|1.4.1|1.4.2-SNAPSHOT|g'#TODO: Update the pom.xml to change the following dependency to org.glassfish.jersey.core

           # Build the APPC project and this will take a while to complete the entire build            mvn clean install  <!-DskipTests -e  | tee -a appc-build.log

You can refer the build log file appc-build.log for more information.

  1. Build appc deployment project (This is responsible to build APPC docker images)

- Jersey support needed for OpenStack connector and API version logic -->
                   <dependency>
         # First pull the ccsdk-odlsli-image for ODL Fluorine SR2 release. This will take some time             docker pull nexus3 <groupId>com.onapsun.org:10001/onap/ccsdk-odlsli-image:0.4.4

            #The docker image that was downloaded should be re-tagged to remove the first part:

           docker tag nexus3.onap.org:10001/onap/ccsdk-odlsli-image:0.4.4 onap/ccsdk-odlsli-image:0.4.4

jersey</groupId>
            # Edit the below file with the latest version of ccsdk-odlsli-image             # vi ./installation/appc/src/main/docker/Dockerfile 

            # You can use the below command to replace the image version

<artifactId>jersey-client</artifactId>
                   cd $HOME/ONAP-APPC/deployment </dependency>

                 sed -i 's|FROM onap/ccsdk-odlsli-image:0.3.3|FROM onap/ccsdk-odlsli-image:0.4.4|g'  ./installation/appc/src/main/docker/Dockerfile  <!-- Needed to run test cases -->
              # Now, run the maven build        <dependency>
             mvn clean install -DskipTests | tee -a appc-deployment-build.log
             You can refer the build log file appc-deployment-build.log for more information.     <groupId>org.glassfish.jersey.core</groupId>
            # Execute docker image create command               mvn clean install -P docker -DskipTests | tee -a appc-deployment-docker-image-build.log<artifactId>jersey-common</artifactId>
                 The docker image for CDT failed, you can refer the log file appc-deployment-docker-image-build.log to get more details.

  1. TODO

<version>2.9.1</version>
                </dependency>


#TODO:    # We will have to fix the below appc core project source files to . We should change the package com.sun.jersey to use org.glassfish.jersey to resolve           the Karaf OSGI bundle loading issue. And we should also change the OSGI import version in the META-INF.

appc-config/appc-config-adaptor/provider/src/main/java/org/onap/appc/ccadaptor/ConfigComponentAdaptor.java
appc-config/appc-config-adaptor/provider/src/test/java/org/onap/appc/ccadaptor/ConfigComponentAdaptorTest.java
appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/executorImpl/RestExecutor.java
appc-config/appc-flow-controller/provider/src/test/java/org/onap/appc/flow/controller/executorImpl/RestExecutorTest.java
appc-inbound/appc-design-services/provider/src/main/java/org/onap/appc/design/services/util/ArtifactHandlerClient.java
appc-inbound/appc-design-services/provider/src/test/java/org/onap/appc/design/services/util/ArtifactHandlerClientTest.java
appc-outbound/appc-network-inventory-client/provider/src/main/java/org/onap/appc/instar/dme2client/Dme2Client.java
appc-outbound/appc-network-inventory-client/provider/src/test/java/org/onap/appc/instar/node/TestDme2Client.java


#Now build the APPC project

mvn clean install -DskipTests -e  | tee -a appc-build.log


Reference Git DIFF file : diff-out-001-07242019.txt , diff-out-002-08052019.txt

Reference Build Log File :  appc-build-07242019.log,       # We see the following artifact references in appc-adapters/appc-netconf-adapter/appc-netconf-adapter-bundle/pom.xml

            # Need to investigate further.

<!-- Needed to run test cases -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
<version>2.9.1</version>
</dependency>

...

appc-unitest-build-failed-07242019.logappc-unitest-build-faild-08052019.logappc-unitest-build-failed-08122019.log

I think the junit tests are failing because the mockito when method is not compatible with the double method calls of the Invocation.Builder class (the .accept().post()):

when(webResourceBuilder.accept(MediaType.APPLICATION_JSON_TYPE).post(Entity.json(String.class),Response.class)).thenReturn(clientResponse);

The way to fix this might be to create a custom mock class for the Invocation.Builder class instead of using a mockito mock for it.

Build appc deployment project (This is responsible to build APPC docker images)

#First pull the ccsdk-odlsli-image for ODL Fluorine SR2 release. This will take some time

docker pull nexus3.onap.org:10001/onap/ccsdk-odlsli-image:0.4.4


#The docker image that was downloaded should be re-tagged to remove the first part:

docker tag nexus3.onap.org:10001/onap/ccsdk-odlsli-image:0.4.4 onap/ccsdk-odlsli-image:0.4.4


# Edit the below file with the latest version of ccsdk-odlsli-image onap/ccsdk-odlsli-image:0.4.4

# vi ./installation/appc/src/main/docker/Dockerfile 

# You can use the below command to replace the image version

cd $HOME/ONAP-APPC/deployment 

sed -i 's|FROM onap/ccsdk-odlsli-image:0.3.3|FROM onap/ccsdk-odlsli-image:0.4.4|g'  ./installation/appc/src/main/docker/Dockerfile 


# Now, run the maven build     

mvn clean install -DskipTests | tee -a appc-deployment-build.log


# Execute the below command to build docker images 

mvn clean install -P docker -DskipTests | tee -a appc-deployment-docker-image-build.log

The docker image for CDT failed, you can refer the log file appc-deployment-docker-image-build.log to get more details.


Integration Testing status (Sept/11/2019)