diff options
Diffstat (limited to 'fuel/build')
45 files changed, 666 insertions, 834 deletions
diff --git a/fuel/build/Makefile b/fuel/build/Makefile index e7cb6e7..b6b0eac 100644 --- a/fuel/build/Makefile +++ b/fuel/build/Makefile @@ -34,6 +34,7 @@ export VERSION_FILE := $(BUILD_BASE)/.versions DOCKERIMG = opnfv.org/ubuntu-builder:14.04 export TOPDIR := $(shell pwd) + # # END of variables to customize ############################################################################# @@ -51,17 +52,7 @@ SUBDIRS += f_osnaily SUBDIRS += f_l23network SUBDIRS += f_resolvconf SUBDIRS += f_ntp -SUBDIRS += f_gif -SUBDIRS += f_libnss -SUBDIRS += f_libpcs -SUBDIRS += f_libxt -SUBDIRS += f_comm_java -SUBDIRS += f_ca_cert -SUBDIRS += f_atk_wrap -SUBDIRS += f_jre_head -SUBDIRS += f_jre -SUBDIRS += f_java -SUBDIRS += f_odl +SUBDIRS += f_odl_docker @@ -80,6 +71,8 @@ all: @make -C docker @docker/runcontext $(DOCKERIMG) $(MAKE) $(MAKEFLAGS) iso + + $(ISOCACHE): # Clone Fuel to non-persistent location and build cd /tmp && git clone $(FUEL_MAIN_REPO) @@ -123,11 +116,11 @@ patch-packages: .PHONY: prepare prepare: - $(MAKE) -C opendaylight -f Makefile setup + #$(MAKE) -C opendaylight -f Makefile setup .PHONY: odl odl: - $(MAKE) -C opendaylight -f Makefile + #$(MAKE) -C opendaylight -f Makefile .PHONY: build-clean $(SUBCLEAN) build-clean: $(SUBCLEAN) @@ -139,7 +132,7 @@ build-clean: $(SUBCLEAN) .PHONY: clean $(SUBCLEAN) clean: prepare $(SUBCLEAN) $(MAKE) -C patch-packages -f Makefile clean - $(MAKE) -C opendaylight -f Makefile clean + #$(MAKE) -C opendaylight -f Makefile clean @rm -f *.iso @rm -Rf release @rm -Rf newiso diff --git a/fuel/build/config.mk b/fuel/build/config.mk index da760df..49b0173 100644 --- a/fuel/build/config.mk +++ b/fuel/build/config.mk @@ -14,12 +14,5 @@ ODL_MAIN_TAG := release/helium FUEL_MAIN_REPO := https://github.com/stackforge/fuel-main FUEL_MAIN_TAG = stable/6.0 -JAVA_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/universe/o/openjdk-8 -ATK_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/j/java-atk-wrapper -GIF_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/g/giflib -CERT_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/c/ca-certificates -COMM_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/j/java-common -LIBPCS_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/p/pcsc-lite -LIBXT_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/libx/libxtst -DEFJRE_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/j/java-common -LIBNSS_MAIN_REPO := https://mirrors.kernel.org/ubuntu/pool/main/n/nss +DOCKER_REPO := http://get.docker.com/builds/Linux/x86_64 +DOCKER_TAG := docker-latest diff --git a/fuel/build/f_atk_wrap/Makefile b/fuel/build/f_atk_wrap/Makefile deleted file mode 100644 index 99010eb..0000000 --- a/fuel/build/f_atk_wrap/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# daniel.smith@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 := libatk-wrapper-java -VERSION := 0.30.4-4_all -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(ATK_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(ATK_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 ($(ATK_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif - diff --git a/fuel/build/f_atk_wrap/puppet/modules/opnfv/manifests/atk_wrap.pp b/fuel/build/f_atk_wrap/puppet/modules/opnfv/manifests/atk_wrap.pp deleted file mode 100644 index 144651e..0000000 --- a/fuel/build/f_atk_wrap/puppet/modules/opnfv/manifests/atk_wrap.pp +++ /dev/null @@ -1,12 +0,0 @@ -class opnfv::atk_wrap { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'libatk-wrapper-java': - ensure => installed, - } - } - } - } -} - diff --git a/fuel/build/f_ca_cert/Makefile b/fuel/build/f_ca_cert/Makefile deleted file mode 100644 index 83069cf..0000000 --- a/fuel/build/f_ca_cert/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := ca-certificates -VERSION := 20130906ubuntu2_all -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(CERT_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(CERT_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 ($(CERT_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_ca_cert/puppet/modules/opnfv/manifests/ca_cert.pp b/fuel/build/f_ca_cert/puppet/modules/opnfv/manifests/ca_cert.pp deleted file mode 100644 index 69b5d23..0000000 --- a/fuel/build/f_ca_cert/puppet/modules/opnfv/manifests/ca_cert.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::ca_cert { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'ca-certificates': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_comm_java/Makefile b/fuel/build/f_comm_java/Makefile deleted file mode 100644 index a0cac38..0000000 --- a/fuel/build/f_comm_java/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := java-common -VERSION := 0.51_all -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(COMM_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(COMM_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 ($(COMM_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_comm_java/puppet/modules/opnfv/manifests/comm_java.pp b/fuel/build/f_comm_java/puppet/modules/opnfv/manifests/comm_java.pp deleted file mode 100644 index dd7ddc5..0000000 --- a/fuel/build/f_comm_java/puppet/modules/opnfv/manifests/comm_java.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::comm_java { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'java-common': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_defjre/Makefile b/fuel/build/f_defjre/Makefile deleted file mode 100644 index 5b295c1..0000000 --- a/fuel/build/f_defjre/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := default-jre -VERSION := 1.7-51_amd64 -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(DEFJRE_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(DEFJRE_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 ($(DEFJRE_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_defjre/puppet/modules/opnfv/manifests/defjre.pp b/fuel/build/f_defjre/puppet/modules/opnfv/manifests/defjre.pp deleted file mode 100644 index 605453b..0000000 --- a/fuel/build/f_defjre/puppet/modules/opnfv/manifests/defjre.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::defjre { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'default-jre': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_gif/Makefile b/fuel/build/f_gif/Makefile deleted file mode 100644 index 7108242..0000000 --- a/fuel/build/f_gif/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := libgif4 -VERSION := 4.1.6-11_amd64 -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(GIF_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(GIF_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 ($(GIF_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_gif/puppet/modules/opnfv/manifests/gif.pp b/fuel/build/f_gif/puppet/modules/opnfv/manifests/gif.pp deleted file mode 100644 index d51cbe7..0000000 --- a/fuel/build/f_gif/puppet/modules/opnfv/manifests/gif.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::gif { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'libgif4': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_java/Makefile b/fuel/build/f_java/Makefile deleted file mode 100644 index 759081f..0000000 --- a/fuel/build/f_java/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 776d47a..0000000 --- a/fuel/build/f_java/README +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 26e7c39..0000000 --- a/fuel/build/f_java/puppet/modules/opnfv/manifests/java.pp +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index c0ef7d6..0000000 --- a/fuel/build/f_java/testing/README +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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 deleted file mode 100644 index 237b0c1..0000000 --- a/fuel/build/f_java/testing/fake_init.pp +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# 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 diff --git a/fuel/build/f_jre/Makefile b/fuel/build/f_jre/Makefile deleted file mode 100644 index 43f5e76..0000000 --- a/fuel/build/f_jre/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# daniel.smith@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-jre -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) -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_jre/README b/fuel/build/f_jre/README deleted file mode 100644 index 24e4cdd..0000000 --- a/fuel/build/f_jre/README +++ /dev/null @@ -1,44 +0,0 @@ - -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# daniel.smith@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-jre 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_jre has the following structure: -. -+--------+----------+-----------+ - | | | - puppet/ Makefile README - | (this file) - | - | - modules/ - | - | - | - opnfv/ - | - | - | - manifests/ - | - | - | - jre.pp - -Makefile: -Invoked by the git root Makefile, it pulls the openjdk-8-jre 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 - -jre.pp: -Controls the installation and configuration of java diff --git a/fuel/build/f_jre/puppet/modules/opnfv/manifests/jre.pp b/fuel/build/f_jre/puppet/modules/opnfv/manifests/jre.pp deleted file mode 100644 index 3c342d2..0000000 --- a/fuel/build/f_jre/puppet/modules/opnfv/manifests/jre.pp +++ /dev/null @@ -1,14 +0,0 @@ -class opnfv::jre { - if $::osfamily == 'Debian' { - - - case $::fuel_settings['role'] { - /controller/: { - package { 'openjdk-8-jre': - ensure => installed, - } - } - } - } -} - diff --git a/fuel/build/f_jre/testing/README b/fuel/build/f_jre/testing/README deleted file mode 100644 index 028230d..0000000 --- a/fuel/build/f_jre/testing/README +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# 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_jre/testing/fake_init.pp b/fuel/build/f_jre/testing/fake_init.pp deleted file mode 100644 index 83c7adb..0000000 --- a/fuel/build/f_jre/testing/fake_init.pp +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# daniel.smith@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::jre - diff --git a/fuel/build/f_jre_head/Makefile b/fuel/build/f_jre_head/Makefile deleted file mode 100644 index 2efc81a..0000000 --- a/fuel/build/f_jre_head/Makefile +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################## -# Copyright (c) 2015 Ericsson AB and others. -# daniel.smith@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-jre-headless -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_jre_head/puppet/modules/opnfv/manifests/jre_head.pp b/fuel/build/f_jre_head/puppet/modules/opnfv/manifests/jre_head.pp deleted file mode 100644 index 44b649b..0000000 --- a/fuel/build/f_jre_head/puppet/modules/opnfv/manifests/jre_head.pp +++ /dev/null @@ -1,15 +0,0 @@ -class opnfv::jre_head { - if $::osfamily == 'Debian' { - - case $::fuel_settings['role'] { - /controller/: { - - package { 'openjdk-8-jre-headless' : - ensure => installed, - } - - } - } - } -} - diff --git a/fuel/build/f_libnss/Makefile b/fuel/build/f_libnss/Makefile deleted file mode 100644 index e17519a..0000000 --- a/fuel/build/f_libnss/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := libnss3 -VERSION := 3.17.4-0ubuntu0.14.04.1_amd64 -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(LIBNSS_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(LIBNSS_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 ($(LIBNSS_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_libnss/README b/fuel/build/f_libnss/README deleted file mode 100644 index 776d47a..0000000 --- a/fuel/build/f_libnss/README +++ /dev/null @@ -1,44 +0,0 @@ -############################################################################## -# 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_libnss/puppet/modules/opnfv/manifests/libnss.pp b/fuel/build/f_libnss/puppet/modules/opnfv/manifests/libnss.pp deleted file mode 100644 index 17cfb8d..0000000 --- a/fuel/build/f_libnss/puppet/modules/opnfv/manifests/libnss.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::libnss { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'libnss3': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_libnss/testing/README b/fuel/build/f_libnss/testing/README deleted file mode 100644 index c0ef7d6..0000000 --- a/fuel/build/f_libnss/testing/README +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################## -# 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_libnss/testing/fake_init.pp b/fuel/build/f_libnss/testing/fake_init.pp deleted file mode 100644 index 237b0c1..0000000 --- a/fuel/build/f_libnss/testing/fake_init.pp +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################## -# 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 diff --git a/fuel/build/f_libpcs/Makefile b/fuel/build/f_libpcs/Makefile deleted file mode 100644 index 3e480db..0000000 --- a/fuel/build/f_libpcs/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := libpcsclite1 -VERSION := 1.8.10-1ubuntu1_amd64 -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(LIBPCS_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(LIBPCS_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 ($(LIBPCS_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_libpcs/puppet/modules/opnfv/manifests/libpcs.pp b/fuel/build/f_libpcs/puppet/modules/opnfv/manifests/libpcs.pp deleted file mode 100644 index 1f26247..0000000 --- a/fuel/build/f_libpcs/puppet/modules/opnfv/manifests/libpcs.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::libpcs { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'libpcsclite1': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_libxt/Makefile b/fuel/build/f_libxt/Makefile deleted file mode 100644 index bb5c2aa..0000000 --- a/fuel/build/f_libxt/Makefile +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################## -# 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 := libxtst6 -VERSION := 1.2.2-1_amd64 -DEB_NAME := $(PACKAGE)_$(VERSION).deb - -.PHONY: all -all: release/pool/main/$(DEB_NAME) - -release/pool/main/$(DEB_NAME): -ifeq ($(LIBXT_MAIN_REPO),) - @echo "No config-spec target for Java, nothing to build" -else - @mkdir -p release/pool/main && \ - cd release/pool/main && \ - wget -N $(LIBXT_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 ($(LIBXT_MAIN_REPO),) - @cp release/pool/main/$(DEB_NAME) $(DEB_DEST) - @cp -Rvp puppet/modules/* $(PUPPET_DEST) -endif diff --git a/fuel/build/f_libxt/puppet/modules/opnfv/manifests/libxt.pp b/fuel/build/f_libxt/puppet/modules/opnfv/manifests/libxt.pp deleted file mode 100644 index a862778..0000000 --- a/fuel/build/f_libxt/puppet/modules/opnfv/manifests/libxt.pp +++ /dev/null @@ -1,11 +0,0 @@ -class opnfv::libxt { - if $::osfamily == 'Debian' { - case $::fuel_settings['role'] { - /controller/: { - package { 'libxtst6': - ensure => installed, - } - } - } - } -} diff --git a/fuel/build/f_odl_docker/Makefile b/fuel/build/f_odl_docker/Makefile new file mode 100755 index 0000000..b227bee --- /dev/null +++ b/fuel/build/f_odl_docker/Makefile @@ -0,0 +1,47 @@ +############################################################################## +# 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) +BUILDTAG := loving_daniel + +# Edit this to match the GENESIS / OPNFV in your environment +export OPNFV_PUPPET := /home/lmcdasm/MAR24/genesis/common/puppet-opnfv +include ../config.mk + +.PHONY: all +all: + @mkdir -p puppet/modules/opnfv/odl_docker + @rm -rf tmp + @mkdir -p tmp + @cp -Rvp ${OPNFV_PUPPET}/manifests/templates/dockerfile tmp/. + @docker build -t ${BUILDTAG} tmp/dockerfile/. + @docker save ${BUILDTAG} > puppet/modules/opnfv/odl_docker/odl_docker_image.tar + @wget ${DOCKER_REPO}/${DOCKER_TAG} -O puppet/modules/opnfv/odl_docker/docker-latest + @echo "OPFNV_PUPPET is: ${OPNFV_PUPPET}" + @cp -Rvp ${OPNFV_PUPPET}/manifests/templates/dockerfile/compute_scripts puppet/modules/opnfv + +.PHONY: clean +clean: + @rm -rf tmp + @rm -rf release + +.PHONY: build-clean +build-clean: + @rm -rf tmp + @rm -rf release + @rm -rf puppet/modules/opnfv/odl_docker/odl_docker_image.tar + @rm -rf puppet/modules/opnfv/odl_docker/docker-latest + + +.PHONY: release +release: + # Fetch PP from OPNFV Common + @cp -Rvp ${OPNFV_PUPPET}/common/puppet-opnfv/manifests/odl_docker.pp ${PUPPET_DEST} + @cp -Rvp puppet/modules/* $(PUPPET_DEST) diff --git a/fuel/build/f_odl_docker/dockerfile/Dockerfile b/fuel/build/f_odl_docker/dockerfile/Dockerfile new file mode 100755 index 0000000..e8d5953 --- /dev/null +++ b/fuel/build/f_odl_docker/dockerfile/Dockerfile @@ -0,0 +1,72 @@ +#################################################################### +# +# Dockerfile to build a ODL (Karaf) Docker Container +# +# Copyright daniel.smith@ericsson.com +# License: Apache GPL +# +#################################################################### + + +#Set the base image - note: the current release of Karaf is using Jdk7 and alot of 12.04, so we will use it rather than 14.04 and backport a ton of stuff +FROM ubuntu:12.04 + +# Maintainer Info +MAINTAINER Daniel Smith + +#Run apt-get update one start just to check for updates when building +RUN echo "Updating APT" +RUN apt-get update +RUN echo "Adding wget" +RUN apt-get install -y wget +RUN apt-get install -y net-tools +RUN apt-get install -y openjdk-7-jre +RUN apt-get install -y openjdk-7-jdk +RUN apt-get install -y openssh-server +RUN apt-get install -y vim +RUN apt-get install -y expect +RUN apt-get install -y daemontools +RUN mkdir -p /opt/odl_source +RUN bash -c 'echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64" >> ~/.bashrc' + + +#Now lets got and fetch the ODL distribution +RUN echo "Fetching ODL" +RUN wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.2.2-Helium-SR2/distribution-karaf-0.2.2-Helium-SR2.tar.gz -O /opt/odl_source/distribution-karaf-0.2.2-Helium-SR2.tar.gz + +RUN echo "Untarring ODL inplace" +RUN mkdir -p /opt/odl +RUN tar zxvf /opt/odl_source/distribution-karaf-0.2.2-Helium-SR2.tar.gz -C /opt/odl + +RUN echo "Installing DLUX and other features into ODL" +COPY tmp/dockerfile/container_scripts/start_odl_docker.sh /etc/init.d/start_odl_docker.sh +COPY tmp/dockerfile/container_scripts/speak.sh /etc/init.d/speak.sh +RUN chmod 777 /etc/init.d/start_odl_docker.sh +RUN chmod 777 /etc/init.d/speak.sh + + +# Expose the ports +# PORTS FOR BASE SYSTEM AND DLUX +EXPOSE 8101 +EXPOSE 6633 +EXPOSE 1099 +EXPOSE 43506 +EXPOSE 8181 +EXPOSE 8185 +EXPOSE 9000 +EXPOSE 39378 +EXPOSE 33714 +EXPOSE 44444 +EXPOSE 6653 + +# PORTS FOR OVSDB AND ODL CONTROL +EXPOSE 12001 +EXPOSE 6640 +EXPOSE 8080 +EXPOSE 7800 +EXPOSE 55130 +EXPOSE 52150 +EXPOSE 36826 + +# set the ENTRYPOINT - An entry point allows us to run this container as an exectuable +CMD ["/etc/init.d/start_odl_docker.sh"] diff --git a/fuel/build/f_odl_docker/dockerfile/container_scripts/check_feature.sh b/fuel/build/f_odl_docker/dockerfile/container_scripts/check_feature.sh new file mode 100755 index 0000000..fc21fc9 --- /dev/null +++ b/fuel/build/f_odl_docker/dockerfile/container_scripts/check_feature.sh @@ -0,0 +1,8 @@ +#!/usr/bin/expect +spawn /opt/odl/distribution-karaf-0.2.2-Helium-SR2/bin/client +expect "root>" +send "feature:list | grep -i odl-restconf\r" +send "\r\r\r" +expect "root>" +send "logout\r" + diff --git a/fuel/build/f_odl_docker/dockerfile/container_scripts/speak.sh b/fuel/build/f_odl_docker/dockerfile/container_scripts/speak.sh new file mode 100755 index 0000000..2d363c9 --- /dev/null +++ b/fuel/build/f_odl_docker/dockerfile/container_scripts/speak.sh @@ -0,0 +1,16 @@ +#!/usr/bin/expect +# Ericsson Research Canada +# +# Author: Daniel Smith <daniel.smith@ericsson.com> +# +# Simple expect script to start up ODL client and load feature set for DLUX and OVSDB +# +# NOTE: THIS WILL BE REPLACED WITH A PROGRAMATIC METHOD SHORTLY + +spawn /opt/odl/distribution-karaf-0.2.2-Helium-SR2/bin/client +expect "root>" +send "feature:install odl-base-all odl-aaa-authn odl-restconf odl-nsf-all odl-adsal-northbound odl-mdsal-apidocs odl-ovsdb-openstack odl-ovsdb-northbound odl-dlux-core" +send "\r\r\r" +expect "root>" +send "logout\r" + diff --git a/fuel/build/f_odl_docker/dockerfile/container_scripts/start_odl_docker.sh b/fuel/build/f_odl_docker/dockerfile/container_scripts/start_odl_docker.sh new file mode 100755 index 0000000..a985b97 --- /dev/null +++ b/fuel/build/f_odl_docker/dockerfile/container_scripts/start_odl_docker.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# Ericsson Research Canada +# +# Author: Daniel Smith <daniel.smith@ericsson.com> +# +# Start up script for calling karaf / ODL inside a docker container. +# +# This script will also call a couple expect scripts to load the feature set that we want + + +#ENV +export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 + +#MAIN +echo "Starting up the da Sheilds..." +/opt/odl/distribution-karaf-0.2.2-Helium-SR2/bin/karaf server & +echo "Sleeping 5 bad hack" +sleep 10 +echo "should see stuff listening now" +netstat -na +echo " should see proess running for karaf" +ps -efa +echo " Starting the packages we want" +/etc/init.d/speak.sh +echo "Printout the status - if its right, you should see 8181 appear now" +netstat -na +ps -efa + + + +## This is a loop that keeps our container going currently, prinout the "status of karaf" to the docker logs every minute +## Cheap - but effective +while true; +do + echo "Checking status of ODL:" + /opt/odl/distribution-karaf-0.2.2-Helium-SR2/bin/status + sleep 60 +done diff --git a/fuel/build/f_odl_docker/puppet/modules/opnfv/manifests/odl_docker.pp b/fuel/build/f_odl_docker/puppet/modules/opnfv/manifests/odl_docker.pp new file mode 100644 index 0000000..ae24460 --- /dev/null +++ b/fuel/build/f_odl_docker/puppet/modules/opnfv/manifests/odl_docker.pp @@ -0,0 +1,40 @@ +class opnfv::odl_docker +{ + case $::fuel_settings['role'] { + /controller/: { + + file { "/opt": + ensure => "directory", + } + + file { "/opt/opnfv": + ensure => "directory", + owner => "root", + group => "root", + mode => 777, + } + + file { "/opt/opnfv/odl": + ensure => "directory", + } + + file { "/opt/opnfv/odl/odl_docker_image.tar": + ensure => present, + source => "/etc/puppet/modules/opnfv/odl_docker/odl_docker_image.tar", + mode => 750, + } + + file { "/opt/opnfv/odl/docker-latest": + ensure => present, + source => "/etc/puppet/modules/opnfv/odl_docker/docker-latest", + mode => 750, + } + + file { "/opt/opnfv/odl/start_odl_conatiner.sh": + ensure => present, + source => "/etc/puppet/modules/opnfv/scripts/start_odl_container.sh", + mode => 750, + } + } + } +} diff --git a/fuel/build/f_odl_docker/puppet/modules/opnfv/scripts/start_odl_container.sh b/fuel/build/f_odl_docker/puppet/modules/opnfv/scripts/start_odl_container.sh new file mode 100755 index 0000000..0b4fd46 --- /dev/null +++ b/fuel/build/f_odl_docker/puppet/modules/opnfv/scripts/start_odl_container.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# Ericsson Canada Inc. +# Authoer: Daniel Smith +# +# A helper script to install and setup the ODL docker conatiner on the controller +# +# +# Inputs: odl_docker_image.tar +# +# Usage: ./start_odl_docker.sh + +# ENVS +source ~/.bashrc +source ~/openrc + +# VARS + +# Switch for Dev mode - uses apt-get on control to cheat and get docker installed locally rather than from puppet source + +DEV=1 + +# Switch for 1:1 port mapping of EXPOSED ports in Docker to the host, if set to 0, then random ports will be used - NOTE: this doesnt work for all web services X port on Host --> Y port in Container, +# especially for SSL/HTTPS cases. Be aware. + +MATCH_PORT=1 + +LOCALPATH=/opt/opnfv/odl_docker +DOCKERBINNAME=docker-latest +DOCKERIMAGENAME=odl_docker_image.tar +DNS=8.8.8.8 +HOST_IP=`ifconfig br-fw-admin | grep -i "inet addr" | awk -F":" '{print $2}' | awk -F" " '{print $1}'` + + +# Set this to "1" if you want to have your docker container startup into a shell + + +ENABLE_SHELL=1 + + +echo " Fetching Docker " +if [ "$DEV" -eq "1" ]; +# If testing Locally (on a control node) you can set DEV=1 to enable apt-get based install on the control node (not desired target, but good for testing). +then + echo "Dev Mode - Fetching from Internet"; + echo " this wont work in production builds"; + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 + mkdir -p $LOCALPATH + wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O $LOCALPATH/$DOCKERBINNAME + wget http://ftp.us.debian.org/debian/pool/main/d/docker.io/docker.io_1.3.3~dfsg1-2_amd64.deb + chmod 777 $LOCALPATH/$DOCKERBINNAME + echo "done "; +else + echo "Using Binaries delivered from Puppet" + echo "Starting Docker in Daemon mode" + chmod +x $LOCALPATH/$DOCKERBINNAME + $LOCALPATH/$DOCKERBINNAME -d & +fi + + +# We need to perform some cleanup of the Openstack Environment +echo "TODO -- This should be automated in the Fuel deployment at some point" +echo "However, the timing should come after basic tests are running, since this " +echo " part will remove the subnet router association that is deployed automativally" +echo " via fuel. Refer to the ODL + Openstack Integration Page " + +# Import the ODL container into docker + +echo "Importing ODL container into docker" +$LOCALPATH/$DOCKERBINNAME load -i $LOCALPATH/$DOCKERIMAGENAME + +echo " starting up ODL - DLUX and Mapping Ports" +if [ "$MATCH_PORT" -eq "1" ] +then + echo "Starting up Docker..." + docker rm odl_docker + +if [ "$ENABLE_SHELL" -eq "1" ]; +then + echo "Starting Container in Interactive Mode (/bin/bash will be provided, you will need to run ./start_odl_docker.sh inside the container yourself)" + docker run --name odl_docker -p 8181:8181 -p 8185:8185 -p 9000:9000 -p 1099:1099 -p 8101:8101 -p 6633:6633 -p 43506:43506 -p 44444:44444 -p 6653:6653 -p 12001:12001 -p 6400:6400 -p 8080:8080 -p 7800:7800 -p 55130:55130 -p 52150:52150 -p 36826:26826 -i -d -t loving_daniel /bin/bash +else + echo "Starting Conatiner in Daemon mode - no shell will be provided and docker attach will not provide shell)" + docker run --name odl_docker -p 8181:8181 -p 8185:8185 -p 9000:9000 -p 1099:1099 -p 8101:8101 -p 6633:6633 -p 43506:43506 -p 44444:44444 -p 6653:6653 -p 12001:12001 -p 6400:6400 -p 8080:8080 -p 7800:7800 -p 55130:55130 -p 52150:52150 -p 36826:26826 -i -d -t loving_daniel + echo "should see the process listed here in docker ps -a" + docker ps -a; + echo "Match Port enabled, you can reach the DLUX login at: " + echo "http://$HOST_IP:8181/dlux.index.html" +fi diff --git a/fuel/build/f_odl_docker/scripts/config_neutron_for_odl.sh b/fuel/build/f_odl_docker/scripts/config_neutron_for_odl.sh new file mode 100644 index 0000000..3b688ae --- /dev/null +++ b/fuel/build/f_odl_docker/scripts/config_neutron_for_odl.sh @@ -0,0 +1,146 @@ +#!/bin/bash +CONTROL_HOST=172.17.0.3 + +# ENV +source ~/openrc + + + +# VARS +ML2_CONF=/etc/neutron/plugins/ml2/ml2_conf.ini +MODE=0 + + +# FUCNTIONS + + +# Update ml2_conf.ini +function update_ml2conf { + echo "Backing up and modifying ml2_conf.ini" + cp $ML2_CONF $ML2_CONF.bak + sed -i -e 's/mechanism_drivers =openvswitch/mechanism_drivers = opendaylight/g' $ML2_CONF +#!/bin/bash +CONTROL_HOST=172.17.0.3 + +# ENV +source ~/openrc + + + +# VARS +ML2_CONF=/etc/neutron/plugins/ml2/ml2_conf.ini +MODE=0 + + +# FUCNTIONS + + +# Update ml2_conf.ini +function update_ml2conf { + echo "Backing up and modifying ml2_conf.ini" + cp $ML2_CONF $ML2_CONF.bak + sed -i -e 's/mechanism_drivers =openvswitch/mechanism_drivers = opendaylight/g' $ML2_CONF + sed -i -e 's/tenant_network_types = flat,vlan,gre,vxlan/tenant_network_types = vxlan/g' $ML2_CONF + cat "[ml2_odl]" >> $ML2_CONF + cat "password = admin" >> $ML2_CONF + cat "username = admin" >> $ML2_CONF + cat "url = http://${CONTROL_HOST}:8080/controller/nb/v2/neutron" >> $ML2_CONF +} + +function reset_neutrondb { + echo "Reseting DB" + mysql -e "drop database if exists neutron_ml2;" + mysql -e "create database neutron_ml2 character set utf8;" + mysql -e "grant all on neutron_ml2.* to 'neutron'@'%';" + neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head +} + +function restart_neutron { + echo "Restarting Neutron Server" + service neutron-server restart + echo "Should see Neutron runing now" + service neutron-server status + echo "Shouldnt be any nets, but should work (return empty)" + neutron net-list +} + +function stop_neutron { + echo "Stopping Neutron / OVS components" + service neutron-plugin-openvswitch-agent stop + if [ $MODE == "0" ] + then + service neutron-server stop + fi +} + + + +function verify_ML2_working { + echo "checking that we can talk via ML2 properly" + curl -u admin:admin http://${CONTROL_HOST}:8080/controller/nb/v2/neutron/networks > /tmp/check_ml2 + if grep "network" /tmp/check_ml2 + then + echo "Success - ML2 to ODL is working" + else + echo "im sorry Jim, but its dead" + fi + +} + + +function set_mode { + if df -k | grep glance + then + echo "Controller Mode" + MODE=0 + else + echo "Compute Mode" + MODE=1 + fi +} + +function stop_ovs { + echo "Stopping OpenVSwitch" + service openvswitch-switch stop + +} + +function control_setup { + echo "do control stuff here" + echo "Reset Neutron DB" + #reset_neutrondb + echo "Restarting Neutron Components" + #restart_neutron + echo "Verifying ODL ML2 plugin is working" + verify_ML2_working + +} + +function compute_setup { + echo "do compute stuff here" + stop_neutron + verify_ML2_working +} + + +# MAIN +echo "Starting to make call" +#update_ml2conf +echo "Check Mode" +set_mode + +if [ $MODE == "0" ]; +then + echo "Calling control setup" + control_setup +elif [ $MODE == "1" ]; +then + echo "Calling compute setup" + compute_setup + +else + echo "Something is bad - call for help" + exit +fi + + diff --git a/fuel/build/f_odl_docker/scripts/prep_nets_for_odl.sh b/fuel/build/f_odl_docker/scripts/prep_nets_for_odl.sh new file mode 100755 index 0000000..dd4fc9f --- /dev/null +++ b/fuel/build/f_odl_docker/scripts/prep_nets_for_odl.sh @@ -0,0 +1,90 @@ +#!/bin/bash +# a "cheat" way to install docker on the controller +# can only be used if you have a connecting out to the internet + +# Usage: ./install_docker.sh <ip of default route to remove> <ip of default gw to add> + +OLDGW=$1 +#!/bin/bash +# a "cheat" way to install docker on the controller +# can only be used if you have a connecting out to the internet + +# Usage: ./install_docker.sh <ip of default route to remove> <ip of default gw to add> + +OLDGW=$1 +NEWGW=$2 +IMAGEPATH=/opt/opnfv +IMAGENAME=odl_docker_image.tar +SOURCES=/etc/apt/sources.list + + +if [ "$#" -ne 2]; then + echo "Two args not provided, will not touch networking" +else + + # Fix routes + echo "Fixing routes" + #DEBUG + netstat -rn + + echo "delete old def route" + route delete default gw $1 + echo "adding new def route" + route add default gw $2 + + echo " you should see a good nslookup now" + nslookup www.google.ca +#!/bin/bash +# a "cheat" way to install docker on the controller +# can only be used if you have a connecting out to the internet + +# Usage: ./install_docker.sh <ip of default route to remove> <ip of default gw to add> + +OLDGW=$1 +NEWGW=$2 +IMAGEPATH=/opt/opnfv +IMAGENAME=odl_docker_image.tar +SOURCES=/etc/apt/sources.list + + +if [ "$#" -ne 2]; then + echo "Two args not provided, will not touch networking" +else + + # Fix routes + echo "Fixing routes" + #DEBUG + netstat -rn + + echo "delete old def route" + route delete default gw $1 + echo "adding new def route" + route add default gw $2 + + echo " you should see a good nslookup now" + nslookup www.google.ca +fi + + +if egrep "mirrors.txt" $SOURCES +then + echo "Sources was already updated, not touching" +else + echo "adding the closests mirrors and docker mirror to the mix" + echo "deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse" >> /etc/apt/sources.list + echo "deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse" >> /etc/apt/sources.list + echo "deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse" >> /etc/apt/sources.list + echo "deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse" >> /etc/apt/sources.list + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 + echo "deb https://get.docker.com/ubuntu docker main " > /etc/apt/sources.list.d/docker.list +fi + +echo "Updating" +apt-get update +echo "Installing Docker" +apt-get install -y lxc-docker + +echo "Loading ODL Docker Image" +docker load -i $IMAGEPATH/$IMAGENAME + + diff --git a/fuel/build/f_odl_docker/scripts/setup_ovs_for_odl.sh b/fuel/build/f_odl_docker/scripts/setup_ovs_for_odl.sh new file mode 100644 index 0000000..42c9451 --- /dev/null +++ b/fuel/build/f_odl_docker/scripts/setup_ovs_for_odl.sh @@ -0,0 +1,23 @@ +#!/bin/bash + + + +ok .. so they created br-int + +so lets add a physical nic to it + + +# First - Removal all the bridges you find + +for i in $(ovs-vsctl list-br) +do + if [ "$i" == "br-int" ]; + then + echo "skipped br-int" + elif [ "$i" == "br-prv"]; + then + echo "skipped br-pr" + else + ovs-vsctl del-br $i + fi +done diff --git a/fuel/build/f_odl_docker/scripts/start_odl_container.sh b/fuel/build/f_odl_docker/scripts/start_odl_container.sh new file mode 100755 index 0000000..0fca48f --- /dev/null +++ b/fuel/build/f_odl_docker/scripts/start_odl_container.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# Ericsson Canada Inc. +# Authoer: Daniel Smith +# +# A helper script to install and setup the ODL docker conatiner on the controller +# +# +# Inputs: odl_docker_image.tar +# +# Usage: ./start_odl_docker.sh + +# ENVS +source ~/.bashrc +source ~/openrc + +# VARS + +# Switch for Dev mode - uses apt-get on control to cheat and get docker installed locally rather than from puppet source + +DEV=1 + +# Switch for 1:1 port mapping of EXPOSED ports in Docker to the host, if set to 0, then random ports will be used - NOTE: this doesnt work for all web services X port on Host --> Y port in Container, +# especially for SSL/HTTPS cases. Be aware. + +MATCH_PORT=1 + +LOCALPATH=/opt/opnfv/odl_docker +DOCKERBINNAME=docker-latest +DOCKERIMAGENAME=odl_docker_image.tar +DNS=8.8.8.8 +HOST_IP=`ifconfig br-fw-admin | grep -i "inet addr" | awk -F":" '{print $2}' | awk -F" " '{print $1}'` + + +# Set this to "1" if you want to have your docker container startup into a shell + + +ENABLE_SHELL=1 + + +echo " Fetching Docker " +if [ "$DEV" -eq "1" ]; +# If testing Locally (on a control node) you can set DEV=1 to enable apt-get based install on the control node (not desired target, but good for testing). +then + echo "Dev Mode - Fetching from Internet"; + echo " this wont work in production builds"; + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 + mkdir -p $LOCALPATH + wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O $LOCALPATH/$DOCKERBINNAME + wget http://ftp.us.debian.org/debian/pool/main/d/docker.io/docker.io_1.3.3~dfsg1-2_amd64.deb + chmod 777 $LOCALPATH/$DOCKERBINNAME + echo "done "; +else + echo "Using Binaries delivered from Puppet" + echo "Starting Docker in Daemon mode" + chmod +x $LOCALPATH/$DOCKERBINNAME + $LOCALPATH/$DOCKERBINNAME -d & +fi + + +# We need to perform some cleanup of the Openstack Environment +echo "TODO -- This should be automated in the Fuel deployment at some point" +echo "However, the timing should come after basic tests are running, since this " +echo " part will remove the subnet router association that is deployed automativally" +echo " via fuel. Refer to the ODL + Openstack Integration Page " + +# Import the ODL container into docker + +echo "Importing ODL container into docker" +$LOCALPATH/$DOCKERBINNAME load -i $LOCALPATH/$DOCKERIMAGENAME + +echo " starting up ODL - DLUX and Mapping Ports" +if [ "$MATCH_PORT" -eq "1" ] +then + echo "Starting up Docker..." + docker rm odl_docker + +if [ "$ENABLE_SHELL" -eq "1" ]; +then + echo "Starting Container in Interactive Mode (/bin/bash will be provided, you will need to run ./start_odl_docker.sh inside the container yourself)" + docker run --name odl_docker -p 8181:8181 -p 8185:8185 -p 9000:9000 -p 1099:1099 -p 8101:8101 -p 6633:6633 -p 43506:43506 -p 44444:44444 -p 6653:6653 -p 12001:12001 -p 6400:6400 -p 6640:6640 -p 8080:8080 -p 7800:7800 -p 55130:55130 -p 52150:52150 -p 36826:26826 -i -d -t loving_daniel /bin/bash +else + echo "Starting Conatiner in Daemon mode - no shell will be provided and docker attach will not provide shell)" + docker run --name odl_docker -p 8181:8181 -p 8185:8185 -p 9000:9000 -p 1099:1099 -p 8101:8101 -p 6633:6633 -p 43506:43506 -p 44444:44444 -p 6653:6653 -p 12001:12001 -p 6400:6400 -p 6640:6640 -p 8080:8080 -p 7800:7800 -p 55130:55130 -p 52150:52150 -p 36826:26826 -i -d -t loving_daniel + echo "should see the process listed here in docker ps -a" + docker ps -a; + echo "Match Port enabled, you can reach the DLUX login at: " + echo "http://$HOST_IP:8181/dlux.index.html" +fi diff --git a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp index d48956b..54f1c86 100644 --- a/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp +++ b/fuel/build/f_opnfv_puppet/puppet/modules/opnfv/manifests/init.pp @@ -24,16 +24,5 @@ class opnfv { # Make sure all added packages are installed include opnfv::add_packages # Setup OpenDaylight - include opnfv::odl - include opnfv::java - include opnfv::jre - include opnfv::jre_head - include opnfv::atk_wrap - include opnfv::gif - include opnfv::ca_cert - include opnfv::comm_java - include opnfv::libpcs - include opnfv::libxt - include opnfv::libnss - include opnfv::defjre + include opnfv::odl_docker } |