From 6cb518c68eb136ad448e96716ef8b1348440949f Mon Sep 17 00:00:00 2001 From: Jonas Bjurel Date: Mon, 2 Mar 2015 22:46:45 +0100 Subject: Starting point for ODL Integration ***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 --- fuel/build/f_java/Makefile | 42 +++++++++++++++++++++ fuel/build/f_java/README | 44 ++++++++++++++++++++++ .../f_java/puppet/modules/opnfv/manifests/java.pp | 11 ++++++ fuel/build/f_java/testing/README | 12 ++++++ fuel/build/f_java/testing/fake_init.pp | 13 +++++++ 5 files changed, 122 insertions(+) create mode 100644 fuel/build/f_java/Makefile create mode 100644 fuel/build/f_java/README create mode 100644 fuel/build/f_java/puppet/modules/opnfv/manifests/java.pp create mode 100644 fuel/build/f_java/testing/README create mode 100644 fuel/build/f_java/testing/fake_init.pp (limited to 'fuel/build/f_java') diff --git a/fuel/build/f_java/Makefile b/fuel/build/f_java/Makefile new file mode 100644 index 0000000..759081f --- /dev/null +++ b/fuel/build/f_java/Makefile @@ -0,0 +1,42 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +TOP := $(shell pwd) +include ../config.mk + +PACKAGE := openjdk-8-jdk +VERSION := 8u40~b09-1_amd64 +DEB_NAME := $(PACKAGE)_$(VERSION).deb + +.PHONY: all +all: release/pool/main/$(DEB_NAME) + +release/pool/main/$(DEB_NAME): +ifeq ($(JAVA_MAIN_REPO),) + @echo "No config-spec target for Java, nothing to build" +else + @mkdir -p release/pool/main && \ + cd release/pool/main && \ + wget -N $(JAVA_MAIN_REPO)/$(DEB_NAME) + @lintian release/pool/main/$(DEB_NAME) +endif + +.PHONY: clean +clean: + @rm -rf release + @rm -f $(DEB_DEST)/$(DEB_NAME) + + +.PHONY: release +release:release/pool/main/$(DEB_NAME) +ifneq ($(JAVA_MAIN_REPO),) + @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) + @cp -Rvp puppet/modules/* $(PUPPET_DEST) +endif diff --git a/fuel/build/f_java/README b/fuel/build/f_java/README new file mode 100644 index 0000000..776d47a --- /dev/null +++ b/fuel/build/f_java/README @@ -0,0 +1,44 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +This directory adds the openjdk-8-jdk Java package and related puppet +deployment manifest such that it gets built into the .iso image an deployed +on the stack controller cluster. + +The f_java has the following structure: +. ++--------+----------+-----------+ + | | | + puppet/ Makefile README + | (this file) + | + | + modules/ + | + | + | + opnfv/ + | + | + | + manifests/ + | + | + | + java.pp + +Makefile: +Invoked by the git root Makefile, it pulls the openjdk-8-jdk deb package +from a propper mirror and pushes i together with the manifests to a fuel +build artifact directory, such that it eventually gets built into the new +fuel .iso + +java.pp: +Controls the installation and configuration of java diff --git a/fuel/build/f_java/puppet/modules/opnfv/manifests/java.pp b/fuel/build/f_java/puppet/modules/opnfv/manifests/java.pp new file mode 100644 index 0000000..26e7c39 --- /dev/null +++ b/fuel/build/f_java/puppet/modules/opnfv/manifests/java.pp @@ -0,0 +1,11 @@ +class opnfv::java { + if $::osfamily == 'Debian' { + case $::fuel_settings['role'] { + /controller/: { + package { 'openjdk-8-jdk': + ensure => installed, + } + } + } + } +} diff --git a/fuel/build/f_java/testing/README b/fuel/build/f_java/testing/README new file mode 100644 index 0000000..c0ef7d6 --- /dev/null +++ b/fuel/build/f_java/testing/README @@ -0,0 +1,12 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +In order to test the functionality without performing a full deployment, run "puppet apply" on the +fake_init.pp which will call only the opnfv::java class. diff --git a/fuel/build/f_java/testing/fake_init.pp b/fuel/build/f_java/testing/fake_init.pp new file mode 100644 index 0000000..237b0c1 --- /dev/null +++ b/fuel/build/f_java/testing/fake_init.pp @@ -0,0 +1,13 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# stefan.k.berg@ericsson.com +# jonas.bjurel@ericsson.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +$fuel_settings = parseyaml($astute_settings_yaml) + +include opnfv::java -- cgit 1.2.3-korg