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

...

#

...

            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

# You need to manually  edit CCSDK version from '1.2.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''  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

Reference Build Log File : appc-parent-build-07242019.log


Build appc core project

            cd $HOME/ONAP-APPC/appc

#TODO: Update the pom.xml to change the following dependency to org.glassfish.jersey.core

                    # We should first refer new local release version of the appc-parent components under <groupId>org.onap.appc.parent</groupId> <!-- Jersey support needed for OpenStack connector and API version logic -->
                   <dependency>
                   <groupId>com.sun.jersey</groupId>
                  <artifactId>jersey-client</artifactId>
                  </dependency>

                 <!-- Needed to run test cases -->
                 <dependency>
            # 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'

           # Build the APPC project and this will take a while to complete the entire build

     <groupId>org.glassfish.jersey.core</groupId>
                <artifactId>jersey-common</artifactId>
                <version>2.9.1</version>
                </dependency>


#TODO:  We will have to fix the below appc core project source files. 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            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.logappc-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 #First pull the ccsdk-odlsli-image for ODL Fluorine SR2 release. This will take some time            docker pull

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 docker image create command


# Execute the below command to build docker images 

mvn              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)