summaryrefslogtreecommitdiffstats
path: root/fuel/build/f_l23network
diff options
context:
space:
mode:
authorJonas Bjurel <jonas.bjurel@ericsson.com>2015-03-02 22:46:45 +0100
committerJonas Bjurel <jonas.bjurel@ericsson.com>2015-03-09 23:00:13 +0100
commit6cb518c68eb136ad448e96716ef8b1348440949f (patch)
tree757551a8efdc4e85e19fc1b0f27555825580e5c9 /fuel/build/f_l23network
parent1e106bbaca2780c10bd02b4e5fa3702d36acdf39 (diff)
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 <jonas.bjurel@ericsson.com>
Diffstat (limited to 'fuel/build/f_l23network')
-rw-r--r--fuel/build/f_l23network/Makefile24
-rw-r--r--fuel/build/f_l23network/README35
-rw-r--r--fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb21
-rw-r--r--fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp18
-rw-r--r--fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig16
-rw-r--r--fuel/build/f_l23network/testing/README12
-rw-r--r--fuel/build/f_l23network/testing/fake_init.pp13
7 files changed, 139 insertions, 0 deletions
diff --git a/fuel/build/f_l23network/Makefile b/fuel/build/f_l23network/Makefile
new file mode 100644
index 0000000..c311a2d
--- /dev/null
+++ b/fuel/build/f_l23network/Makefile
@@ -0,0 +1,24 @@
+##############################################################################
+# 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)
+
+.PHONY: all
+all:
+
+.PHONY: clean
+clean:
+ @rm -rf tmp
+ @rm -rf release
+
+
+.PHONY: release
+release:
+ @cp -Rvp puppet/modules/* $(PUPPET_DEST)
diff --git a/fuel/build/f_l23network/README b/fuel/build/f_l23network/README
new file mode 100644
index 0000000..9aa4718
--- /dev/null
+++ b/fuel/build/f_l23network/README
@@ -0,0 +1,35 @@
+##############################################################################
+# 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
+##############################################################################
+
+Addition to add entries to /etc/hosts through Astute.
+
+The astute.yaml file should contain entries as those below to have them picked up during deployment:
+
+opnfv:
+ hosts:
+ - name: test1
+ address: 192.168.100.100
+ fqdn: test1.opnfv.org
+ - name: test2
+ address: 192.168.100.101
+ fqdn: test2.opnfv.org
+ - name: test3
+ address: 192.168.100.102
+ fqdn: test3.opnfv.org
+
+The suggested method for adding this information is to prepare for deployment with the Fuel GUI or CLI,
+but before actually deploying:
+
+1. Download the current deployment for all hosts: fuel --env 1 deployment --default
+2. Iterate through the hosts in "deployment_1" and add hosts configuration in the above format to their
+ respective yaml file.
+3. Upload the modifed deployment information: fuel --env 1 deployment --upload
+
+After deploying, the additions will be included in /etc/astute.yaml of each host.
diff --git a/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb b/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb
new file mode 100644
index 0000000..33bfad8
--- /dev/null
+++ b/fuel/build/f_l23network/puppet/modules/l23network/lib/puppet/parser/functions/extras_to_hosts.rb
@@ -0,0 +1,21 @@
+#
+# array_or_string_to_array.rb
+#
+
+module Puppet::Parser::Functions
+ newfunction(:extras_to_hosts, :type => :rvalue, :doc => <<-EOS
+ convert extras array passed from Astute into
+ hash for puppet `host` create_resources call
+ EOS
+ ) do |args|
+ hosts=Hash.new
+ extras=args[0]
+ extras.each do |extras|
+ hosts[extras['name']]={:ip=>extras['address'],:host_aliases=>[extras['fqdn']]}
+ notice("Generating extras host entry #{extras['name']} #{extras['address']} #{extras['fqdn']}")
+ end
+ return hosts
+ end
+end
+
+# vim: set ts=2 sw=2 et :
diff --git a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp
new file mode 100644
index 0000000..05cff8d
--- /dev/null
+++ b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp
@@ -0,0 +1,18 @@
+class l23network::hosts_file (
+ $nodes,
+ $extras=[],
+ $hosts_file = "/etc/hosts"
+) {
+
+ # OPNFV addition: Add additional lines in /etc/hosts through Astute additions
+
+ $host_resources = nodes_to_hosts($nodes)
+ $extras_host_resources = extras_to_hosts($extras)
+ Host {
+ ensure => present,
+ target => $hosts_file
+ }
+
+ create_resources(host, $host_resources)
+ create_resources(host, $extras_host_resources)
+}
diff --git a/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig
new file mode 100644
index 0000000..2295e3f
--- /dev/null
+++ b/fuel/build/f_l23network/puppet/modules/l23network/manifests/hosts_file.pp.orig
@@ -0,0 +1,16 @@
+class l23network::hosts_file (
+ $nodes,
+ $hosts_file = "/etc/hosts"
+) {
+
+ #Move original hosts file
+
+ $host_resources = nodes_to_hosts($nodes)
+
+ Host {
+ ensure => present,
+ target => $hosts_file
+ }
+
+ create_resources(host, $host_resources)
+}
diff --git a/fuel/build/f_l23network/testing/README b/fuel/build/f_l23network/testing/README
new file mode 100644
index 0000000..b68eddf
--- /dev/null
+++ b/fuel/build/f_l23network/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 l23network::hosts_file class.
diff --git a/fuel/build/f_l23network/testing/fake_init.pp b/fuel/build/f_l23network/testing/fake_init.pp
new file mode 100644
index 0000000..bc6b163
--- /dev/null
+++ b/fuel/build/f_l23network/testing/fake_init.pp
@@ -0,0 +1,13 @@
+$fuel_settings = parseyaml($astute_settings_yaml)
+
+if $::fuel_settings['nodes'] {
+ $nodes_hash = $::fuel_settings['nodes']
+ $extras_hash = $::fuel_settings['opnfv']['hosts']
+
+ class {'l23network::hosts_file':
+ nodes => $nodes_hash,
+ extras => $extras_hash
+ }
+
+ include l23network::hosts_file
+}