summaryrefslogtreecommitdiffstats
path: root/fuel/build/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2015-04-02Fix problems during build/deployment processMichal Skalski1-0/+1
If we used 'make all' for build iso, only release section from f_odl_docker Makefile was executed, so odl docker image and docker binary were not created. This patch also try resolve problems which appeared during execution of start_odl_container.sh on controller node: * install and run cgroup-lite to mitigate 'failed to find the cgroup root' error * use proper path to docker image and binary * prevent import of docker image before daemon is not fully initialized * because docker binary is delivered by puppet, we should execute commands against it, not try use system binary which is probably not present on controller node * stop use daemon mode('-d') of 'docker run' if user want to have access to container shell * fix name of start script which is run inside container when daemon mode is used It looks like file 'fuel/build/f_odl_docker/scripts/start_odl_container.sh' is not used and duplicate: 'fuel/build/f_odl_docker/puppet/modules/opnfv/scripts/start_odl_container.sh' JIRA: Change-Id: Ia6064dbacf30902bda557e5d0b631b5f5f207b5e Signed-off-by: Michal Skalski <mskalski@mirantis.com>
2015-03-26Fuel build cache handlingJonas Bjurel1-23/+23
- Cache invalidation supported in case cache is outdated compared to upstream. - Fully automated build.sh integration tests added (build.sh -t or build.sh -T) - Rebased to Daniel Smiths's patch-set: genesis refs/changes/71/171/4 - Yet untested, will perform automated integration tests over night! - Updated based on Stefan's comments (no more revs.) - Fixed a bug in f_odl_docker/Makefile - validate-cache target added in f_odl_docker/Makefile JIRA: BGS-1 Change-Id: I9f8f30c2a85fd7bf04dab1b566065e5739d4fcb1 Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
2015-03-24TOPIC: ODL DOCKERDaniel Smith1-14/+7
AUTHOR: DANIEL SMITH *** PLEASE MERGE ** UPDATED TO REFLECT INPUT FRMO J. BJUREL - fixed whitespaces - fixed location of .erb file (they should have been in templates - the directory was there just int he wrong spot) - removed opcheck.pp from common opnfv class - Removed Debug from fuel/build/Makefile :) UPDATE: Input from S. Berg and F. Bockners incorporated. Merge required before we can refactor to common puppet manifest directory This patchset delivers the folowing functionality: - implementation of the common/opnfv-puppet structure / move of .pp files and update of f_odl_docker to build / source from there - creation of f_odl_doc subclass - fetch of latest stable release of ODL - fetch of latest docker binary release (TODO: this will be changed in next patchset push) - build of docker container with all needed libs and port exposure for DLUX and OVSDB/ODL with Openstack Integration (OVS Manager) - deployment of both the target odl docker image as well as the docker runtime binary to the control nodes via puppet script. GENERATES: - docker-latest - binary of docker for use on control node - odl_docker_image.tar - a docker container with a ODL controller running DLUX and OVSDB ENABLE / DISABLE: - Comment/Un-comment "SUBDIRS += f_odl_doc in base (fuel/build/) Makefile Breakdown of Update / Edits per File: ===================================== fuel/build/Makefile - Modified include to capture the newly created f_odl_doc directory fuel/build/f_odl_docker/Makefile - Fetches libraries and produces two outputs: docker-latest - binary of docker (actually lxc-docker cause ODL Container is running 12.04 (precise) libraries - i.e java7, tz 12.04, etc) odl_docker_image.tar - this is a docker image defined in ./dockefile/Dockerfile and contains the ODL distro + setup and deployment scripts for runtime on the target control node. fuel/build/f_odl_docker/dockerfile/Dockerfile - This Dockerfile defined the packages for use in the Docker Container that will run ODL with DLUX and OVSDB submodules. It also defines the ports to be exposed to the HOST OS (and thus as well through docker the ODL Controller exists in a private, but routable via but the fuel (10.20.0.0/16) and the tenants public network since docker handles the mapping (see the docker run command in the start_odl_docker.sh script) fuel/build/f_odl_docker/dockerfile/check_feature.sh - Simple expect script that starts up a client and checks that the features are installed (used during visual demo only) TODO - Replace with API call to ODL KARAF to install features (LOOKUP - Dont know how to address Karaf programatically - LOOKUP) fuel/build/f_odl_docker/dockerfile/speak.sh - Expect script called by odl_start_docker.sh once karaf is up to install the features that we need (runtime inside container script) called via ENTRYPOINT in Dockerfile at runtime on control node. fuel/build/f_odl_docker/dockerfile/start_odl_docker.sh - This is the CMD/ENTRYPOINT defined in docker and is what is called from the controller when you start the container (note: This runs inside the conatiner), not to be confused with staring the actual container on the control node). This script fires up Karaf first time, loads DLUX and OVSDB modules and monitors that the container is up. The container itself is started on the control node via /opt/opnfv/start_odl_container.sh which includes the syntax for the port mapping (RANDOM or 1:1). TODO - integrate into controller monitor script to ensure better handling (stop, start, monitor) of docker processes remove expect helper scripts and replace with API/JSON or some other appropriate method to KARAF fuel/build/f_odl_docker/puppet/modules/opnfv/manifests/odl_doc.pp - This puppet manifest defined where the docker binary and docker image should be placed on the target control node. /opt/opnfv/start_odl_container.sh will install docker binary package (if necessary) and load ODL docker image into docker, start the image. This file just ensures placement in /opt/opnfv/odl_docker fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp (MODIFICATION): - Removed previous includes and updated to have only f_odl_doc added fuel/build/f_odl_doc/scripts/start_odl_container.sh - this is the control script that will start the docker container (to be run on the control node), this is deployed this is deployed to /opt/opnfv on the control node via odl_doc puppet manifest file. JIRA: DEPRECATED: Deleted files are no longer needed due to new implementation of ODL. Change-Id: I26c13cc468a2aba18af78b7a3c78a719033f03e0 Signed-off-by: Daniel Smith <daniel.smith@ericsson.com>
2015-03-17*** FIRST VERSION OF CI BUILD SCRIPT ***Jonas Bjurel1-23/+41
- Provides build cache management to a remote location - Provides automatic cashe repopulation - See /fuel/ci/README - Rebased to master - Bug around cache handling fixed - New option -r introduced to invoke external script/program instead of standard http(s)/fttp get and put, eg. scripts or programs to integrate with dropbox, or similar. The script needs to anheaer to curl argument list. - Stefan Berg's comments implemented - Fatih Degirmenci's comments implemented with one exemption: the revision state .iso naming convention still remains the same - we need to discuss this. With the implementation of Fatih's comments the build.sh argument structure is slightly changed, please see ./build.sh -h TODO: - Further testing - Finalize cache invalidation logic - Make refactoring JIRA: Change-Id: I4efdbdd10f726c0a3229849a63040b6d2702db5c Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>
2015-03-09Starting point for ODL IntegrationJonas Bjurel1-0/+140
***CAN BE MERGED*** - ODL build and installation (puppet manifests) including needed dependencies - Modified in accordance with Randy Levensalors comments - Added chmod 4755 /bin/fusermount due to that lately some systems dont install fuseiso withe SUID set for fusermount. Investing ongoing on why and why not consistent. - Rebased with master - ODL disabled in top Make (enable it by uncommenting the odl dirs - Removed white spaces - Hopefully fixed an issue with the docker ubuntu repos, added --no-cache=true to the fuel/docker/Make file. TODO: - Refactor collecting ODL and Java dependencies to one common place - Refactoring top Makefile - Adding CI hooks for build and deploy - Finishing integration plumbing wit Neutron/ML2 and OVS/OVSDB Change-Id: I13dd4d3a72d099316dfaa9f7cd9140781be2397b Signed-off-by: Jonas Bjurel <jonas.bjurel@ericsson.com>