Versions Compared

Key

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

...

  • validate
    • plugin: org.codehaus.groovy.maven : gmavin-plugin plugin (described above)
      • set the version of the ODLSLI docker image to be used in NEXUS_DOCKER_REPO
      • Note: the name of the image is set in the property 'image.name' in the pom.xml properties section.
    • plugin: maven-resources-plugin
      • goal: copy-resources
        • id: copy-dockerfile
          • copy Docker file
          • from ./src/main/docker/
          • to ./target/docker-stage/
        • id: copy-scripts
          • copy all of the scripts (*.sh files)
          • from ./src/main/scripts/ 
          • to ./target/docker-stage/opt/onap/ccsdk/bin/
        • id: copy-odl-resources
          • copy the files:
            • idmlight.db.mv.db

            • org.ops4j.pax.logging.cfg

            • install_ccsdk.yml

            • ansible-sources.list

          • from ./src/main/resources/ 
          • to ./target/docker-stage/
        • id: copy-config
          • copy the file org.ops4j.pax.logging.cfg
          • from ./src/main/resources/
          • to ./target/docker-stage/
        • id: copy-data
          • copy all of the MySQL databases (*.dump)
          • from ./src/main/resources/ 
          • to ./target/docker-stage/opt/onap/ccsdk/data/
        • id: copy-properties
          • copy all of the properties files (*.properties)
          • from ./src/main/properties/ 
          • to ./target/docker-stage/opt/onap/ccsdk/data/properties/
        • id: copy-keystores
          • copy all *.jks files
          • from ./src/main/stores/ 
          • to ./target/docker-stage/opt/onap/ccsdk/data/stores/
  • generate-sources
    • plugin: org.apache.maven.plugins : maven-dependency-plugin
      • goal: unpack-dependencies
        • id: "unpack features"
          • unzip all of the dependencies
          • from a local or remote Maven repository
          • to ./target/docker-stage
          • Note: all of the zipped features are rooted at the "system" folder, so they will be unzipped in into the proper structure for the OpenDaylight feature repository.
      • goal: unpack
        • id: "unpack dgs"
          • Unzip the zipped artifact org.onap.ccsdk.distribution : platform-logic-installer : ${project.version}
          • from a local or remote Maven repository
          • to .target/docker-stage/opt/onap/ccsdk/
          • Note: this unzips the artifact into the home directory of user ccsdk in the docker container
  • process-sources
    • plugin: org.codehaus.mojo : exec-maven-plugin
      • goal: exec
        • id: "change shell permissions"
          • This executes the following command in the local computer:
          • find ./target/docker-stage/opt/onap/ccsdk -name "*.sh" -exec chmod +x {} \;
          • I.e., make all of the bash scripts in the ccsdk home directory executable.

ODLSLI pom.xml: Docker Profile

And then, within the The "docker" profile , there are two phases to package and push defines an additional phase in which the docker image is built and deployed to NEXUS_DOCKER_REPO using the image name ${image.name}:${project.docker.latesttag.version}, which currently translates to "onap/ccsdk-odlsli-image:0.3-STAGING-latest."




We now see how the karaf features for OpenDaylight are structured so they can be installed and OpenDaylight launched.  The next step is to understand how the installation folders in CCSDK_HOME/features are created.  A good example is the 'sliapi' feature that is part of the CCSDK_CORE_FEATURES.  In the gerrit repository, this code appears in ccsdk/sli/core/sliapi.

...