Improve build process 85/70785/1
authorVictor Morales <victor.morales@intel.com>
Thu, 18 Oct 2018 20:39:45 +0000 (13:39 -0700)
committerVictor Morales <victor.morales@intel.com>
Thu, 18 Oct 2018 20:39:45 +0000 (13:39 -0700)
The build process is used by Jenkins Daily Jobs to generate images
as well as the provisioning vagrant process. This change pretends
to satisfy both processes.

Change-Id: I53d77b0e64f2482e612e59d5a3881fae53c63cbd
Signed-off-by: Victor Morales <victor.morales@intel.com>
Issue-ID: MULTICLOUD-301

deployments/build.sh
deployments/docker-compose.yml
deployments/start.sh
vagrant/config/default.yml

index 6272c46..90da6f9 100755 (executable)
 
 set -o nounset
 set -o pipefail
-set -o xtrace
 
 k8s_path="$(git rev-parse --show-toplevel)"
 export GOPATH=$k8s_path
 
-echo "Compiling source code"
-pushd $k8s_path/src/k8splugin/
-make
-popd
+VERSION="0.1.0"
+export IMAGE_NAME="nexus3.onap.org:10003/onap/multicloud/k8s"
 
-rm -f k8plugin *so
-mv $k8s_path/src/k8splugin/k8plugin .
-mv $k8s_path/src/k8splugin/plugins/*.so .
+function _compile_src {
+    echo "Compiling source code"
+    pushd $k8s_path/src/k8splugin/
+    make
+    popd
+}
 
-echo "Cleaning previous execution"
-docker-compose kill
-image=$(grep "image.*k8plugin" docker-compose.yml)
-docker images ${image#*:} -q | xargs docker rmi -f
-docker ps -a --filter "status=exited" -q | xargs docker rm
+function _move_bin {
+    echo "Moving binaries"
+    rm -f k8plugin *so
+    mv $k8s_path/src/k8splugin/k8plugin .
+    mv $k8s_path/src/k8splugin/plugins/*.so .
+}
 
-echo "Starting docker building process"
-docker-compose build --no-cache
+function _cleanup {
+    echo "Cleaning previous execution"
+    docker-compose kill
+    image=$(grep "image.*k8plugin" docker-compose.yml)
+    docker images ${image#*:} -q | xargs docker rmi -f
+    docker ps -a --filter "status=exited" -q | xargs docker rm
+}
+
+function _build_docker {
+    echo "Building docker image"
+    docker-compose build --no-cache
+}
+
+function _push_image {
+    local tag_name=${IMAGE_NAME}:${1:-latest}
+
+    echo "Start push {$tag_name}"
+    docker tag ${IMAGE_NAME}:latest ${tag_name}
+    docker push ${tag_name}
+}
+
+if [[ -n "${JENKINS_HOME+x}" ]]; then
+    set -o xtrace
+    _compile_src
+    _move_bin
+    _build_docker
+    _push_image $VERSION
+else
+    source /etc/environment
+
+    _compile_src
+    _move_bin
+    _cleanup
+    _build_docker
+fi
index 6c9c85e..73d5651 100644 (file)
@@ -13,7 +13,7 @@ version: '2'
 
 services:
   multicloud-k8s:
-    image: nexus3.onap.org:10003/onap/multicloud/k8plugin
+    image: ${IMAGE_NAME}
     networks:
       multicloud_net:
         ipv4_address: 172.19.0.3
index 498dc77..19c5ff8 100755 (executable)
@@ -11,6 +11,8 @@
 set -o nounset
 set -o pipefail
 
+source /etc/environment
+
 k8s_path="$(git rev-parse --show-toplevel)"
 export GOPATH=$k8s_path
 
index 6f26d2d..10b9366 100644 (file)
@@ -34,8 +34,8 @@
     - ovn-controller
 - name: "compute01"
   ip: "10.10.10.6"
-  memory: 8192
-  cpus: 2
+  memory: 32768
+  cpus: 16
   volumes:
     - name: sda
       size: 50
@@ -47,7 +47,7 @@
 - name: "compute02"
   ip: "10.10.10.7"
   memory: 8192
-  cpus: 2
+  cpus: 4
   roles:
     - kube-node
     - ovn-controller