Merge lp:~npochet/sademos/contrail into lp:sademos

Proposed by Nicolas Pochet
Status: Needs review
Proposed branch: lp:~npochet/sademos/contrail
Merge into: lp:sademos
Diff against target: 19063 lines (has conflicts)
Conflict adding file .bzrignore.  Moved existing file to .bzrignore.moved.
Conflict adding file 00-bootstrap.sh.  Moved existing file to 00-bootstrap.sh.moved.
Conflict adding file 01-reset-environment.sh.  Moved existing file to 01-reset-environment.sh.moved.
Conflict adding file SDN.  Moved existing file to SDN.moved.
Conflict adding file bin.  Moved existing file to bin.moved.
Conflict adding file kubernetes.  Moved existing file to kubernetes.moved.
Conflict adding file landscape.  Moved existing file to landscape.moved.
Conflict adding file openstack.  Moved existing file to openstack.moved.
To merge this branch: bzr merge lp:~npochet/sademos/contrail
Reviewer Review Type Date Requested Status
CPE SA Pending
Review via email: mp+354467@code.launchpad.net

Description of the change

Improve Contrail 4 demo

To post a comment you must log in.

Unmerged revisions

98. By Nicolas Pochet

Adapt README and remove signing key

97. By Nicolas Pochet

Add one server to bundle and GPG signing key formatting script

96. By Nicolas Pochet

Remove v2

95. By Nicolas Pochet

Add minimal example of bundle for OB

94. By Márton Kiss

Contrail 4.1.1.0 bundle, readme and post-configuration script

93. By Nobuto Murata

+x

92. By Nobuto Murata

https://github.com/openstack-charmers/openstack-charms-tools/blob/master/os-upgrade.py

91. By Nobuto Murata

memcached for ha

90. By Nobuto Murata

update vip ONLY FOR *OrangeBox76*

89. By Nobuto Murata

annotations

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.bzrignore'
2--- .bzrignore 1970-01-01 00:00:00 +0000
3+++ .bzrignore 2018-09-07 10:48:48 +0000
4@@ -0,0 +1,1 @@
5+nova.rc
6
7=== renamed file '.bzrignore' => '.bzrignore.moved'
8=== added file '00-bootstrap.sh'
9--- 00-bootstrap.sh 1970-01-01 00:00:00 +0000
10+++ 00-bootstrap.sh 2018-09-07 10:48:48 +0000
11@@ -0,0 +1,16 @@
12+#!/bin/bash
13+#
14+# Scott Croft, 6 May 2015
15+
16+#time /home/ubuntu/demos/bin/orange-box-bootstrap-juju
17+
18+# Removed as there only needs to be one bootstrap script ran
19+#time orange-box-bootstrap-juju
20+
21+set -eaux
22+
23+obnum=`hostname | cut -c 10- -`
24+
25+time juju bootstrap --config bootstrap-timeout=1200 --to node00vm1ob${obnum}.maas --show-log maas maas/172.27.${obnum}.1
26+
27+juju gui --no-browser --show-credentials
28
29=== renamed file '00-bootstrap.sh' => '00-bootstrap.sh.moved'
30=== added file '01-reset-environment.sh'
31--- 01-reset-environment.sh 1970-01-01 00:00:00 +0000
32+++ 01-reset-environment.sh 2018-09-07 10:48:48 +0000
33@@ -0,0 +1,8 @@
34+#!/bin/bash
35+#
36+# Scott Croft, 8 Apr 2016
37+set -eaux
38+
39+obnum=`hostname | cut -c 10- -`
40+
41+juju kill-controller maas/172.27.${obnum}.1
42
43=== renamed file '01-reset-environment.sh' => '01-reset-environment.sh.moved'
44=== added directory 'BD'
45=== added directory 'BD/bundle-apache-processing-spark'
46=== added directory 'BD/bundle-apache-processing-spark/.git'
47=== added file 'BD/bundle-apache-processing-spark/.git/COMMIT_EDITMSG'
48--- BD/bundle-apache-processing-spark/.git/COMMIT_EDITMSG 1970-01-01 00:00:00 +0000
49+++ BD/bundle-apache-processing-spark/.git/COMMIT_EDITMSG 2018-09-07 10:48:48 +0000
50@@ -0,0 +1,1 @@
51+rename apache-hadoop-spark to apache-processing-spark
52
53=== added file 'BD/bundle-apache-processing-spark/.git/FETCH_HEAD'
54--- BD/bundle-apache-processing-spark/.git/FETCH_HEAD 1970-01-01 00:00:00 +0000
55+++ BD/bundle-apache-processing-spark/.git/FETCH_HEAD 2018-09-07 10:48:48 +0000
56@@ -0,0 +1,1 @@
57+797547092fd9c449d55f4cb71df731fb056faa1c branch 'master' of github.com:juju-solutions/bundle-apache-processing-spark
58
59=== added file 'BD/bundle-apache-processing-spark/.git/HEAD'
60--- BD/bundle-apache-processing-spark/.git/HEAD 1970-01-01 00:00:00 +0000
61+++ BD/bundle-apache-processing-spark/.git/HEAD 2018-09-07 10:48:48 +0000
62@@ -0,0 +1,1 @@
63+ref: refs/heads/master
64
65=== added file 'BD/bundle-apache-processing-spark/.git/ORIG_HEAD'
66--- BD/bundle-apache-processing-spark/.git/ORIG_HEAD 1970-01-01 00:00:00 +0000
67+++ BD/bundle-apache-processing-spark/.git/ORIG_HEAD 2018-09-07 10:48:48 +0000
68@@ -0,0 +1,1 @@
69+797547092fd9c449d55f4cb71df731fb056faa1c
70
71=== added directory 'BD/bundle-apache-processing-spark/.git/branches'
72=== added file 'BD/bundle-apache-processing-spark/.git/config'
73--- BD/bundle-apache-processing-spark/.git/config 1970-01-01 00:00:00 +0000
74+++ BD/bundle-apache-processing-spark/.git/config 2018-09-07 10:48:48 +0000
75@@ -0,0 +1,12 @@
76+[core]
77+ repositoryformatversion = 0
78+ filemode = true
79+ bare = false
80+ logallrefupdates = true
81+ ignorecase = true
82+[remote "origin"]
83+ url = git@github.com:juju-solutions/bundle-apache-processing-spark.git
84+ fetch = +refs/heads/*:refs/remotes/origin/*
85+[branch "master"]
86+ remote = origin
87+ merge = refs/heads/master
88
89=== added file 'BD/bundle-apache-processing-spark/.git/description'
90--- BD/bundle-apache-processing-spark/.git/description 1970-01-01 00:00:00 +0000
91+++ BD/bundle-apache-processing-spark/.git/description 2018-09-07 10:48:48 +0000
92@@ -0,0 +1,1 @@
93+Unnamed repository; edit this file 'description' to name the repository.
94
95=== added directory 'BD/bundle-apache-processing-spark/.git/hooks'
96=== added file 'BD/bundle-apache-processing-spark/.git/hooks/applypatch-msg.sample'
97--- BD/bundle-apache-processing-spark/.git/hooks/applypatch-msg.sample 1970-01-01 00:00:00 +0000
98+++ BD/bundle-apache-processing-spark/.git/hooks/applypatch-msg.sample 2018-09-07 10:48:48 +0000
99@@ -0,0 +1,15 @@
100+#!/bin/sh
101+#
102+# An example hook script to check the commit log message taken by
103+# applypatch from an e-mail message.
104+#
105+# The hook should exit with non-zero status after issuing an
106+# appropriate message if it wants to stop the commit. The hook is
107+# allowed to edit the commit message file.
108+#
109+# To enable this hook, rename this file to "applypatch-msg".
110+
111+. git-sh-setup
112+test -x "$GIT_DIR/hooks/commit-msg" &&
113+ exec "$GIT_DIR/hooks/commit-msg" ${1+"$@"}
114+:
115
116=== added file 'BD/bundle-apache-processing-spark/.git/hooks/commit-msg.sample'
117--- BD/bundle-apache-processing-spark/.git/hooks/commit-msg.sample 1970-01-01 00:00:00 +0000
118+++ BD/bundle-apache-processing-spark/.git/hooks/commit-msg.sample 2018-09-07 10:48:48 +0000
119@@ -0,0 +1,24 @@
120+#!/bin/sh
121+#
122+# An example hook script to check the commit log message.
123+# Called by "git commit" with one argument, the name of the file
124+# that has the commit message. The hook should exit with non-zero
125+# status after issuing an appropriate message if it wants to stop the
126+# commit. The hook is allowed to edit the commit message file.
127+#
128+# To enable this hook, rename this file to "commit-msg".
129+
130+# Uncomment the below to add a Signed-off-by line to the message.
131+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
132+# hook is more suited to it.
133+#
134+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
135+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
136+
137+# This example catches duplicate Signed-off-by lines.
138+
139+test "" = "$(grep '^Signed-off-by: ' "$1" |
140+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
141+ echo >&2 Duplicate Signed-off-by lines.
142+ exit 1
143+}
144
145=== added file 'BD/bundle-apache-processing-spark/.git/hooks/post-update.sample'
146--- BD/bundle-apache-processing-spark/.git/hooks/post-update.sample 1970-01-01 00:00:00 +0000
147+++ BD/bundle-apache-processing-spark/.git/hooks/post-update.sample 2018-09-07 10:48:48 +0000
148@@ -0,0 +1,8 @@
149+#!/bin/sh
150+#
151+# An example hook script to prepare a packed repository for use over
152+# dumb transports.
153+#
154+# To enable this hook, rename this file to "post-update".
155+
156+exec git update-server-info
157
158=== added file 'BD/bundle-apache-processing-spark/.git/hooks/pre-applypatch.sample'
159--- BD/bundle-apache-processing-spark/.git/hooks/pre-applypatch.sample 1970-01-01 00:00:00 +0000
160+++ BD/bundle-apache-processing-spark/.git/hooks/pre-applypatch.sample 2018-09-07 10:48:48 +0000
161@@ -0,0 +1,14 @@
162+#!/bin/sh
163+#
164+# An example hook script to verify what is about to be committed
165+# by applypatch from an e-mail message.
166+#
167+# The hook should exit with non-zero status after issuing an
168+# appropriate message if it wants to stop the commit.
169+#
170+# To enable this hook, rename this file to "pre-applypatch".
171+
172+. git-sh-setup
173+test -x "$GIT_DIR/hooks/pre-commit" &&
174+ exec "$GIT_DIR/hooks/pre-commit" ${1+"$@"}
175+:
176
177=== added file 'BD/bundle-apache-processing-spark/.git/hooks/pre-commit.sample'
178--- BD/bundle-apache-processing-spark/.git/hooks/pre-commit.sample 1970-01-01 00:00:00 +0000
179+++ BD/bundle-apache-processing-spark/.git/hooks/pre-commit.sample 2018-09-07 10:48:48 +0000
180@@ -0,0 +1,49 @@
181+#!/bin/sh
182+#
183+# An example hook script to verify what is about to be committed.
184+# Called by "git commit" with no arguments. The hook should
185+# exit with non-zero status after issuing an appropriate message if
186+# it wants to stop the commit.
187+#
188+# To enable this hook, rename this file to "pre-commit".
189+
190+if git rev-parse --verify HEAD >/dev/null 2>&1
191+then
192+ against=HEAD
193+else
194+ # Initial commit: diff against an empty tree object
195+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
196+fi
197+
198+# If you want to allow non-ASCII filenames set this variable to true.
199+allownonascii=$(git config --bool hooks.allownonascii)
200+
201+# Redirect output to stderr.
202+exec 1>&2
203+
204+# Cross platform projects tend to avoid non-ASCII filenames; prevent
205+# them from being added to the repository. We exploit the fact that the
206+# printable range starts at the space character and ends with tilde.
207+if [ "$allownonascii" != "true" ] &&
208+ # Note that the use of brackets around a tr range is ok here, (it's
209+ # even required, for portability to Solaris 10's /usr/bin/tr), since
210+ # the square bracket bytes happen to fall in the designated range.
211+ test $(git diff --cached --name-only --diff-filter=A -z $against |
212+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
213+then
214+ cat <<\EOF
215+Error: Attempt to add a non-ASCII file name.
216+
217+This can cause problems if you want to work with people on other platforms.
218+
219+To be portable it is advisable to rename the file.
220+
221+If you know what you are doing you can disable this check using:
222+
223+ git config hooks.allownonascii true
224+EOF
225+ exit 1
226+fi
227+
228+# If there are whitespace errors, print the offending file names and fail.
229+exec git diff-index --check --cached $against --
230
231=== added file 'BD/bundle-apache-processing-spark/.git/hooks/pre-push.sample'
232--- BD/bundle-apache-processing-spark/.git/hooks/pre-push.sample 1970-01-01 00:00:00 +0000
233+++ BD/bundle-apache-processing-spark/.git/hooks/pre-push.sample 2018-09-07 10:48:48 +0000
234@@ -0,0 +1,54 @@
235+#!/bin/sh
236+
237+# An example hook script to verify what is about to be pushed. Called by "git
238+# push" after it has checked the remote status, but before anything has been
239+# pushed. If this script exits with a non-zero status nothing will be pushed.
240+#
241+# This hook is called with the following parameters:
242+#
243+# $1 -- Name of the remote to which the push is being done
244+# $2 -- URL to which the push is being done
245+#
246+# If pushing without using a named remote those arguments will be equal.
247+#
248+# Information about the commits which are being pushed is supplied as lines to
249+# the standard input in the form:
250+#
251+# <local ref> <local sha1> <remote ref> <remote sha1>
252+#
253+# This sample shows how to prevent push of commits where the log message starts
254+# with "WIP" (work in progress).
255+
256+remote="$1"
257+url="$2"
258+
259+z40=0000000000000000000000000000000000000000
260+
261+IFS=' '
262+while read local_ref local_sha remote_ref remote_sha
263+do
264+ if [ "$local_sha" = $z40 ]
265+ then
266+ # Handle delete
267+ :
268+ else
269+ if [ "$remote_sha" = $z40 ]
270+ then
271+ # New branch, examine all commits
272+ range="$local_sha"
273+ else
274+ # Update to existing branch, examine new commits
275+ range="$remote_sha..$local_sha"
276+ fi
277+
278+ # Check for WIP commit
279+ commit=`git rev-list -n 1 --grep '^WIP' "$range"`
280+ if [ -n "$commit" ]
281+ then
282+ echo "Found WIP commit in $local_ref, not pushing"
283+ exit 1
284+ fi
285+ fi
286+done
287+
288+exit 0
289
290=== added file 'BD/bundle-apache-processing-spark/.git/hooks/pre-rebase.sample'
291--- BD/bundle-apache-processing-spark/.git/hooks/pre-rebase.sample 1970-01-01 00:00:00 +0000
292+++ BD/bundle-apache-processing-spark/.git/hooks/pre-rebase.sample 2018-09-07 10:48:48 +0000
293@@ -0,0 +1,169 @@
294+#!/bin/sh
295+#
296+# Copyright (c) 2006, 2008 Junio C Hamano
297+#
298+# The "pre-rebase" hook is run just before "git rebase" starts doing
299+# its job, and can prevent the command from running by exiting with
300+# non-zero status.
301+#
302+# The hook is called with the following parameters:
303+#
304+# $1 -- the upstream the series was forked from.
305+# $2 -- the branch being rebased (or empty when rebasing the current branch).
306+#
307+# This sample shows how to prevent topic branches that are already
308+# merged to 'next' branch from getting rebased, because allowing it
309+# would result in rebasing already published history.
310+
311+publish=next
312+basebranch="$1"
313+if test "$#" = 2
314+then
315+ topic="refs/heads/$2"
316+else
317+ topic=`git symbolic-ref HEAD` ||
318+ exit 0 ;# we do not interrupt rebasing detached HEAD
319+fi
320+
321+case "$topic" in
322+refs/heads/??/*)
323+ ;;
324+*)
325+ exit 0 ;# we do not interrupt others.
326+ ;;
327+esac
328+
329+# Now we are dealing with a topic branch being rebased
330+# on top of master. Is it OK to rebase it?
331+
332+# Does the topic really exist?
333+git show-ref -q "$topic" || {
334+ echo >&2 "No such branch $topic"
335+ exit 1
336+}
337+
338+# Is topic fully merged to master?
339+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
340+if test -z "$not_in_master"
341+then
342+ echo >&2 "$topic is fully merged to master; better remove it."
343+ exit 1 ;# we could allow it, but there is no point.
344+fi
345+
346+# Is topic ever merged to next? If so you should not be rebasing it.
347+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
348+only_next_2=`git rev-list ^master ${publish} | sort`
349+if test "$only_next_1" = "$only_next_2"
350+then
351+ not_in_topic=`git rev-list "^$topic" master`
352+ if test -z "$not_in_topic"
353+ then
354+ echo >&2 "$topic is already up-to-date with master"
355+ exit 1 ;# we could allow it, but there is no point.
356+ else
357+ exit 0
358+ fi
359+else
360+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
361+ /usr/bin/perl -e '
362+ my $topic = $ARGV[0];
363+ my $msg = "* $topic has commits already merged to public branch:\n";
364+ my (%not_in_next) = map {
365+ /^([0-9a-f]+) /;
366+ ($1 => 1);
367+ } split(/\n/, $ARGV[1]);
368+ for my $elem (map {
369+ /^([0-9a-f]+) (.*)$/;
370+ [$1 => $2];
371+ } split(/\n/, $ARGV[2])) {
372+ if (!exists $not_in_next{$elem->[0]}) {
373+ if ($msg) {
374+ print STDERR $msg;
375+ undef $msg;
376+ }
377+ print STDERR " $elem->[1]\n";
378+ }
379+ }
380+ ' "$topic" "$not_in_next" "$not_in_master"
381+ exit 1
382+fi
383+
384+<<\DOC_END
385+
386+This sample hook safeguards topic branches that have been
387+published from being rewound.
388+
389+The workflow assumed here is:
390+
391+ * Once a topic branch forks from "master", "master" is never
392+ merged into it again (either directly or indirectly).
393+
394+ * Once a topic branch is fully cooked and merged into "master",
395+ it is deleted. If you need to build on top of it to correct
396+ earlier mistakes, a new topic branch is created by forking at
397+ the tip of the "master". This is not strictly necessary, but
398+ it makes it easier to keep your history simple.
399+
400+ * Whenever you need to test or publish your changes to topic
401+ branches, merge them into "next" branch.
402+
403+The script, being an example, hardcodes the publish branch name
404+to be "next", but it is trivial to make it configurable via
405+$GIT_DIR/config mechanism.
406+
407+With this workflow, you would want to know:
408+
409+(1) ... if a topic branch has ever been merged to "next". Young
410+ topic branches can have stupid mistakes you would rather
411+ clean up before publishing, and things that have not been
412+ merged into other branches can be easily rebased without
413+ affecting other people. But once it is published, you would
414+ not want to rewind it.
415+
416+(2) ... if a topic branch has been fully merged to "master".
417+ Then you can delete it. More importantly, you should not
418+ build on top of it -- other people may already want to
419+ change things related to the topic as patches against your
420+ "master", so if you need further changes, it is better to
421+ fork the topic (perhaps with the same name) afresh from the
422+ tip of "master".
423+
424+Let's look at this example:
425+
426+ o---o---o---o---o---o---o---o---o---o "next"
427+ / / / /
428+ / a---a---b A / /
429+ / / / /
430+ / / c---c---c---c B /
431+ / / / \ /
432+ / / / b---b C \ /
433+ / / / / \ /
434+ ---o---o---o---o---o---o---o---o---o---o---o "master"
435+
436+
437+A, B and C are topic branches.
438+
439+ * A has one fix since it was merged up to "next".
440+
441+ * B has finished. It has been fully merged up to "master" and "next",
442+ and is ready to be deleted.
443+
444+ * C has not merged to "next" at all.
445+
446+We would want to allow C to be rebased, refuse A, and encourage
447+B to be deleted.
448+
449+To compute (1):
450+
451+ git rev-list ^master ^topic next
452+ git rev-list ^master next
453+
454+ if these match, topic has not merged in next at all.
455+
456+To compute (2):
457+
458+ git rev-list master..topic
459+
460+ if this is empty, it is fully merged to "master".
461+
462+DOC_END
463
464=== added file 'BD/bundle-apache-processing-spark/.git/hooks/prepare-commit-msg.sample'
465--- BD/bundle-apache-processing-spark/.git/hooks/prepare-commit-msg.sample 1970-01-01 00:00:00 +0000
466+++ BD/bundle-apache-processing-spark/.git/hooks/prepare-commit-msg.sample 2018-09-07 10:48:48 +0000
467@@ -0,0 +1,36 @@
468+#!/bin/sh
469+#
470+# An example hook script to prepare the commit log message.
471+# Called by "git commit" with the name of the file that has the
472+# commit message, followed by the description of the commit
473+# message's source. The hook's purpose is to edit the commit
474+# message file. If the hook fails with a non-zero status,
475+# the commit is aborted.
476+#
477+# To enable this hook, rename this file to "prepare-commit-msg".
478+
479+# This hook includes three examples. The first comments out the
480+# "Conflicts:" part of a merge commit.
481+#
482+# The second includes the output of "git diff --name-status -r"
483+# into the message, just before the "git status" output. It is
484+# commented because it doesn't cope with --amend or with squashed
485+# commits.
486+#
487+# The third example adds a Signed-off-by line to the message, that can
488+# still be edited. This is rarely a good idea.
489+
490+case "$2,$3" in
491+ merge,)
492+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
493+
494+# ,|template,)
495+# /usr/bin/perl -i.bak -pe '
496+# print "\n" . `git diff --cached --name-status -r`
497+# if /^#/ && $first++ == 0' "$1" ;;
498+
499+ *) ;;
500+esac
501+
502+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
503+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
504
505=== added file 'BD/bundle-apache-processing-spark/.git/hooks/update.sample'
506--- BD/bundle-apache-processing-spark/.git/hooks/update.sample 1970-01-01 00:00:00 +0000
507+++ BD/bundle-apache-processing-spark/.git/hooks/update.sample 2018-09-07 10:48:48 +0000
508@@ -0,0 +1,128 @@
509+#!/bin/sh
510+#
511+# An example hook script to blocks unannotated tags from entering.
512+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
513+#
514+# To enable this hook, rename this file to "update".
515+#
516+# Config
517+# ------
518+# hooks.allowunannotated
519+# This boolean sets whether unannotated tags will be allowed into the
520+# repository. By default they won't be.
521+# hooks.allowdeletetag
522+# This boolean sets whether deleting tags will be allowed in the
523+# repository. By default they won't be.
524+# hooks.allowmodifytag
525+# This boolean sets whether a tag may be modified after creation. By default
526+# it won't be.
527+# hooks.allowdeletebranch
528+# This boolean sets whether deleting branches will be allowed in the
529+# repository. By default they won't be.
530+# hooks.denycreatebranch
531+# This boolean sets whether remotely creating branches will be denied
532+# in the repository. By default this is allowed.
533+#
534+
535+# --- Command line
536+refname="$1"
537+oldrev="$2"
538+newrev="$3"
539+
540+# --- Safety check
541+if [ -z "$GIT_DIR" ]; then
542+ echo "Don't run this script from the command line." >&2
543+ echo " (if you want, you could supply GIT_DIR then run" >&2
544+ echo " $0 <ref> <oldrev> <newrev>)" >&2
545+ exit 1
546+fi
547+
548+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
549+ echo "usage: $0 <ref> <oldrev> <newrev>" >&2
550+ exit 1
551+fi
552+
553+# --- Config
554+allowunannotated=$(git config --bool hooks.allowunannotated)
555+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
556+denycreatebranch=$(git config --bool hooks.denycreatebranch)
557+allowdeletetag=$(git config --bool hooks.allowdeletetag)
558+allowmodifytag=$(git config --bool hooks.allowmodifytag)
559+
560+# check for no description
561+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
562+case "$projectdesc" in
563+"Unnamed repository"* | "")
564+ echo "*** Project description file hasn't been set" >&2
565+ exit 1
566+ ;;
567+esac
568+
569+# --- Check types
570+# if $newrev is 0000...0000, it's a commit to delete a ref.
571+zero="0000000000000000000000000000000000000000"
572+if [ "$newrev" = "$zero" ]; then
573+ newrev_type=delete
574+else
575+ newrev_type=$(git cat-file -t $newrev)
576+fi
577+
578+case "$refname","$newrev_type" in
579+ refs/tags/*,commit)
580+ # un-annotated tag
581+ short_refname=${refname##refs/tags/}
582+ if [ "$allowunannotated" != "true" ]; then
583+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
584+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
585+ exit 1
586+ fi
587+ ;;
588+ refs/tags/*,delete)
589+ # delete tag
590+ if [ "$allowdeletetag" != "true" ]; then
591+ echo "*** Deleting a tag is not allowed in this repository" >&2
592+ exit 1
593+ fi
594+ ;;
595+ refs/tags/*,tag)
596+ # annotated tag
597+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
598+ then
599+ echo "*** Tag '$refname' already exists." >&2
600+ echo "*** Modifying a tag is not allowed in this repository." >&2
601+ exit 1
602+ fi
603+ ;;
604+ refs/heads/*,commit)
605+ # branch
606+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
607+ echo "*** Creating a branch is not allowed in this repository" >&2
608+ exit 1
609+ fi
610+ ;;
611+ refs/heads/*,delete)
612+ # delete branch
613+ if [ "$allowdeletebranch" != "true" ]; then
614+ echo "*** Deleting a branch is not allowed in this repository" >&2
615+ exit 1
616+ fi
617+ ;;
618+ refs/remotes/*,commit)
619+ # tracking branch
620+ ;;
621+ refs/remotes/*,delete)
622+ # delete tracking branch
623+ if [ "$allowdeletebranch" != "true" ]; then
624+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
625+ exit 1
626+ fi
627+ ;;
628+ *)
629+ # Anything else (is there anything else?)
630+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
631+ exit 1
632+ ;;
633+esac
634+
635+# --- Finished
636+exit 0
637
638=== added file 'BD/bundle-apache-processing-spark/.git/index'
639Binary files BD/bundle-apache-processing-spark/.git/index 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/index 2018-09-07 10:48:48 +0000 differ
640=== added directory 'BD/bundle-apache-processing-spark/.git/info'
641=== added file 'BD/bundle-apache-processing-spark/.git/info/exclude'
642--- BD/bundle-apache-processing-spark/.git/info/exclude 1970-01-01 00:00:00 +0000
643+++ BD/bundle-apache-processing-spark/.git/info/exclude 2018-09-07 10:48:48 +0000
644@@ -0,0 +1,6 @@
645+# git ls-files --others --exclude-from=.git/info/exclude
646+# Lines that start with '#' are comments.
647+# For a project mostly in C, the following would be a good set of
648+# exclude patterns (uncomment them if you want to use them):
649+# *.[oa]
650+# *~
651
652=== added directory 'BD/bundle-apache-processing-spark/.git/logs'
653=== added file 'BD/bundle-apache-processing-spark/.git/logs/HEAD'
654--- BD/bundle-apache-processing-spark/.git/logs/HEAD 1970-01-01 00:00:00 +0000
655+++ BD/bundle-apache-processing-spark/.git/logs/HEAD 2018-09-07 10:48:48 +0000
656@@ -0,0 +1,1 @@
657+0000000000000000000000000000000000000000 797547092fd9c449d55f4cb71df731fb056faa1c Kevin W Monroe <kevin.monroe@canonical.com> 1459976441 +0000 commit (initial): rename apache-hadoop-spark to apache-processing-spark
658
659=== added directory 'BD/bundle-apache-processing-spark/.git/logs/refs'
660=== added directory 'BD/bundle-apache-processing-spark/.git/logs/refs/heads'
661=== added file 'BD/bundle-apache-processing-spark/.git/logs/refs/heads/master'
662--- BD/bundle-apache-processing-spark/.git/logs/refs/heads/master 1970-01-01 00:00:00 +0000
663+++ BD/bundle-apache-processing-spark/.git/logs/refs/heads/master 2018-09-07 10:48:48 +0000
664@@ -0,0 +1,1 @@
665+0000000000000000000000000000000000000000 797547092fd9c449d55f4cb71df731fb056faa1c Kevin W Monroe <kevin.monroe@canonical.com> 1459976441 +0000 commit (initial): rename apache-hadoop-spark to apache-processing-spark
666
667=== added directory 'BD/bundle-apache-processing-spark/.git/logs/refs/remotes'
668=== added directory 'BD/bundle-apache-processing-spark/.git/logs/refs/remotes/origin'
669=== added file 'BD/bundle-apache-processing-spark/.git/logs/refs/remotes/origin/master'
670--- BD/bundle-apache-processing-spark/.git/logs/refs/remotes/origin/master 1970-01-01 00:00:00 +0000
671+++ BD/bundle-apache-processing-spark/.git/logs/refs/remotes/origin/master 2018-09-07 10:48:48 +0000
672@@ -0,0 +1,1 @@
673+0000000000000000000000000000000000000000 797547092fd9c449d55f4cb71df731fb056faa1c Kevin W Monroe <kevin.monroe@canonical.com> 1459976520 +0000 update by push
674
675=== added directory 'BD/bundle-apache-processing-spark/.git/objects'
676=== added directory 'BD/bundle-apache-processing-spark/.git/objects/05'
677=== added file 'BD/bundle-apache-processing-spark/.git/objects/05/9db6d1f176d7e0c08d91f33c3fb1a6ffd749c4'
678Binary files BD/bundle-apache-processing-spark/.git/objects/05/9db6d1f176d7e0c08d91f33c3fb1a6ffd749c4 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/05/9db6d1f176d7e0c08d91f33c3fb1a6ffd749c4 2018-09-07 10:48:48 +0000 differ
679=== added directory 'BD/bundle-apache-processing-spark/.git/objects/30'
680=== added file 'BD/bundle-apache-processing-spark/.git/objects/30/09ea3be8be881ba5aee5ea4b3f316a9eb2139b'
681Binary files BD/bundle-apache-processing-spark/.git/objects/30/09ea3be8be881ba5aee5ea4b3f316a9eb2139b 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/30/09ea3be8be881ba5aee5ea4b3f316a9eb2139b 2018-09-07 10:48:48 +0000 differ
682=== added directory 'BD/bundle-apache-processing-spark/.git/objects/3b'
683=== added file 'BD/bundle-apache-processing-spark/.git/objects/3b/6ce3e5f866b8370c13224f007927c0a077cbda'
684Binary files BD/bundle-apache-processing-spark/.git/objects/3b/6ce3e5f866b8370c13224f007927c0a077cbda 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/3b/6ce3e5f866b8370c13224f007927c0a077cbda 2018-09-07 10:48:48 +0000 differ
685=== added directory 'BD/bundle-apache-processing-spark/.git/objects/79'
686=== added file 'BD/bundle-apache-processing-spark/.git/objects/79/7547092fd9c449d55f4cb71df731fb056faa1c'
687--- BD/bundle-apache-processing-spark/.git/objects/79/7547092fd9c449d55f4cb71df731fb056faa1c 1970-01-01 00:00:00 +0000
688+++ BD/bundle-apache-processing-spark/.git/objects/79/7547092fd9c449d55f4cb71df731fb056faa1c 2018-09-07 10:48:48 +0000
689@@ -0,0 +1,1 @@
690+x¥�Á D=ó{7m ¡Pc¼ÏžWºµDa E¿ßªñ
691œÛ{“ÌxŽ1Tè´ÜÔBN‘uƒì�3J9åШ­�Æq¸h7‘
692¨ïFi>êÌŽô
693 ÎpâT˜`w{s?tð˜8�÷Ös܃ҽsÖh­`+׈ծç•þœ…FÌègjf
694™s³d,7¨üÓ¹°§e éú­Ä
695nP¶
696\ No newline at end of file
697
698=== added directory 'BD/bundle-apache-processing-spark/.git/objects/8a'
699=== added file 'BD/bundle-apache-processing-spark/.git/objects/8a/f648e75b418c36bb643e5207249cd49a3814eb'
700Binary files BD/bundle-apache-processing-spark/.git/objects/8a/f648e75b418c36bb643e5207249cd49a3814eb 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/8a/f648e75b418c36bb643e5207249cd49a3814eb 2018-09-07 10:48:48 +0000 differ
701=== added directory 'BD/bundle-apache-processing-spark/.git/objects/91'
702=== added file 'BD/bundle-apache-processing-spark/.git/objects/91/e7980569611919ac8a477fdd8b49fe78e52d06'
703Binary files BD/bundle-apache-processing-spark/.git/objects/91/e7980569611919ac8a477fdd8b49fe78e52d06 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/91/e7980569611919ac8a477fdd8b49fe78e52d06 2018-09-07 10:48:48 +0000 differ
704=== added directory 'BD/bundle-apache-processing-spark/.git/objects/a2'
705=== added file 'BD/bundle-apache-processing-spark/.git/objects/a2/95864e354f25c935ea5453ab7ec97813b11bd2'
706Binary files BD/bundle-apache-processing-spark/.git/objects/a2/95864e354f25c935ea5453ab7ec97813b11bd2 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/a2/95864e354f25c935ea5453ab7ec97813b11bd2 2018-09-07 10:48:48 +0000 differ
707=== added directory 'BD/bundle-apache-processing-spark/.git/objects/c5'
708=== added file 'BD/bundle-apache-processing-spark/.git/objects/c5/6c4181a7cf7d4a3bda5026efe5aa86e2543baf'
709Binary files BD/bundle-apache-processing-spark/.git/objects/c5/6c4181a7cf7d4a3bda5026efe5aa86e2543baf 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/c5/6c4181a7cf7d4a3bda5026efe5aa86e2543baf 2018-09-07 10:48:48 +0000 differ
710=== added directory 'BD/bundle-apache-processing-spark/.git/objects/cf'
711=== added file 'BD/bundle-apache-processing-spark/.git/objects/cf/82fda33c98d6cf45ffac3ca969ff2ce1343f1b'
712Binary files BD/bundle-apache-processing-spark/.git/objects/cf/82fda33c98d6cf45ffac3ca969ff2ce1343f1b 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/cf/82fda33c98d6cf45ffac3ca969ff2ce1343f1b 2018-09-07 10:48:48 +0000 differ
713=== added directory 'BD/bundle-apache-processing-spark/.git/objects/e9'
714=== added file 'BD/bundle-apache-processing-spark/.git/objects/e9/00b97c45d3566d3fe29c1ba1d1682e360f4792'
715--- BD/bundle-apache-processing-spark/.git/objects/e9/00b97c45d3566d3fe29c1ba1d1682e360f4792 1970-01-01 00:00:00 +0000
716+++ BD/bundle-apache-processing-spark/.git/objects/e9/00b97c45d3566d3fe29c1ba1d1682e360f4792 2018-09-07 10:48:48 +0000
717@@ -0,0 +1,2 @@
718+xe‘A�Ó0…9ûW<õ($e¥E¨œB·U*5]V{t’ij)±�íl¶ÿžq ì"rˆ2™Ïã÷ÞÔ½©ñéóòÍÖ¸A†Î!ØU–µdÓ–j%uª)ÄÒÇ×m&ÄVõäWx/ÖÆ^œêÎ|êï'n–o¬¥6Z5²Ç.´i‚¼ïqˆ¨Ç�<¹'jS±S
719iO+äV6gÂ\ã&]Š?E‹Q·ä¸ÿ/–à9¯ŒŽ<ÞF`1OX¼û"p1#y�6£'ž <N¬
720ôÜ�
721P�lÏ
722¤ÂùzË<#xœ'˜:H†%ãösz�Afã3G7MS*¯ŽR㺬ÿíÒg»b½)«Í‡«=>r¯9GG?Gå¨E}�´,§‘5‹ìåã ;GÜ
723&Ê�œ
724+Jw ¼9…I:h•NÕc`è%©ÙØñk€³’‹¼BQ-ð5¯Š*x(Žßö÷G<ä‡C^
725‹M…ýë}yW
726‹}ÉÕyùˆïEy—€8'Þ=[Õ³D3ŒûDE1æ—Ež¸ko©Q'Õ°)Ý�²#t扜f/°äåã
727=‹kz5¨ ÃõÇŽRñ
728²æy
729\ No newline at end of file
730
731=== added directory 'BD/bundle-apache-processing-spark/.git/objects/f4'
732=== added file 'BD/bundle-apache-processing-spark/.git/objects/f4/33b1a53f5b830a205fd2df78e2b34974656c7b'
733Binary files BD/bundle-apache-processing-spark/.git/objects/f4/33b1a53f5b830a205fd2df78e2b34974656c7b 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/f4/33b1a53f5b830a205fd2df78e2b34974656c7b 2018-09-07 10:48:48 +0000 differ
734=== added file 'BD/bundle-apache-processing-spark/.git/objects/f4/3e79801fe270ab84f7ed756087fb9169267c31'
735Binary files BD/bundle-apache-processing-spark/.git/objects/f4/3e79801fe270ab84f7ed756087fb9169267c31 1970-01-01 00:00:00 +0000 and BD/bundle-apache-processing-spark/.git/objects/f4/3e79801fe270ab84f7ed756087fb9169267c31 2018-09-07 10:48:48 +0000 differ
736=== added directory 'BD/bundle-apache-processing-spark/.git/objects/info'
737=== added directory 'BD/bundle-apache-processing-spark/.git/objects/pack'
738=== added directory 'BD/bundle-apache-processing-spark/.git/refs'
739=== added directory 'BD/bundle-apache-processing-spark/.git/refs/heads'
740=== added file 'BD/bundle-apache-processing-spark/.git/refs/heads/master'
741--- BD/bundle-apache-processing-spark/.git/refs/heads/master 1970-01-01 00:00:00 +0000
742+++ BD/bundle-apache-processing-spark/.git/refs/heads/master 2018-09-07 10:48:48 +0000
743@@ -0,0 +1,1 @@
744+797547092fd9c449d55f4cb71df731fb056faa1c
745
746=== added directory 'BD/bundle-apache-processing-spark/.git/refs/remotes'
747=== added directory 'BD/bundle-apache-processing-spark/.git/refs/remotes/origin'
748=== added file 'BD/bundle-apache-processing-spark/.git/refs/remotes/origin/master'
749--- BD/bundle-apache-processing-spark/.git/refs/remotes/origin/master 1970-01-01 00:00:00 +0000
750+++ BD/bundle-apache-processing-spark/.git/refs/remotes/origin/master 2018-09-07 10:48:48 +0000
751@@ -0,0 +1,1 @@
752+797547092fd9c449d55f4cb71df731fb056faa1c
753
754=== added directory 'BD/bundle-apache-processing-spark/.git/refs/tags'
755=== added file 'BD/bundle-apache-processing-spark/.gitignore'
756--- BD/bundle-apache-processing-spark/.gitignore 1970-01-01 00:00:00 +0000
757+++ BD/bundle-apache-processing-spark/.gitignore 2018-09-07 10:48:48 +0000
758@@ -0,0 +1,2 @@
759+*.pyc
760+__pycache__
761
762=== added file 'BD/bundle-apache-processing-spark/LICENSE'
763--- BD/bundle-apache-processing-spark/LICENSE 1970-01-01 00:00:00 +0000
764+++ BD/bundle-apache-processing-spark/LICENSE 2018-09-07 10:48:48 +0000
765@@ -0,0 +1,177 @@
766+
767+ Apache License
768+ Version 2.0, January 2004
769+ http://www.apache.org/licenses/
770+
771+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
772+
773+ 1. Definitions.
774+
775+ "License" shall mean the terms and conditions for use, reproduction,
776+ and distribution as defined by Sections 1 through 9 of this document.
777+
778+ "Licensor" shall mean the copyright owner or entity authorized by
779+ the copyright owner that is granting the License.
780+
781+ "Legal Entity" shall mean the union of the acting entity and all
782+ other entities that control, are controlled by, or are under common
783+ control with that entity. For the purposes of this definition,
784+ "control" means (i) the power, direct or indirect, to cause the
785+ direction or management of such entity, whether by contract or
786+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
787+ outstanding shares, or (iii) beneficial ownership of such entity.
788+
789+ "You" (or "Your") shall mean an individual or Legal Entity
790+ exercising permissions granted by this License.
791+
792+ "Source" form shall mean the preferred form for making modifications,
793+ including but not limited to software source code, documentation
794+ source, and configuration files.
795+
796+ "Object" form shall mean any form resulting from mechanical
797+ transformation or translation of a Source form, including but
798+ not limited to compiled object code, generated documentation,
799+ and conversions to other media types.
800+
801+ "Work" shall mean the work of authorship, whether in Source or
802+ Object form, made available under the License, as indicated by a
803+ copyright notice that is included in or attached to the work
804+ (an example is provided in the Appendix below).
805+
806+ "Derivative Works" shall mean any work, whether in Source or Object
807+ form, that is based on (or derived from) the Work and for which the
808+ editorial revisions, annotations, elaborations, or other modifications
809+ represent, as a whole, an original work of authorship. For the purposes
810+ of this License, Derivative Works shall not include works that remain
811+ separable from, or merely link (or bind by name) to the interfaces of,
812+ the Work and Derivative Works thereof.
813+
814+ "Contribution" shall mean any work of authorship, including
815+ the original version of the Work and any modifications or additions
816+ to that Work or Derivative Works thereof, that is intentionally
817+ submitted to Licensor for inclusion in the Work by the copyright owner
818+ or by an individual or Legal Entity authorized to submit on behalf of
819+ the copyright owner. For the purposes of this definition, "submitted"
820+ means any form of electronic, verbal, or written communication sent
821+ to the Licensor or its representatives, including but not limited to
822+ communication on electronic mailing lists, source code control systems,
823+ and issue tracking systems that are managed by, or on behalf of, the
824+ Licensor for the purpose of discussing and improving the Work, but
825+ excluding communication that is conspicuously marked or otherwise
826+ designated in writing by the copyright owner as "Not a Contribution."
827+
828+ "Contributor" shall mean Licensor and any individual or Legal Entity
829+ on behalf of whom a Contribution has been received by Licensor and
830+ subsequently incorporated within the Work.
831+
832+ 2. Grant of Copyright License. Subject to the terms and conditions of
833+ this License, each Contributor hereby grants to You a perpetual,
834+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
835+ copyright license to reproduce, prepare Derivative Works of,
836+ publicly display, publicly perform, sublicense, and distribute the
837+ Work and such Derivative Works in Source or Object form.
838+
839+ 3. Grant of Patent License. Subject to the terms and conditions of
840+ this License, each Contributor hereby grants to You a perpetual,
841+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
842+ (except as stated in this section) patent license to make, have made,
843+ use, offer to sell, sell, import, and otherwise transfer the Work,
844+ where such license applies only to those patent claims licensable
845+ by such Contributor that are necessarily infringed by their
846+ Contribution(s) alone or by combination of their Contribution(s)
847+ with the Work to which such Contribution(s) was submitted. If You
848+ institute patent litigation against any entity (including a
849+ cross-claim or counterclaim in a lawsuit) alleging that the Work
850+ or a Contribution incorporated within the Work constitutes direct
851+ or contributory patent infringement, then any patent licenses
852+ granted to You under this License for that Work shall terminate
853+ as of the date such litigation is filed.
854+
855+ 4. Redistribution. You may reproduce and distribute copies of the
856+ Work or Derivative Works thereof in any medium, with or without
857+ modifications, and in Source or Object form, provided that You
858+ meet the following conditions:
859+
860+ (a) You must give any other recipients of the Work or
861+ Derivative Works a copy of this License; and
862+
863+ (b) You must cause any modified files to carry prominent notices
864+ stating that You changed the files; and
865+
866+ (c) You must retain, in the Source form of any Derivative Works
867+ that You distribute, all copyright, patent, trademark, and
868+ attribution notices from the Source form of the Work,
869+ excluding those notices that do not pertain to any part of
870+ the Derivative Works; and
871+
872+ (d) If the Work includes a "NOTICE" text file as part of its
873+ distribution, then any Derivative Works that You distribute must
874+ include a readable copy of the attribution notices contained
875+ within such NOTICE file, excluding those notices that do not
876+ pertain to any part of the Derivative Works, in at least one
877+ of the following places: within a NOTICE text file distributed
878+ as part of the Derivative Works; within the Source form or
879+ documentation, if provided along with the Derivative Works; or,
880+ within a display generated by the Derivative Works, if and
881+ wherever such third-party notices normally appear. The contents
882+ of the NOTICE file are for informational purposes only and
883+ do not modify the License. You may add Your own attribution
884+ notices within Derivative Works that You distribute, alongside
885+ or as an addendum to the NOTICE text from the Work, provided
886+ that such additional attribution notices cannot be construed
887+ as modifying the License.
888+
889+ You may add Your own copyright statement to Your modifications and
890+ may provide additional or different license terms and conditions
891+ for use, reproduction, or distribution of Your modifications, or
892+ for any such Derivative Works as a whole, provided Your use,
893+ reproduction, and distribution of the Work otherwise complies with
894+ the conditions stated in this License.
895+
896+ 5. Submission of Contributions. Unless You explicitly state otherwise,
897+ any Contribution intentionally submitted for inclusion in the Work
898+ by You to the Licensor shall be under the terms and conditions of
899+ this License, without any additional terms or conditions.
900+ Notwithstanding the above, nothing herein shall supersede or modify
901+ the terms of any separate license agreement you may have executed
902+ with Licensor regarding such Contributions.
903+
904+ 6. Trademarks. This License does not grant permission to use the trade
905+ names, trademarks, service marks, or product names of the Licensor,
906+ except as required for reasonable and customary use in describing the
907+ origin of the Work and reproducing the content of the NOTICE file.
908+
909+ 7. Disclaimer of Warranty. Unless required by applicable law or
910+ agreed to in writing, Licensor provides the Work (and each
911+ Contributor provides its Contributions) on an "AS IS" BASIS,
912+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
913+ implied, including, without limitation, any warranties or conditions
914+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
915+ PARTICULAR PURPOSE. You are solely responsible for determining the
916+ appropriateness of using or redistributing the Work and assume any
917+ risks associated with Your exercise of permissions under this License.
918+
919+ 8. Limitation of Liability. In no event and under no legal theory,
920+ whether in tort (including negligence), contract, or otherwise,
921+ unless required by applicable law (such as deliberate and grossly
922+ negligent acts) or agreed to in writing, shall any Contributor be
923+ liable to You for damages, including any direct, indirect, special,
924+ incidental, or consequential damages of any character arising as a
925+ result of this License or out of the use or inability to use the
926+ Work (including but not limited to damages for loss of goodwill,
927+ work stoppage, computer failure or malfunction, or any and all
928+ other commercial damages or losses), even if such Contributor
929+ has been advised of the possibility of such damages.
930+
931+ 9. Accepting Warranty or Additional Liability. While redistributing
932+ the Work or Derivative Works thereof, You may choose to offer,
933+ and charge a fee for, acceptance of support, warranty, indemnity,
934+ or other liability obligations and/or rights consistent with this
935+ License. However, in accepting such obligations, You may act only
936+ on Your own behalf and on Your sole responsibility, not on behalf
937+ of any other Contributor, and only if You agree to indemnify,
938+ defend, and hold each Contributor harmless for any liability
939+ incurred by, or claims asserted against, such Contributor by reason
940+ of your accepting any such warranty or additional liability.
941+
942+ END OF TERMS AND CONDITIONS
943
944=== added file 'BD/bundle-apache-processing-spark/README.md'
945--- BD/bundle-apache-processing-spark/README.md 1970-01-01 00:00:00 +0000
946+++ BD/bundle-apache-processing-spark/README.md 2018-09-07 10:48:48 +0000
947@@ -0,0 +1,73 @@
948+# Apache Hadoop with Spark
949+
950+This bundle provides a complete deployment of the core components of the
951+[Apache Hadoop 2.7.1](http://hadoop.apache.org/docs/r2.7.1/)
952+platform to along with [Apache Spark 1.6.1](https://spark.apache.org/).
953+These components include:
954+
955+ * NameNode (HDFS)
956+ * ResourceManager (Yarn)
957+ * Slaves (DataNode and NodeManager)
958+ * Spark
959+ - Plugin (colocated with Spark)
960+
961+Deploying this bundle gives you a fully configured and connected Apache Hadoop
962+cluster on any supported cloud, which can be easily scaled to meet workload
963+demands.
964+
965+
966+## Deploying this bundle
967+
968+In this deployment, the aforementioned components are deployed on separate
969+units. To deploy this bundle, simply use:
970+
971+ juju quickstart apache-processing-spark
972+
973+See `juju quickstart --help` for deployment options, including machine
974+constraints and how to deploy a locally modified version of `bundle.yaml`.
975+
976+The default bundle deploys three slave nodes and one node of each of
977+the other services. To scale the cluster, use:
978+
979+ juju add-unit slave -n 2
980+
981+This will add two additional slave nodes, for a total of five.
982+
983+
984+### Verify the deployment
985+
986+The services provide extended status reporting to indicate when they are ready:
987+
988+ juju status --format=tabular
989+
990+This is particularly useful when combined with `watch` to track the on-going
991+progress of the deployment:
992+
993+ watch -n 0.5 juju status --format=tabular
994+
995+The charms for each master component (namenode, resourcemanager, spark)
996+also each provide a `smoke-test` action that can be used to verify that each
997+component is functioning as expected. You can run them all and then watch the
998+action status list:
999+
1000+ juju action do namenode/0 smoke-test
1001+ juju action do resourcemanager/0 smoke-test
1002+ juju action do spark/0 smoke-test
1003+ watch -n 0.5 juju action status
1004+
1005+Eventually, all of the actions should settle to `status: completed`. If
1006+any go instead to `status: failed` then it means that component is not working
1007+as expected. You can get more information about that component's smoke test:
1008+
1009+ juju action fetch <action-id>
1010+
1011+
1012+## Contact Information
1013+
1014+- <bigdata@lists.ubuntu.com>
1015+
1016+
1017+## Help
1018+
1019+- [Juju mailing list](https://lists.ubuntu.com/mailman/listinfo/juju)
1020+- [Juju community](https://jujucharms.com/community)
1021
1022=== added file 'BD/bundle-apache-processing-spark/bundle-dev.yaml'
1023--- BD/bundle-apache-processing-spark/bundle-dev.yaml 1970-01-01 00:00:00 +0000
1024+++ BD/bundle-apache-processing-spark/bundle-dev.yaml 2018-09-07 10:48:48 +0000
1025@@ -0,0 +1,42 @@
1026+services:
1027+ namenode:
1028+ charm: cs:~bigdata-dev/trusty/apache-hadoop-namenode
1029+ num_units: 1
1030+ annotations:
1031+ gui-x: "600"
1032+ gui-y: "350"
1033+ constraints: mem=7G
1034+ resourcemanager:
1035+ charm: cs:~bigdata-dev/trusty/apache-hadoop-resourcemanager
1036+ num_units: 1
1037+ annotations:
1038+ gui-x: "600"
1039+ gui-y: "100"
1040+ constraints: mem=7G
1041+ slave:
1042+ charm: cs:~bigdata-dev/trusty/apache-hadoop-slave
1043+ num_units: 3
1044+ annotations:
1045+ gui-x: "250"
1046+ gui-y: "200"
1047+ constraints: mem=7G
1048+ plugin:
1049+ charm: cs:~bigdata-dev/trusty/apache-hadoop-plugin
1050+ annotations:
1051+ gui-x: "950"
1052+ gui-y: "200"
1053+ spark:
1054+ charm: cs:~bigdata-dev/trusty/apache-spark
1055+ num_units: 1
1056+ annotations:
1057+ gui-x: "1300"
1058+ gui-y: "200"
1059+ constraints: mem=7G
1060+series: trusty
1061+relations:
1062+ - [namenode, slave]
1063+ - [resourcemanager, slave]
1064+ - [resourcemanager, namenode]
1065+ - [plugin, namenode]
1066+ - [plugin, resourcemanager]
1067+ - [spark, plugin]
1068
1069=== added file 'BD/bundle-apache-processing-spark/bundle-local.yaml'
1070--- BD/bundle-apache-processing-spark/bundle-local.yaml 1970-01-01 00:00:00 +0000
1071+++ BD/bundle-apache-processing-spark/bundle-local.yaml 2018-09-07 10:48:48 +0000
1072@@ -0,0 +1,42 @@
1073+services:
1074+ namenode:
1075+ charm: local:trusty/apache-hadoop-namenode
1076+ num_units: 1
1077+ annotations:
1078+ gui-x: "600"
1079+ gui-y: "350"
1080+ constraints: mem=7G
1081+ resourcemanager:
1082+ charm: local:trusty/apache-hadoop-resourcemanager
1083+ num_units: 1
1084+ annotations:
1085+ gui-x: "600"
1086+ gui-y: "100"
1087+ constraints: mem=7G
1088+ slave:
1089+ charm: local:trusty/apache-hadoop-slave
1090+ num_units: 3
1091+ annotations:
1092+ gui-x: "250"
1093+ gui-y: "200"
1094+ constraints: mem=7G
1095+ plugin:
1096+ charm: local:trusty/apache-hadoop-plugin
1097+ annotations:
1098+ gui-x: "950"
1099+ gui-y: "200"
1100+ spark:
1101+ charm: local:trusty/apache-spark
1102+ num_units: 1
1103+ annotations:
1104+ gui-x: "1300"
1105+ gui-y: "200"
1106+ constraints: mem=7G
1107+series: trusty
1108+relations:
1109+ - [namenode, slave]
1110+ - [resourcemanager, slave]
1111+ - [resourcemanager, namenode]
1112+ - [plugin, namenode]
1113+ - [plugin, resourcemanager]
1114+ - [spark, plugin]
1115
1116=== added file 'BD/bundle-apache-processing-spark/bundle.yaml'
1117--- BD/bundle-apache-processing-spark/bundle.yaml 1970-01-01 00:00:00 +0000
1118+++ BD/bundle-apache-processing-spark/bundle.yaml 2018-09-07 10:48:48 +0000
1119@@ -0,0 +1,42 @@
1120+services:
1121+ namenode:
1122+ charm: cs:trusty/apache-hadoop-namenode-1
1123+ num_units: 1
1124+ annotations:
1125+ gui-x: "600"
1126+ gui-y: "350"
1127+ constraints: mem=7G
1128+ resourcemanager:
1129+ charm: cs:trusty/apache-hadoop-resourcemanager-1
1130+ num_units: 1
1131+ annotations:
1132+ gui-x: "600"
1133+ gui-y: "100"
1134+ constraints: mem=7G
1135+ slave:
1136+ charm: cs:trusty/apache-hadoop-slave-1
1137+ num_units: 2
1138+ annotations:
1139+ gui-x: "250"
1140+ gui-y: "200"
1141+ constraints: mem=7G
1142+ plugin:
1143+ charm: cs:trusty/apache-hadoop-plugin-13
1144+ annotations:
1145+ gui-x: "950"
1146+ gui-y: "200"
1147+ spark:
1148+ charm: cs:trusty/apache-spark-7
1149+ num_units: 1
1150+ annotations:
1151+ gui-x: "1300"
1152+ gui-y: "200"
1153+ constraints: mem=7G
1154+series: trusty
1155+relations:
1156+ - [namenode, slave]
1157+ - [resourcemanager, slave]
1158+ - [resourcemanager, namenode]
1159+ - [plugin, namenode]
1160+ - [plugin, resourcemanager]
1161+ - [spark, plugin]
1162
1163=== added file 'BD/bundle-apache-processing-spark/copyright'
1164--- BD/bundle-apache-processing-spark/copyright 1970-01-01 00:00:00 +0000
1165+++ BD/bundle-apache-processing-spark/copyright 2018-09-07 10:48:48 +0000
1166@@ -0,0 +1,16 @@
1167+Format: http://dep.debian.net/deps/dep5/
1168+
1169+Files: *
1170+Copyright: Copyright 2015, Canonical Ltd., All Rights Reserved.
1171+License: Apache License 2.0
1172+ Licensed under the Apache License, Version 2.0 (the "License");
1173+ you may not use this file except in compliance with the License.
1174+ You may obtain a copy of the License at
1175+ .
1176+ http://www.apache.org/licenses/LICENSE-2.0
1177+ .
1178+ Unless required by applicable law or agreed to in writing, software
1179+ distributed under the License is distributed on an "AS IS" BASIS,
1180+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1181+ See the License for the specific language governing permissions and
1182+ limitations under the License.
1183
1184=== added file 'BD/bundle-apache-processing-spark/test.yaml'
1185--- BD/bundle-apache-processing-spark/test.yaml 1970-01-01 00:00:00 +0000
1186+++ BD/bundle-apache-processing-spark/test.yaml 2018-09-07 10:48:48 +0000
1187@@ -0,0 +1,45 @@
1188+services:
1189+ zookeeper:
1190+ charm: cs:~bigdata-dev/trusty/apache-zookeeper
1191+ num_units: 3
1192+ annotations:
1193+ gui-x: "0"
1194+ gui-y: "200"
1195+ spark:
1196+ charm: cs:~bigdata-dev/trusty/apache-spark
1197+ num_units: 3
1198+ annotations:
1199+ gui-x: "250"
1200+ gui-y: "200"
1201+ constraints: mem=3G
1202+ topbeat:
1203+ charm: cs:~containers/trusty/topbeat
1204+ annotations:
1205+ gui-x: "500"
1206+ gui-y: "125"
1207+ filebeat:
1208+ charm: cs:~containers/trusty/filebeat
1209+ annotations:
1210+ gui-x: "500"
1211+ gui-y: "375"
1212+ elasticsearch:
1213+ charm: cs:trusty/elasticsearch
1214+ num_units: 1
1215+ annotations:
1216+ gui-x: "750"
1217+ gui-y: "200"
1218+ kibana:
1219+ charm: cs:~containers/trusty/kibana
1220+ num_units: 1
1221+ expose: true
1222+ annotations:
1223+ gui-x: "1000"
1224+ gui-y: "200"
1225+series: trusty
1226+relations:
1227+ - [spark, zookeeper]
1228+ - ["kibana:rest", "elasticsearch:client"]
1229+ - ["filebeat:elasticsearch", "elasticsearch:client"]
1230+ - ["filebeat:beats-host", "spark:juju-info"]
1231+ - ["topbeat:elasticsearch", "elasticsearch:client"]
1232+ - ["topbeat:beats-host", "spark:juju-info"]
1233
1234=== added directory 'BD/bundle-apache-processing-spark/tests'
1235=== added file 'BD/bundle-apache-processing-spark/tests/01-bundle.py'
1236--- BD/bundle-apache-processing-spark/tests/01-bundle.py 1970-01-01 00:00:00 +0000
1237+++ BD/bundle-apache-processing-spark/tests/01-bundle.py 2018-09-07 10:48:48 +0000
1238@@ -0,0 +1,111 @@
1239+#!/usr/bin/env python3
1240+
1241+import os
1242+import unittest
1243+
1244+import amulet
1245+import yaml
1246+
1247+
1248+class TestBundle(unittest.TestCase):
1249+ bundle_file = os.path.join(os.path.dirname(__file__), '..', 'bundle.yaml')
1250+
1251+ @classmethod
1252+ def setUpClass(cls):
1253+ cls.d = amulet.Deployment(series='trusty')
1254+ with open(cls.bundle_file) as f:
1255+ bun = f.read()
1256+ bundle = yaml.safe_load(bun)
1257+ cls.d.load(bundle)
1258+ cls.d.setup(timeout=1800)
1259+ cls.d.sentry.wait_for_messages({'spark': 'Ready'}, timeout=1800)
1260+ cls.hdfs = cls.d.sentry['namenode'][0]
1261+ cls.yarn = cls.d.sentry['resourcemanager'][0]
1262+ cls.slave = cls.d.sentry['slave'][0]
1263+ cls.spark = cls.d.sentry['spark'][0]
1264+
1265+ def test_components(self):
1266+ """
1267+ Confirm that all of the required components are up and running.
1268+ """
1269+ hdfs, retcode = self.hdfs.run("pgrep -a java")
1270+ yarn, retcode = self.yarn.run("pgrep -a java")
1271+ slave, retcode = self.slave.run("pgrep -a java")
1272+ spark, retcode = self.spark.run("pgrep -a java")
1273+
1274+ # .NameNode needs the . to differentiate it from SecondaryNameNode
1275+ assert '.NameNode' in hdfs, "NameNode not started"
1276+ assert '.NameNode' not in yarn, "NameNode should not be running on resourcemanager"
1277+ assert '.NameNode' not in slave, "NameNode should not be running on slave"
1278+ assert '.NameNode' not in spark, "NameNode should not be running on spark"
1279+
1280+ assert 'ResourceManager' in yarn, "ResourceManager not started"
1281+ assert 'ResourceManager' not in hdfs, "ResourceManager should not be running on namenode"
1282+ assert 'ResourceManager' not in slave, "ResourceManager should not be running on slave"
1283+ assert 'ResourceManager' not in spark, "ResourceManager should not be running on spark"
1284+
1285+ assert 'JobHistoryServer' in yarn, "JobHistoryServer not started"
1286+ assert 'JobHistoryServer' not in hdfs, "JobHistoryServer should not be running on namenode"
1287+ assert 'JobHistoryServer' not in slave, "JobHistoryServer should not be running on slave"
1288+ assert 'JobHistoryServer' not in spark, "JobHistoryServer should not be running on spark"
1289+
1290+ assert 'NodeManager' in slave, "NodeManager not started"
1291+ assert 'NodeManager' not in yarn, "NodeManager should not be running on resourcemanager"
1292+ assert 'NodeManager' not in hdfs, "NodeManager should not be running on namenode"
1293+ assert 'NodeManager' not in spark, "NodeManager should not be running on spark"
1294+
1295+ assert 'DataNode' in slave, "DataServer not started"
1296+ assert 'DataNode' not in yarn, "DataNode should not be running on resourcemanager"
1297+ assert 'DataNode' not in hdfs, "DataNode should not be running on namenode"
1298+ assert 'DataNode' not in spark, "DataNode should not be running on spark"
1299+
1300+ assert 'spark' in spark, 'Spark should be running on spark'
1301+
1302+ def test_hdfs_dir(self):
1303+ """
1304+ Validate admin few hadoop activities on HDFS cluster.
1305+ 1) This test validates mkdir on hdfs cluster
1306+ 2) This test validates change hdfs dir owner on the cluster
1307+ 3) This test validates setting hdfs directory access permission on the cluster
1308+
1309+ NB: These are order-dependent, so must be done as part of a single test case.
1310+ """
1311+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -mkdir -p /user/ubuntu'")
1312+ assert retcode == 0, "Created a user directory on hdfs FAILED:\n{}".format(output)
1313+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -chown ubuntu:ubuntu /user/ubuntu'")
1314+ assert retcode == 0, "Assigning an owner to hdfs directory FAILED:\n{}".format(output)
1315+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -chmod -R 755 /user/ubuntu'")
1316+ assert retcode == 0, "seting directory permission on hdfs FAILED:\n{}".format(output)
1317+
1318+ def test_yarn_mapreduce_exe(self):
1319+ """
1320+ Validate yarn mapreduce operations:
1321+ 1) validate mapreduce execution - writing to hdfs
1322+ 2) validate successful mapreduce operation after the execution
1323+ 3) validate mapreduce execution - reading and writing to hdfs
1324+ 4) validate successful mapreduce operation after the execution
1325+ 5) validate successful deletion of mapreduce operation result from hdfs
1326+
1327+ NB: These are order-dependent, so must be done as part of a single test case.
1328+ """
1329+ jar_file = '/usr/lib/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar'
1330+ test_steps = [
1331+ ('teragen', "su ubuntu -c 'hadoop jar {} teragen 10000 /user/ubuntu/teragenout'".format(jar_file)),
1332+ ('mapreduce #1', "su hdfs -c 'hdfs dfs -ls /user/ubuntu/teragenout/_SUCCESS'"),
1333+ ('terasort', "su ubuntu -c 'hadoop jar {} terasort /user/ubuntu/teragenout /user/ubuntu/terasortout'".
1334+ format(jar_file)),
1335+ ('mapreduce #2', "su hdfs -c 'hdfs dfs -ls /user/ubuntu/terasortout/_SUCCESS'"),
1336+ ('cleanup #1', "su hdfs -c 'hdfs dfs -rm -r /user/ubuntu/teragenout'"),
1337+ ('cleanup #2', "su hdfs -c 'hdfs dfs -rm -r /user/ubuntu/terasortout'"),
1338+ ]
1339+ for name, step in test_steps:
1340+ output, retcode = self.spark.run(step)
1341+ assert retcode == 0, "{} FAILED:\n{}".format(name, output)
1342+
1343+ def test_spark(self):
1344+ output, retcode = self.spark.run("su ubuntu -c 'bash -lc /home/ubuntu/sparkpi.sh 2>&1'")
1345+ assert 'Pi is roughly' in output, 'SparkPI test failed: %s' % output
1346+
1347+
1348+if __name__ == '__main__':
1349+ unittest.main()
1350
1351=== added file 'BD/bundle-apache-processing-spark/tests/tests.yaml'
1352--- BD/bundle-apache-processing-spark/tests/tests.yaml 1970-01-01 00:00:00 +0000
1353+++ BD/bundle-apache-processing-spark/tests/tests.yaml 2018-09-07 10:48:48 +0000
1354@@ -0,0 +1,3 @@
1355+reset: false
1356+packages:
1357+ - amulet
1358
1359=== added directory 'BD/bundle-bigtop-processing-mapreduce'
1360=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git'
1361=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/COMMIT_EDITMSG'
1362--- BD/bundle-bigtop-processing-mapreduce/.git/COMMIT_EDITMSG 1970-01-01 00:00:00 +0000
1363+++ BD/bundle-bigtop-processing-mapreduce/.git/COMMIT_EDITMSG 2018-09-07 10:48:48 +0000
1364@@ -0,0 +1,1 @@
1365+bump hadoop-client revno to pick up layer-basic tox changes
1366
1367=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/FETCH_HEAD'
1368--- BD/bundle-bigtop-processing-mapreduce/.git/FETCH_HEAD 1970-01-01 00:00:00 +0000
1369+++ BD/bundle-bigtop-processing-mapreduce/.git/FETCH_HEAD 2018-09-07 10:48:48 +0000
1370@@ -0,0 +1,1 @@
1371+e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 branch 'master' of github.com:juju-solutions/bundle-bigtop-processing-mapreduce
1372
1373=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/HEAD'
1374--- BD/bundle-bigtop-processing-mapreduce/.git/HEAD 1970-01-01 00:00:00 +0000
1375+++ BD/bundle-bigtop-processing-mapreduce/.git/HEAD 2018-09-07 10:48:48 +0000
1376@@ -0,0 +1,1 @@
1377+ref: refs/heads/master
1378
1379=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/ORIG_HEAD'
1380--- BD/bundle-bigtop-processing-mapreduce/.git/ORIG_HEAD 1970-01-01 00:00:00 +0000
1381+++ BD/bundle-bigtop-processing-mapreduce/.git/ORIG_HEAD 2018-09-07 10:48:48 +0000
1382@@ -0,0 +1,1 @@
1383+6c1f919df948eb4ac35cc0867e49c6a4c8c79732
1384
1385=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/branches'
1386=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/config'
1387--- BD/bundle-bigtop-processing-mapreduce/.git/config 1970-01-01 00:00:00 +0000
1388+++ BD/bundle-bigtop-processing-mapreduce/.git/config 2018-09-07 10:48:48 +0000
1389@@ -0,0 +1,13 @@
1390+[core]
1391+ repositoryformatversion = 0
1392+ filemode = true
1393+ bare = false
1394+ logallrefupdates = true
1395+ ignorecase = true
1396+ precomposeunicode = true
1397+[remote "origin"]
1398+ url = git@github.com:juju-solutions/bundle-bigtop-processing-mapreduce.git
1399+ fetch = +refs/heads/*:refs/remotes/origin/*
1400+[branch "master"]
1401+ remote = origin
1402+ merge = refs/heads/master
1403
1404=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/description'
1405--- BD/bundle-bigtop-processing-mapreduce/.git/description 1970-01-01 00:00:00 +0000
1406+++ BD/bundle-bigtop-processing-mapreduce/.git/description 2018-09-07 10:48:48 +0000
1407@@ -0,0 +1,1 @@
1408+Unnamed repository; edit this file 'description' to name the repository.
1409
1410=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/hooks'
1411=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/applypatch-msg.sample'
1412--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/applypatch-msg.sample 1970-01-01 00:00:00 +0000
1413+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/applypatch-msg.sample 2018-09-07 10:48:48 +0000
1414@@ -0,0 +1,15 @@
1415+#!/bin/sh
1416+#
1417+# An example hook script to check the commit log message taken by
1418+# applypatch from an e-mail message.
1419+#
1420+# The hook should exit with non-zero status after issuing an
1421+# appropriate message if it wants to stop the commit. The hook is
1422+# allowed to edit the commit message file.
1423+#
1424+# To enable this hook, rename this file to "applypatch-msg".
1425+
1426+. git-sh-setup
1427+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
1428+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
1429+:
1430
1431=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/commit-msg.sample'
1432--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/commit-msg.sample 1970-01-01 00:00:00 +0000
1433+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/commit-msg.sample 2018-09-07 10:48:48 +0000
1434@@ -0,0 +1,24 @@
1435+#!/bin/sh
1436+#
1437+# An example hook script to check the commit log message.
1438+# Called by "git commit" with one argument, the name of the file
1439+# that has the commit message. The hook should exit with non-zero
1440+# status after issuing an appropriate message if it wants to stop the
1441+# commit. The hook is allowed to edit the commit message file.
1442+#
1443+# To enable this hook, rename this file to "commit-msg".
1444+
1445+# Uncomment the below to add a Signed-off-by line to the message.
1446+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
1447+# hook is more suited to it.
1448+#
1449+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
1450+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
1451+
1452+# This example catches duplicate Signed-off-by lines.
1453+
1454+test "" = "$(grep '^Signed-off-by: ' "$1" |
1455+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
1456+ echo >&2 Duplicate Signed-off-by lines.
1457+ exit 1
1458+}
1459
1460=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/post-update.sample'
1461--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/post-update.sample 1970-01-01 00:00:00 +0000
1462+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/post-update.sample 2018-09-07 10:48:48 +0000
1463@@ -0,0 +1,8 @@
1464+#!/bin/sh
1465+#
1466+# An example hook script to prepare a packed repository for use over
1467+# dumb transports.
1468+#
1469+# To enable this hook, rename this file to "post-update".
1470+
1471+exec git update-server-info
1472
1473=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-applypatch.sample'
1474--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-applypatch.sample 1970-01-01 00:00:00 +0000
1475+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-applypatch.sample 2018-09-07 10:48:48 +0000
1476@@ -0,0 +1,14 @@
1477+#!/bin/sh
1478+#
1479+# An example hook script to verify what is about to be committed
1480+# by applypatch from an e-mail message.
1481+#
1482+# The hook should exit with non-zero status after issuing an
1483+# appropriate message if it wants to stop the commit.
1484+#
1485+# To enable this hook, rename this file to "pre-applypatch".
1486+
1487+. git-sh-setup
1488+precommit="$(git rev-parse --git-path hooks/pre-commit)"
1489+test -x "$precommit" && exec "$precommit" ${1+"$@"}
1490+:
1491
1492=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-commit.sample'
1493--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-commit.sample 1970-01-01 00:00:00 +0000
1494+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-commit.sample 2018-09-07 10:48:48 +0000
1495@@ -0,0 +1,49 @@
1496+#!/bin/sh
1497+#
1498+# An example hook script to verify what is about to be committed.
1499+# Called by "git commit" with no arguments. The hook should
1500+# exit with non-zero status after issuing an appropriate message if
1501+# it wants to stop the commit.
1502+#
1503+# To enable this hook, rename this file to "pre-commit".
1504+
1505+if git rev-parse --verify HEAD >/dev/null 2>&1
1506+then
1507+ against=HEAD
1508+else
1509+ # Initial commit: diff against an empty tree object
1510+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
1511+fi
1512+
1513+# If you want to allow non-ASCII filenames set this variable to true.
1514+allownonascii=$(git config --bool hooks.allownonascii)
1515+
1516+# Redirect output to stderr.
1517+exec 1>&2
1518+
1519+# Cross platform projects tend to avoid non-ASCII filenames; prevent
1520+# them from being added to the repository. We exploit the fact that the
1521+# printable range starts at the space character and ends with tilde.
1522+if [ "$allownonascii" != "true" ] &&
1523+ # Note that the use of brackets around a tr range is ok here, (it's
1524+ # even required, for portability to Solaris 10's /usr/bin/tr), since
1525+ # the square bracket bytes happen to fall in the designated range.
1526+ test $(git diff --cached --name-only --diff-filter=A -z $against |
1527+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
1528+then
1529+ cat <<\EOF
1530+Error: Attempt to add a non-ASCII file name.
1531+
1532+This can cause problems if you want to work with people on other platforms.
1533+
1534+To be portable it is advisable to rename the file.
1535+
1536+If you know what you are doing you can disable this check using:
1537+
1538+ git config hooks.allownonascii true
1539+EOF
1540+ exit 1
1541+fi
1542+
1543+# If there are whitespace errors, print the offending file names and fail.
1544+exec git diff-index --check --cached $against --
1545
1546=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-push.sample'
1547--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-push.sample 1970-01-01 00:00:00 +0000
1548+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-push.sample 2018-09-07 10:48:48 +0000
1549@@ -0,0 +1,53 @@
1550+#!/bin/sh
1551+
1552+# An example hook script to verify what is about to be pushed. Called by "git
1553+# push" after it has checked the remote status, but before anything has been
1554+# pushed. If this script exits with a non-zero status nothing will be pushed.
1555+#
1556+# This hook is called with the following parameters:
1557+#
1558+# $1 -- Name of the remote to which the push is being done
1559+# $2 -- URL to which the push is being done
1560+#
1561+# If pushing without using a named remote those arguments will be equal.
1562+#
1563+# Information about the commits which are being pushed is supplied as lines to
1564+# the standard input in the form:
1565+#
1566+# <local ref> <local sha1> <remote ref> <remote sha1>
1567+#
1568+# This sample shows how to prevent push of commits where the log message starts
1569+# with "WIP" (work in progress).
1570+
1571+remote="$1"
1572+url="$2"
1573+
1574+z40=0000000000000000000000000000000000000000
1575+
1576+while read local_ref local_sha remote_ref remote_sha
1577+do
1578+ if [ "$local_sha" = $z40 ]
1579+ then
1580+ # Handle delete
1581+ :
1582+ else
1583+ if [ "$remote_sha" = $z40 ]
1584+ then
1585+ # New branch, examine all commits
1586+ range="$local_sha"
1587+ else
1588+ # Update to existing branch, examine new commits
1589+ range="$remote_sha..$local_sha"
1590+ fi
1591+
1592+ # Check for WIP commit
1593+ commit=`git rev-list -n 1 --grep '^WIP' "$range"`
1594+ if [ -n "$commit" ]
1595+ then
1596+ echo >&2 "Found WIP commit in $local_ref, not pushing"
1597+ exit 1
1598+ fi
1599+ fi
1600+done
1601+
1602+exit 0
1603
1604=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-rebase.sample'
1605--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-rebase.sample 1970-01-01 00:00:00 +0000
1606+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/pre-rebase.sample 2018-09-07 10:48:48 +0000
1607@@ -0,0 +1,169 @@
1608+#!/bin/sh
1609+#
1610+# Copyright (c) 2006, 2008 Junio C Hamano
1611+#
1612+# The "pre-rebase" hook is run just before "git rebase" starts doing
1613+# its job, and can prevent the command from running by exiting with
1614+# non-zero status.
1615+#
1616+# The hook is called with the following parameters:
1617+#
1618+# $1 -- the upstream the series was forked from.
1619+# $2 -- the branch being rebased (or empty when rebasing the current branch).
1620+#
1621+# This sample shows how to prevent topic branches that are already
1622+# merged to 'next' branch from getting rebased, because allowing it
1623+# would result in rebasing already published history.
1624+
1625+publish=next
1626+basebranch="$1"
1627+if test "$#" = 2
1628+then
1629+ topic="refs/heads/$2"
1630+else
1631+ topic=`git symbolic-ref HEAD` ||
1632+ exit 0 ;# we do not interrupt rebasing detached HEAD
1633+fi
1634+
1635+case "$topic" in
1636+refs/heads/??/*)
1637+ ;;
1638+*)
1639+ exit 0 ;# we do not interrupt others.
1640+ ;;
1641+esac
1642+
1643+# Now we are dealing with a topic branch being rebased
1644+# on top of master. Is it OK to rebase it?
1645+
1646+# Does the topic really exist?
1647+git show-ref -q "$topic" || {
1648+ echo >&2 "No such branch $topic"
1649+ exit 1
1650+}
1651+
1652+# Is topic fully merged to master?
1653+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
1654+if test -z "$not_in_master"
1655+then
1656+ echo >&2 "$topic is fully merged to master; better remove it."
1657+ exit 1 ;# we could allow it, but there is no point.
1658+fi
1659+
1660+# Is topic ever merged to next? If so you should not be rebasing it.
1661+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
1662+only_next_2=`git rev-list ^master ${publish} | sort`
1663+if test "$only_next_1" = "$only_next_2"
1664+then
1665+ not_in_topic=`git rev-list "^$topic" master`
1666+ if test -z "$not_in_topic"
1667+ then
1668+ echo >&2 "$topic is already up-to-date with master"
1669+ exit 1 ;# we could allow it, but there is no point.
1670+ else
1671+ exit 0
1672+ fi
1673+else
1674+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
1675+ /usr/bin/perl -e '
1676+ my $topic = $ARGV[0];
1677+ my $msg = "* $topic has commits already merged to public branch:\n";
1678+ my (%not_in_next) = map {
1679+ /^([0-9a-f]+) /;
1680+ ($1 => 1);
1681+ } split(/\n/, $ARGV[1]);
1682+ for my $elem (map {
1683+ /^([0-9a-f]+) (.*)$/;
1684+ [$1 => $2];
1685+ } split(/\n/, $ARGV[2])) {
1686+ if (!exists $not_in_next{$elem->[0]}) {
1687+ if ($msg) {
1688+ print STDERR $msg;
1689+ undef $msg;
1690+ }
1691+ print STDERR " $elem->[1]\n";
1692+ }
1693+ }
1694+ ' "$topic" "$not_in_next" "$not_in_master"
1695+ exit 1
1696+fi
1697+
1698+exit 0
1699+
1700+################################################################
1701+
1702+This sample hook safeguards topic branches that have been
1703+published from being rewound.
1704+
1705+The workflow assumed here is:
1706+
1707+ * Once a topic branch forks from "master", "master" is never
1708+ merged into it again (either directly or indirectly).
1709+
1710+ * Once a topic branch is fully cooked and merged into "master",
1711+ it is deleted. If you need to build on top of it to correct
1712+ earlier mistakes, a new topic branch is created by forking at
1713+ the tip of the "master". This is not strictly necessary, but
1714+ it makes it easier to keep your history simple.
1715+
1716+ * Whenever you need to test or publish your changes to topic
1717+ branches, merge them into "next" branch.
1718+
1719+The script, being an example, hardcodes the publish branch name
1720+to be "next", but it is trivial to make it configurable via
1721+$GIT_DIR/config mechanism.
1722+
1723+With this workflow, you would want to know:
1724+
1725+(1) ... if a topic branch has ever been merged to "next". Young
1726+ topic branches can have stupid mistakes you would rather
1727+ clean up before publishing, and things that have not been
1728+ merged into other branches can be easily rebased without
1729+ affecting other people. But once it is published, you would
1730+ not want to rewind it.
1731+
1732+(2) ... if a topic branch has been fully merged to "master".
1733+ Then you can delete it. More importantly, you should not
1734+ build on top of it -- other people may already want to
1735+ change things related to the topic as patches against your
1736+ "master", so if you need further changes, it is better to
1737+ fork the topic (perhaps with the same name) afresh from the
1738+ tip of "master".
1739+
1740+Let's look at this example:
1741+
1742+ o---o---o---o---o---o---o---o---o---o "next"
1743+ / / / /
1744+ / a---a---b A / /
1745+ / / / /
1746+ / / c---c---c---c B /
1747+ / / / \ /
1748+ / / / b---b C \ /
1749+ / / / / \ /
1750+ ---o---o---o---o---o---o---o---o---o---o---o "master"
1751+
1752+
1753+A, B and C are topic branches.
1754+
1755+ * A has one fix since it was merged up to "next".
1756+
1757+ * B has finished. It has been fully merged up to "master" and "next",
1758+ and is ready to be deleted.
1759+
1760+ * C has not merged to "next" at all.
1761+
1762+We would want to allow C to be rebased, refuse A, and encourage
1763+B to be deleted.
1764+
1765+To compute (1):
1766+
1767+ git rev-list ^master ^topic next
1768+ git rev-list ^master next
1769+
1770+ if these match, topic has not merged in next at all.
1771+
1772+To compute (2):
1773+
1774+ git rev-list master..topic
1775+
1776+ if this is empty, it is fully merged to "master".
1777
1778=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/prepare-commit-msg.sample'
1779--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/prepare-commit-msg.sample 1970-01-01 00:00:00 +0000
1780+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/prepare-commit-msg.sample 2018-09-07 10:48:48 +0000
1781@@ -0,0 +1,36 @@
1782+#!/bin/sh
1783+#
1784+# An example hook script to prepare the commit log message.
1785+# Called by "git commit" with the name of the file that has the
1786+# commit message, followed by the description of the commit
1787+# message's source. The hook's purpose is to edit the commit
1788+# message file. If the hook fails with a non-zero status,
1789+# the commit is aborted.
1790+#
1791+# To enable this hook, rename this file to "prepare-commit-msg".
1792+
1793+# This hook includes three examples. The first comments out the
1794+# "Conflicts:" part of a merge commit.
1795+#
1796+# The second includes the output of "git diff --name-status -r"
1797+# into the message, just before the "git status" output. It is
1798+# commented because it doesn't cope with --amend or with squashed
1799+# commits.
1800+#
1801+# The third example adds a Signed-off-by line to the message, that can
1802+# still be edited. This is rarely a good idea.
1803+
1804+case "$2,$3" in
1805+ merge,)
1806+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
1807+
1808+# ,|template,)
1809+# /usr/bin/perl -i.bak -pe '
1810+# print "\n" . `git diff --cached --name-status -r`
1811+# if /^#/ && $first++ == 0' "$1" ;;
1812+
1813+ *) ;;
1814+esac
1815+
1816+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
1817+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
1818
1819=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/hooks/update.sample'
1820--- BD/bundle-bigtop-processing-mapreduce/.git/hooks/update.sample 1970-01-01 00:00:00 +0000
1821+++ BD/bundle-bigtop-processing-mapreduce/.git/hooks/update.sample 2018-09-07 10:48:48 +0000
1822@@ -0,0 +1,128 @@
1823+#!/bin/sh
1824+#
1825+# An example hook script to blocks unannotated tags from entering.
1826+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
1827+#
1828+# To enable this hook, rename this file to "update".
1829+#
1830+# Config
1831+# ------
1832+# hooks.allowunannotated
1833+# This boolean sets whether unannotated tags will be allowed into the
1834+# repository. By default they won't be.
1835+# hooks.allowdeletetag
1836+# This boolean sets whether deleting tags will be allowed in the
1837+# repository. By default they won't be.
1838+# hooks.allowmodifytag
1839+# This boolean sets whether a tag may be modified after creation. By default
1840+# it won't be.
1841+# hooks.allowdeletebranch
1842+# This boolean sets whether deleting branches will be allowed in the
1843+# repository. By default they won't be.
1844+# hooks.denycreatebranch
1845+# This boolean sets whether remotely creating branches will be denied
1846+# in the repository. By default this is allowed.
1847+#
1848+
1849+# --- Command line
1850+refname="$1"
1851+oldrev="$2"
1852+newrev="$3"
1853+
1854+# --- Safety check
1855+if [ -z "$GIT_DIR" ]; then
1856+ echo "Don't run this script from the command line." >&2
1857+ echo " (if you want, you could supply GIT_DIR then run" >&2
1858+ echo " $0 <ref> <oldrev> <newrev>)" >&2
1859+ exit 1
1860+fi
1861+
1862+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
1863+ echo "usage: $0 <ref> <oldrev> <newrev>" >&2
1864+ exit 1
1865+fi
1866+
1867+# --- Config
1868+allowunannotated=$(git config --bool hooks.allowunannotated)
1869+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
1870+denycreatebranch=$(git config --bool hooks.denycreatebranch)
1871+allowdeletetag=$(git config --bool hooks.allowdeletetag)
1872+allowmodifytag=$(git config --bool hooks.allowmodifytag)
1873+
1874+# check for no description
1875+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
1876+case "$projectdesc" in
1877+"Unnamed repository"* | "")
1878+ echo "*** Project description file hasn't been set" >&2
1879+ exit 1
1880+ ;;
1881+esac
1882+
1883+# --- Check types
1884+# if $newrev is 0000...0000, it's a commit to delete a ref.
1885+zero="0000000000000000000000000000000000000000"
1886+if [ "$newrev" = "$zero" ]; then
1887+ newrev_type=delete
1888+else
1889+ newrev_type=$(git cat-file -t $newrev)
1890+fi
1891+
1892+case "$refname","$newrev_type" in
1893+ refs/tags/*,commit)
1894+ # un-annotated tag
1895+ short_refname=${refname##refs/tags/}
1896+ if [ "$allowunannotated" != "true" ]; then
1897+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
1898+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
1899+ exit 1
1900+ fi
1901+ ;;
1902+ refs/tags/*,delete)
1903+ # delete tag
1904+ if [ "$allowdeletetag" != "true" ]; then
1905+ echo "*** Deleting a tag is not allowed in this repository" >&2
1906+ exit 1
1907+ fi
1908+ ;;
1909+ refs/tags/*,tag)
1910+ # annotated tag
1911+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
1912+ then
1913+ echo "*** Tag '$refname' already exists." >&2
1914+ echo "*** Modifying a tag is not allowed in this repository." >&2
1915+ exit 1
1916+ fi
1917+ ;;
1918+ refs/heads/*,commit)
1919+ # branch
1920+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
1921+ echo "*** Creating a branch is not allowed in this repository" >&2
1922+ exit 1
1923+ fi
1924+ ;;
1925+ refs/heads/*,delete)
1926+ # delete branch
1927+ if [ "$allowdeletebranch" != "true" ]; then
1928+ echo "*** Deleting a branch is not allowed in this repository" >&2
1929+ exit 1
1930+ fi
1931+ ;;
1932+ refs/remotes/*,commit)
1933+ # tracking branch
1934+ ;;
1935+ refs/remotes/*,delete)
1936+ # delete tracking branch
1937+ if [ "$allowdeletebranch" != "true" ]; then
1938+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
1939+ exit 1
1940+ fi
1941+ ;;
1942+ *)
1943+ # Anything else (is there anything else?)
1944+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
1945+ exit 1
1946+ ;;
1947+esac
1948+
1949+# --- Finished
1950+exit 0
1951
1952=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/index'
1953Binary files BD/bundle-bigtop-processing-mapreduce/.git/index 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/index 2018-09-07 10:48:48 +0000 differ
1954=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/info'
1955=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/info/exclude'
1956--- BD/bundle-bigtop-processing-mapreduce/.git/info/exclude 1970-01-01 00:00:00 +0000
1957+++ BD/bundle-bigtop-processing-mapreduce/.git/info/exclude 2018-09-07 10:48:48 +0000
1958@@ -0,0 +1,6 @@
1959+# git ls-files --others --exclude-from=.git/info/exclude
1960+# Lines that start with '#' are comments.
1961+# For a project mostly in C, the following would be a good set of
1962+# exclude patterns (uncomment them if you want to use them):
1963+# *.[oa]
1964+# *~
1965
1966=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/logs'
1967=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/logs/HEAD'
1968--- BD/bundle-bigtop-processing-mapreduce/.git/logs/HEAD 1970-01-01 00:00:00 +0000
1969+++ BD/bundle-bigtop-processing-mapreduce/.git/logs/HEAD 2018-09-07 10:48:48 +0000
1970@@ -0,0 +1,10 @@
1971+0000000000000000000000000000000000000000 c4745ce29d4516f61fd3d0012a03a5c2491c15ce Kevin W Monroe <kevin.monroe@canonical.com> 1461090839 -0500 clone: from git@github.com:juju-solutions/bundle-bigtop-processing-mapreduce.git
1972+c4745ce29d4516f61fd3d0012a03a5c2491c15ce ef01e5f5d984a507de64c8e6cb2825e7c88f0b0f Kevin W Monroe <kevin.monroe@canonical.com> 1461092303 -0500 commit: s/Hadoop/Bigtop in README; use new bigtop-slave charm; update bundle test jar location
1973+ef01e5f5d984a507de64c8e6cb2825e7c88f0b0f f76c1c1c0ec6f4491bdf5bf864ebfb718df5a69c Kevin W Monroe <kevin.monroe@canonical.com> 1461178063 +0000 pull: Fast-forward
1974+f76c1c1c0ec6f4491bdf5bf864ebfb718df5a69c 7a3b7d53b5b0ebdeb77f72cd544a23f157793ac2 Kevin W Monroe <kevin.monroe@canonical.com> 1461801321 +0000 commit: add client charm and relations
1975+7a3b7d53b5b0ebdeb77f72cd544a23f157793ac2 968afa895de6b57c4090c6862515724103439287 Kevin W Monroe <kevin.monroe@canonical.com> 1461801436 +0000 commit: remove num_units from subordinate plugin charm
1976+968afa895de6b57c4090c6862515724103439287 e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 Kevin W Monroe <kevin.monroe@canonical.com> 1461884895 +0000 commit: add ganglia monitoring
1977+e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 6c1f919df948eb4ac35cc0867e49c6a4c8c79732 Kevin W Monroe <kevin.monroe@canonical.com> 1461961084 +0000 commit: readme updates; icon adjustment; version lock main bundle
1978+6c1f919df948eb4ac35cc0867e49c6a4c8c79732 8b52eb3fad315882e6568942eb7292e84372649b Kevin W Monroe <kevin.monroe@canonical.com> 1461980226 -0500 commit: charm rev to pick up flake8 cfg; watch slave for simple ready message
1979+8b52eb3fad315882e6568942eb7292e84372649b d20d2dcd21be81f2c1a011960858c6564aef3dce Kevin W Monroe <kevin.monroe@canonical.com> 1462034846 -0500 commit: sentry on client readiness; use smoke-test actions to test bundle
1980+d20d2dcd21be81f2c1a011960858c6564aef3dce d3a493e125587dcb46f4c26ac2c107705d33a5b1 Kevin W Monroe <kevin.monroe@canonical.com> 1462302399 +0000 commit: bump hadoop-client revno to pick up layer-basic tox changes
1981
1982=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs'
1983=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/heads'
1984=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/heads/master'
1985--- BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/heads/master 1970-01-01 00:00:00 +0000
1986+++ BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/heads/master 2018-09-07 10:48:48 +0000
1987@@ -0,0 +1,10 @@
1988+0000000000000000000000000000000000000000 c4745ce29d4516f61fd3d0012a03a5c2491c15ce Kevin W Monroe <kevin.monroe@canonical.com> 1461090839 -0500 clone: from git@github.com:juju-solutions/bundle-bigtop-processing-mapreduce.git
1989+c4745ce29d4516f61fd3d0012a03a5c2491c15ce ef01e5f5d984a507de64c8e6cb2825e7c88f0b0f Kevin W Monroe <kevin.monroe@canonical.com> 1461092303 -0500 commit: s/Hadoop/Bigtop in README; use new bigtop-slave charm; update bundle test jar location
1990+ef01e5f5d984a507de64c8e6cb2825e7c88f0b0f f76c1c1c0ec6f4491bdf5bf864ebfb718df5a69c Kevin W Monroe <kevin.monroe@canonical.com> 1461178063 +0000 pull: Fast-forward
1991+f76c1c1c0ec6f4491bdf5bf864ebfb718df5a69c 7a3b7d53b5b0ebdeb77f72cd544a23f157793ac2 Kevin W Monroe <kevin.monroe@canonical.com> 1461801321 +0000 commit: add client charm and relations
1992+7a3b7d53b5b0ebdeb77f72cd544a23f157793ac2 968afa895de6b57c4090c6862515724103439287 Kevin W Monroe <kevin.monroe@canonical.com> 1461801436 +0000 commit: remove num_units from subordinate plugin charm
1993+968afa895de6b57c4090c6862515724103439287 e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 Kevin W Monroe <kevin.monroe@canonical.com> 1461884895 +0000 commit: add ganglia monitoring
1994+e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 6c1f919df948eb4ac35cc0867e49c6a4c8c79732 Kevin W Monroe <kevin.monroe@canonical.com> 1461961084 +0000 commit: readme updates; icon adjustment; version lock main bundle
1995+6c1f919df948eb4ac35cc0867e49c6a4c8c79732 8b52eb3fad315882e6568942eb7292e84372649b Kevin W Monroe <kevin.monroe@canonical.com> 1461980226 -0500 commit: charm rev to pick up flake8 cfg; watch slave for simple ready message
1996+8b52eb3fad315882e6568942eb7292e84372649b d20d2dcd21be81f2c1a011960858c6564aef3dce Kevin W Monroe <kevin.monroe@canonical.com> 1462034846 -0500 commit: sentry on client readiness; use smoke-test actions to test bundle
1997+d20d2dcd21be81f2c1a011960858c6564aef3dce d3a493e125587dcb46f4c26ac2c107705d33a5b1 Kevin W Monroe <kevin.monroe@canonical.com> 1462302399 +0000 commit: bump hadoop-client revno to pick up layer-basic tox changes
1998
1999=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes'
2000=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin'
2001=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin/HEAD'
2002--- BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin/HEAD 1970-01-01 00:00:00 +0000
2003+++ BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin/HEAD 2018-09-07 10:48:48 +0000
2004@@ -0,0 +1,1 @@
2005+0000000000000000000000000000000000000000 c4745ce29d4516f61fd3d0012a03a5c2491c15ce Kevin W Monroe <kevin.monroe@canonical.com> 1461090839 -0500 clone: from git@github.com:juju-solutions/bundle-bigtop-processing-mapreduce.git
2006
2007=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin/master'
2008--- BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin/master 1970-01-01 00:00:00 +0000
2009+++ BD/bundle-bigtop-processing-mapreduce/.git/logs/refs/remotes/origin/master 2018-09-07 10:48:48 +0000
2010@@ -0,0 +1,9 @@
2011+c4745ce29d4516f61fd3d0012a03a5c2491c15ce ef01e5f5d984a507de64c8e6cb2825e7c88f0b0f Kevin W Monroe <kevin.monroe@canonical.com> 1461092309 -0500 update by push
2012+ef01e5f5d984a507de64c8e6cb2825e7c88f0b0f f76c1c1c0ec6f4491bdf5bf864ebfb718df5a69c Kevin W Monroe <kevin.monroe@canonical.com> 1461178063 +0000 pull: fast-forward
2013+f76c1c1c0ec6f4491bdf5bf864ebfb718df5a69c 7a3b7d53b5b0ebdeb77f72cd544a23f157793ac2 Kevin W Monroe <kevin.monroe@canonical.com> 1461801324 +0000 update by push
2014+7a3b7d53b5b0ebdeb77f72cd544a23f157793ac2 968afa895de6b57c4090c6862515724103439287 Kevin W Monroe <kevin.monroe@canonical.com> 1461801439 +0000 update by push
2015+968afa895de6b57c4090c6862515724103439287 e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 Kevin W Monroe <kevin.monroe@canonical.com> 1461884898 +0000 update by push
2016+e24ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 6c1f919df948eb4ac35cc0867e49c6a4c8c79732 Kevin W Monroe <kevin.monroe@canonical.com> 1461961093 +0000 update by push
2017+6c1f919df948eb4ac35cc0867e49c6a4c8c79732 8b52eb3fad315882e6568942eb7292e84372649b Kevin W Monroe <kevin.monroe@canonical.com> 1461980230 -0500 update by push
2018+8b52eb3fad315882e6568942eb7292e84372649b d20d2dcd21be81f2c1a011960858c6564aef3dce Kevin W Monroe <kevin.monroe@canonical.com> 1462034849 -0500 update by push
2019+d20d2dcd21be81f2c1a011960858c6564aef3dce d3a493e125587dcb46f4c26ac2c107705d33a5b1 Kevin W Monroe <kevin.monroe@canonical.com> 1462302408 +0000 update by push
2020
2021=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects'
2022=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/05'
2023=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/05/2fc0dab6f44fbc775fd21e7566b05321d3ae30'
2024Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/05/2fc0dab6f44fbc775fd21e7566b05321d3ae30 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/05/2fc0dab6f44fbc775fd21e7566b05321d3ae30 2018-09-07 10:48:48 +0000 differ
2025=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/06'
2026=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/06/ade8b9a48c5f2b160cbdf1b3d62042792f5237'
2027Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/06/ade8b9a48c5f2b160cbdf1b3d62042792f5237 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/06/ade8b9a48c5f2b160cbdf1b3d62042792f5237 2018-09-07 10:48:48 +0000 differ
2028=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/08'
2029=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/08/dd10f3cce4ee2eaa30a67485afa5f5262df4b9'
2030Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/08/dd10f3cce4ee2eaa30a67485afa5f5262df4b9 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/08/dd10f3cce4ee2eaa30a67485afa5f5262df4b9 2018-09-07 10:48:48 +0000 differ
2031=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/0a'
2032=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/0a/46b2e39d69e909192d8d6d4b48747c403745ad'
2033Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/0a/46b2e39d69e909192d8d6d4b48747c403745ad 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/0a/46b2e39d69e909192d8d6d4b48747c403745ad 2018-09-07 10:48:48 +0000 differ
2034=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/0c'
2035=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/0c/823ef224758fc120a3504ac639f76412ae3027'
2036Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/0c/823ef224758fc120a3504ac639f76412ae3027 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/0c/823ef224758fc120a3504ac639f76412ae3027 2018-09-07 10:48:48 +0000 differ
2037=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/10'
2038=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/10/1c174b6febf19b9be7f88f64ce47d691f9c38f'
2039Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/10/1c174b6febf19b9be7f88f64ce47d691f9c38f 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/10/1c174b6febf19b9be7f88f64ce47d691f9c38f 2018-09-07 10:48:48 +0000 differ
2040=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/11'
2041=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/11/19822d6c8611d682f2c595961861aca5de5df0'
2042Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/11/19822d6c8611d682f2c595961861aca5de5df0 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/11/19822d6c8611d682f2c595961861aca5de5df0 2018-09-07 10:48:48 +0000 differ
2043=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/14'
2044=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/14/a9a6b0eba90b7a63697322dc52cb527f0d2bbb'
2045Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/14/a9a6b0eba90b7a63697322dc52cb527f0d2bbb 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/14/a9a6b0eba90b7a63697322dc52cb527f0d2bbb 2018-09-07 10:48:48 +0000 differ
2046=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/2d'
2047=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/2d/e44c0cb7d93d82e43b1dacc3a6095cce2e60c9'
2048Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/2d/e44c0cb7d93d82e43b1dacc3a6095cce2e60c9 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/2d/e44c0cb7d93d82e43b1dacc3a6095cce2e60c9 2018-09-07 10:48:48 +0000 differ
2049=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/31'
2050=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/31/7acbeb49cf56e568d097ab1c600e15aa1f14e0'
2051Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/31/7acbeb49cf56e568d097ab1c600e15aa1f14e0 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/31/7acbeb49cf56e568d097ab1c600e15aa1f14e0 2018-09-07 10:48:48 +0000 differ
2052=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/35'
2053=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/35/54a21e1e3ee0edc2bd6993caaf9479bf652e18'
2054Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/35/54a21e1e3ee0edc2bd6993caaf9479bf652e18 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/35/54a21e1e3ee0edc2bd6993caaf9479bf652e18 2018-09-07 10:48:48 +0000 differ
2055=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/39'
2056=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/39/fc5226714f12011b0c9a6a703ef77e9f6c375b'
2057Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/39/fc5226714f12011b0c9a6a703ef77e9f6c375b 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/39/fc5226714f12011b0c9a6a703ef77e9f6c375b 2018-09-07 10:48:48 +0000 differ
2058=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/40'
2059=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/40/8cf05ee6e8807f690e9f5b94a9fc75b8755c99'
2060Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/40/8cf05ee6e8807f690e9f5b94a9fc75b8755c99 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/40/8cf05ee6e8807f690e9f5b94a9fc75b8755c99 2018-09-07 10:48:48 +0000 differ
2061=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/45'
2062=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/45/299dcc5294caaa8a14756305af3daa466ca5de'
2063Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/45/299dcc5294caaa8a14756305af3daa466ca5de 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/45/299dcc5294caaa8a14756305af3daa466ca5de 2018-09-07 10:48:48 +0000 differ
2064=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/4f'
2065=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/4f/fafdceff509968c78afe04b1bf95b1633f713e'
2066Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/4f/fafdceff509968c78afe04b1bf95b1633f713e 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/4f/fafdceff509968c78afe04b1bf95b1633f713e 2018-09-07 10:48:48 +0000 differ
2067=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/5c'
2068=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/5c/a8439b1f41393d3ba27988773fc333a1b21aa8'
2069Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/5c/a8439b1f41393d3ba27988773fc333a1b21aa8 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/5c/a8439b1f41393d3ba27988773fc333a1b21aa8 2018-09-07 10:48:48 +0000 differ
2070=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/60'
2071=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/60/6f8a1ca7e29efddd22c6d8d3d4560695535c14'
2072Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/60/6f8a1ca7e29efddd22c6d8d3d4560695535c14 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/60/6f8a1ca7e29efddd22c6d8d3d4560695535c14 2018-09-07 10:48:48 +0000 differ
2073=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/68'
2074=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/68/a4a8940fadeb6e237edeb05e385649c090546d'
2075Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/68/a4a8940fadeb6e237edeb05e385649c090546d 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/68/a4a8940fadeb6e237edeb05e385649c090546d 2018-09-07 10:48:48 +0000 differ
2076=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/6c'
2077=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/6c/1f919df948eb4ac35cc0867e49c6a4c8c79732'
2078Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/6c/1f919df948eb4ac35cc0867e49c6a4c8c79732 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/6c/1f919df948eb4ac35cc0867e49c6a4c8c79732 2018-09-07 10:48:48 +0000 differ
2079=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/74'
2080=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/74/ed824b38947b048b98c8e45bfc94b289659e3a'
2081Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/74/ed824b38947b048b98c8e45bfc94b289659e3a 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/74/ed824b38947b048b98c8e45bfc94b289659e3a 2018-09-07 10:48:48 +0000 differ
2082=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/77'
2083=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/77/5e7c2218a293e6a65c8e2f980005ca96ce4f23'
2084Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/77/5e7c2218a293e6a65c8e2f980005ca96ce4f23 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/77/5e7c2218a293e6a65c8e2f980005ca96ce4f23 2018-09-07 10:48:48 +0000 differ
2085=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/7a'
2086=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/7a/3b7d53b5b0ebdeb77f72cd544a23f157793ac2'
2087Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/7a/3b7d53b5b0ebdeb77f72cd544a23f157793ac2 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/7a/3b7d53b5b0ebdeb77f72cd544a23f157793ac2 2018-09-07 10:48:48 +0000 differ
2088=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/80'
2089=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/80/2e99fd337cfe6737a952fb51eb54321d1a446d'
2090Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/80/2e99fd337cfe6737a952fb51eb54321d1a446d 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/80/2e99fd337cfe6737a952fb51eb54321d1a446d 2018-09-07 10:48:48 +0000 differ
2091=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/85'
2092=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/85/fa7a17339eb3409f514776620f113f46e264bc'
2093Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/85/fa7a17339eb3409f514776620f113f46e264bc 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/85/fa7a17339eb3409f514776620f113f46e264bc 2018-09-07 10:48:48 +0000 differ
2094=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/87'
2095=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/87/a58c2f1f2d529ff4f505566a07b48e28b226f6'
2096Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/87/a58c2f1f2d529ff4f505566a07b48e28b226f6 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/87/a58c2f1f2d529ff4f505566a07b48e28b226f6 2018-09-07 10:48:48 +0000 differ
2097=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/8b'
2098=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/8b/52eb3fad315882e6568942eb7292e84372649b'
2099--- BD/bundle-bigtop-processing-mapreduce/.git/objects/8b/52eb3fad315882e6568942eb7292e84372649b 1970-01-01 00:00:00 +0000
2100+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/8b/52eb3fad315882e6568942eb7292e84372649b 2018-09-07 10:48:48 +0000
2101@@ -0,0 +1,3 @@
2102+x¥ŽKn„0³ö)ú3²Áø£‰¢ÙGYgÝ4íÁcd<D¹}œ\!ËzR•
2103å”b…^ê—Z˜¡WiäQ{
2104+ƒáÁ¸Iz‹£"#%«Q¥YŠ
2105
2106o
2107©à•Ÿ‚×®YHý@$�±Ü
2108+59²Þö�Àg�s�w>ãŸð‘·’^—_¾¦?ºny‹„ë•rz¥�òNv��‹
2109¤mmg+ÿ3#hÆ’ ð 5Ã
2110i�çaÅ…
2111PxÜà
2112+Íp¬x2„öúˆi_¹8}CâãÀ‹ðÚcä
2113\ No newline at end of file
2114
2115=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/90'
2116=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/90/98695e692f7959b2ed9dee99a0532c59e07534'
2117Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/90/98695e692f7959b2ed9dee99a0532c59e07534 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/90/98695e692f7959b2ed9dee99a0532c59e07534 2018-09-07 10:48:48 +0000 differ
2118=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/96'
2119=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/96/8afa895de6b57c4090c6862515724103439287'
2120Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/96/8afa895de6b57c4090c6862515724103439287 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/96/8afa895de6b57c4090c6862515724103439287 2018-09-07 10:48:48 +0000 differ
2121=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/9a'
2122=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/9a/47aa8e0ae70a956fd00231ac1854fce29d8695'
2123Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/9a/47aa8e0ae70a956fd00231ac1854fce29d8695 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/9a/47aa8e0ae70a956fd00231ac1854fce29d8695 2018-09-07 10:48:48 +0000 differ
2124=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/a0'
2125=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/a0/c47a6ab5e4e78be7a0dfade436f63165958eb8'
2126Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/a0/c47a6ab5e4e78be7a0dfade436f63165958eb8 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/a0/c47a6ab5e4e78be7a0dfade436f63165958eb8 2018-09-07 10:48:48 +0000 differ
2127=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/a2'
2128=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/a2/ea4eac699a4b2d247e89b0f28d3fe64facd069'
2129Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/a2/ea4eac699a4b2d247e89b0f28d3fe64facd069 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/a2/ea4eac699a4b2d247e89b0f28d3fe64facd069 2018-09-07 10:48:48 +0000 differ
2130=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/b2'
2131=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/b2/26d5c0584430dde786c55524293747ee151608'
2132Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/b2/26d5c0584430dde786c55524293747ee151608 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/b2/26d5c0584430dde786c55524293747ee151608 2018-09-07 10:48:48 +0000 differ
2133=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/b3'
2134=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/b3/c797def6dc80bf4654cb2d79800fc9ce0f9691'
2135Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/b3/c797def6dc80bf4654cb2d79800fc9ce0f9691 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/b3/c797def6dc80bf4654cb2d79800fc9ce0f9691 2018-09-07 10:48:48 +0000 differ
2136=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/c8'
2137=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/c8/d5a6579541a6ec9cd14f1467908e1d446394d6'
2138Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/c8/d5a6579541a6ec9cd14f1467908e1d446394d6 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/c8/d5a6579541a6ec9cd14f1467908e1d446394d6 2018-09-07 10:48:48 +0000 differ
2139=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/d2'
2140=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/d2/0d2dcd21be81f2c1a011960858c6564aef3dce'
2141--- BD/bundle-bigtop-processing-mapreduce/.git/objects/d2/0d2dcd21be81f2c1a011960858c6564aef3dce 1970-01-01 00:00:00 +0000
2142+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/d2/0d2dcd21be81f2c1a011960858c6564aef3dce 2018-09-07 10:48:48 +0000
2143@@ -0,0 +1,3 @@
2144+x¥�ÍN1
2145„9ç)ü­ÜümVEˆ;âÌÙÉu£$‹ÄÛ“ö¸Í7òŒÆIJÉ
2146âÓhÌàY
2147+«ÅOÚ8zÖfá)б ÎÛ5áŠÎúM}Sã: D§9šym..ÍÞùŸÞ¢WÍÁšEÏXTtŒ/iðÆ?¹Â¼KmÂð|»ó¹<è5Q•šíç$å.Ök46X'tˆjºsìàÖ¨>—·_�
2148+iÏ÷/Ó–+÷~…£3ô"7>
2149î(�,µÃxp<궳ú 
2150bp
2151\ No newline at end of file
2152
2153=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/d3'
2154=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/d3/a493e125587dcb46f4c26ac2c107705d33a5b1'
2155--- BD/bundle-bigtop-processing-mapreduce/.git/objects/d3/a493e125587dcb46f4c26ac2c107705d33a5b1 1970-01-01 00:00:00 +0000
2156+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/d3/a493e125587dcb46f4c26ac2c107705d33a5b1 2018-09-07 10:48:48 +0000
2157@@ -0,0 +1,1 @@
2158+x¥�±nÄ DSóÛGw‚ÅæŒEé£Ô©—e
2159£³qø”ü}|ù…L÷^1šá²m©úá©7ÐŽ¢LÁÓ0ñ8c0Nsˆ³ 6:Ô^<Î#Ú‹ªÔ$wˆ¨#FŽh‚LfF6¤�ñNOãÄntÉl#‹¢½/¥Á»ÜS†Oø(¹�—ëƒÏÛ½1å’Ózæ²½‚
2160Z�Ö{xÖGÔa�±]þY£Â¾UX(–RO¼¦Ç�&÷\ ¨‰¯°WXéGÚ)Ð-ñ¡¿�Ê_rS¿
2161Ö`Ã
2162\ No newline at end of file
2163
2164=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/d8'
2165=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/d8/11a9bfd5bfc55fd58be92cb11a73142d27c1ec'
2166Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/d8/11a9bfd5bfc55fd58be92cb11a73142d27c1ec 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/d8/11a9bfd5bfc55fd58be92cb11a73142d27c1ec 2018-09-07 10:48:48 +0000 differ
2167=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/e2'
2168=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/e2/4ace56ba3e2b6706fa4e8aff1f2570cbe8baa1'
2169--- BD/bundle-bigtop-processing-mapreduce/.git/objects/e2/4ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 1970-01-01 00:00:00 +0000
2170+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/e2/4ace56ba3e2b6706fa4e8aff1f2570cbe8baa1 2018-09-07 10:48:48 +0000
2171@@ -0,0 +1,3 @@
2172+x¥Ž±n!DSóÛ[²à–E²,÷–ëÔ{°wAñ�…°¿ß8¿�éÞo&Ö}Ï
2173&ç¿zÖÑzF^œXñ´ˆg�VNbg\q6è‚#YH=¸Ié�xe
2174+. .ÎG«ƒŽH89ãüd�ží
2175&òŠŸý§6¸Ê+ø†[-­
2176+œ~?|Üÿè¹Ô’#ß�±îg0
2177
2178r8è5Úq¶Ë?5ŠS‚�ËvÏ
2179c:÷ÚrÙÔ†ÌRˆ
2180\ No newline at end of file
2181
2182=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/ef'
2183=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/ef/01e5f5d984a507de64c8e6cb2825e7c88f0b0f'
2184--- BD/bundle-bigtop-processing-mapreduce/.git/objects/ef/01e5f5d984a507de64c8e6cb2825e7c88f0b0f 1970-01-01 00:00:00 +0000
2185+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/ef/01e5f5d984a507de64c8e6cb2825e7c88f0b0f 2018-09-07 10:48:48 +0000
2186@@ -0,0 +1,2 @@
2187+x¥ŽMNÃ0…Yçs�¶þ‹S«¢ê†
2188ëÉÌ”;rœr}L¯Àò{ïéé£4MCkô]É" ÐùÞˆ
2189ìƒt0¼gÏ®wûÎuä”í\‹Ü̘% W‘Äv­ög¯ÏlY)mPYlɸ I×Aƒk¹¤
2190or
2191"|À)Åœî¿ÿx;Ýè‘0¦8Ž[JÓhçµ
2192+Æ*
2193Õ*ÕÔ´ÊùçM³ì^‘SšwÏÃgI3T£÷ãÓËéx€uˆòý­Ù,#^è‚yªÝÌXú5ò(Pd)ð…ÆDX†›_HMhe
2194\ No newline at end of file
2195
2196=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/f1'
2197=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/f1/73777501d036f59ac90eabfdd6bc3e591a1143'
2198Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/f1/73777501d036f59ac90eabfdd6bc3e591a1143 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/f1/73777501d036f59ac90eabfdd6bc3e591a1143 2018-09-07 10:48:48 +0000 differ
2199=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/f5'
2200=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/f5/9734e2fd52c7f713289dc6b8edaa8ca9cf3db1'
2201--- BD/bundle-bigtop-processing-mapreduce/.git/objects/f5/9734e2fd52c7f713289dc6b8edaa8ca9cf3db1 1970-01-01 00:00:00 +0000
2202+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/f5/9734e2fd52c7f713289dc6b8edaa8ca9cf3db1 2018-09-07 10:48:48 +0000
2203@@ -0,0 +1,2 @@
2204+x­SËnƒ0ì9_±â
2205JHATH=÷#ªªÚ
2206,��lƒšK¿½Æ6
2207”ª7k<û˜ÙÝS-N³äIQÙ3BU¾àØP.
2208+:¼H…²É�¨üûÄÊ5Fí÷ZvJŸ÷Ø"©hd~´h£1Òò®ùì8Ó*‡ØȹШ™à¶Ì�¼ìXô•C�
2209�å8èl —"†¯%2>djh󚽪¤Jt’Ð9–T>Þë,Á´ì5¬7¬jìÿ`©
2210›7÷l�;~.ÜLî»ÙÖ]Éøã&º¸­nâÃXý2Þä˜'5£\Ï
2211û媰f«
2212gîÁæNÅÇô–
2213%ò²f­m¹¯=¥lé[+ääù,7ôù߇•e7„™#fæ„ÁIØIZ_®-‚÷ÙƇ¿‡þa:0ÿãõ†`—Σ‹¨é§›ÿ"ÓÏb}F7Ï
2214˃ÁhÕ0“ „©ÿž2…%¯?×
2215_s¼Ž/‰á
2216\ No newline at end of file
2217
2218=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/f7'
2219=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/f7/6c1c1c0ec6f4491bdf5bf864ebfb718df5a69c'
2220--- BD/bundle-bigtop-processing-mapreduce/.git/objects/f7/6c1c1c0ec6f4491bdf5bf864ebfb718df5a69c 1970-01-01 00:00:00 +0000
2221+++ BD/bundle-bigtop-processing-mapreduce/.git/objects/f7/6c1c1c0ec6f4491bdf5bf864ebfb718df5a69c 2018-09-07 10:48:48 +0000
2222@@ -0,0 +1,1 @@
2223+xµ�AjÃ0E³Ö)æ
2224’­‘e¥]wÛ
2225ŒG£DÄ–‚=Þôôõ*äYýÇðás[–¢ÐÛxìÆ11ᙈ"9?`è-Rî‘� “˜­R$['˜1�ÑÚ!Ið
2226%ðÔÅeà³�l6´ë­­ðÓê¦TµÔ¶ÁïFwšÛß�—û‹8ëS|1ÕV
2227Ó|æ¶|‚óÁ9ŒØø°ÞZs´Ç•7L›ï”J½ÂcÞ¯¥‚6ЛÀ´×4‹ù(Wg‚
2228\ No newline at end of file
2229
2230=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/info'
2231=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/objects/pack'
2232=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/pack/pack-7b97c115f1d48546917e70fa39405343366b8425.idx'
2233Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/pack/pack-7b97c115f1d48546917e70fa39405343366b8425.idx 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/pack/pack-7b97c115f1d48546917e70fa39405343366b8425.idx 2018-09-07 10:48:48 +0000 differ
2234=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/objects/pack/pack-7b97c115f1d48546917e70fa39405343366b8425.pack'
2235Binary files BD/bundle-bigtop-processing-mapreduce/.git/objects/pack/pack-7b97c115f1d48546917e70fa39405343366b8425.pack 1970-01-01 00:00:00 +0000 and BD/bundle-bigtop-processing-mapreduce/.git/objects/pack/pack-7b97c115f1d48546917e70fa39405343366b8425.pack 2018-09-07 10:48:48 +0000 differ
2236=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/packed-refs'
2237--- BD/bundle-bigtop-processing-mapreduce/.git/packed-refs 1970-01-01 00:00:00 +0000
2238+++ BD/bundle-bigtop-processing-mapreduce/.git/packed-refs 2018-09-07 10:48:48 +0000
2239@@ -0,0 +1,2 @@
2240+# pack-refs with: peeled fully-peeled
2241+c4745ce29d4516f61fd3d0012a03a5c2491c15ce refs/remotes/origin/master
2242
2243=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/refs'
2244=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/refs/heads'
2245=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/refs/heads/master'
2246--- BD/bundle-bigtop-processing-mapreduce/.git/refs/heads/master 1970-01-01 00:00:00 +0000
2247+++ BD/bundle-bigtop-processing-mapreduce/.git/refs/heads/master 2018-09-07 10:48:48 +0000
2248@@ -0,0 +1,1 @@
2249+d3a493e125587dcb46f4c26ac2c107705d33a5b1
2250
2251=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes'
2252=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin'
2253=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin/HEAD'
2254--- BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin/HEAD 1970-01-01 00:00:00 +0000
2255+++ BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin/HEAD 2018-09-07 10:48:48 +0000
2256@@ -0,0 +1,1 @@
2257+ref: refs/remotes/origin/master
2258
2259=== added file 'BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin/master'
2260--- BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin/master 1970-01-01 00:00:00 +0000
2261+++ BD/bundle-bigtop-processing-mapreduce/.git/refs/remotes/origin/master 2018-09-07 10:48:48 +0000
2262@@ -0,0 +1,1 @@
2263+d3a493e125587dcb46f4c26ac2c107705d33a5b1
2264
2265=== added directory 'BD/bundle-bigtop-processing-mapreduce/.git/refs/tags'
2266=== added file 'BD/bundle-bigtop-processing-mapreduce/.gitignore'
2267--- BD/bundle-bigtop-processing-mapreduce/.gitignore 1970-01-01 00:00:00 +0000
2268+++ BD/bundle-bigtop-processing-mapreduce/.gitignore 2018-09-07 10:48:48 +0000
2269@@ -0,0 +1,2 @@
2270+*.pyc
2271+__pycache__
2272
2273=== added file 'BD/bundle-bigtop-processing-mapreduce/LICENSE'
2274--- BD/bundle-bigtop-processing-mapreduce/LICENSE 1970-01-01 00:00:00 +0000
2275+++ BD/bundle-bigtop-processing-mapreduce/LICENSE 2018-09-07 10:48:48 +0000
2276@@ -0,0 +1,177 @@
2277+
2278+ Apache License
2279+ Version 2.0, January 2004
2280+ http://www.apache.org/licenses/
2281+
2282+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
2283+
2284+ 1. Definitions.
2285+
2286+ "License" shall mean the terms and conditions for use, reproduction,
2287+ and distribution as defined by Sections 1 through 9 of this document.
2288+
2289+ "Licensor" shall mean the copyright owner or entity authorized by
2290+ the copyright owner that is granting the License.
2291+
2292+ "Legal Entity" shall mean the union of the acting entity and all
2293+ other entities that control, are controlled by, or are under common
2294+ control with that entity. For the purposes of this definition,
2295+ "control" means (i) the power, direct or indirect, to cause the
2296+ direction or management of such entity, whether by contract or
2297+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
2298+ outstanding shares, or (iii) beneficial ownership of such entity.
2299+
2300+ "You" (or "Your") shall mean an individual or Legal Entity
2301+ exercising permissions granted by this License.
2302+
2303+ "Source" form shall mean the preferred form for making modifications,
2304+ including but not limited to software source code, documentation
2305+ source, and configuration files.
2306+
2307+ "Object" form shall mean any form resulting from mechanical
2308+ transformation or translation of a Source form, including but
2309+ not limited to compiled object code, generated documentation,
2310+ and conversions to other media types.
2311+
2312+ "Work" shall mean the work of authorship, whether in Source or
2313+ Object form, made available under the License, as indicated by a
2314+ copyright notice that is included in or attached to the work
2315+ (an example is provided in the Appendix below).
2316+
2317+ "Derivative Works" shall mean any work, whether in Source or Object
2318+ form, that is based on (or derived from) the Work and for which the
2319+ editorial revisions, annotations, elaborations, or other modifications
2320+ represent, as a whole, an original work of authorship. For the purposes
2321+ of this License, Derivative Works shall not include works that remain
2322+ separable from, or merely link (or bind by name) to the interfaces of,
2323+ the Work and Derivative Works thereof.
2324+
2325+ "Contribution" shall mean any work of authorship, including
2326+ the original version of the Work and any modifications or additions
2327+ to that Work or Derivative Works thereof, that is intentionally
2328+ submitted to Licensor for inclusion in the Work by the copyright owner
2329+ or by an individual or Legal Entity authorized to submit on behalf of
2330+ the copyright owner. For the purposes of this definition, "submitted"
2331+ means any form of electronic, verbal, or written communication sent
2332+ to the Licensor or its representatives, including but not limited to
2333+ communication on electronic mailing lists, source code control systems,
2334+ and issue tracking systems that are managed by, or on behalf of, the
2335+ Licensor for the purpose of discussing and improving the Work, but
2336+ excluding communication that is conspicuously marked or otherwise
2337+ designated in writing by the copyright owner as "Not a Contribution."
2338+
2339+ "Contributor" shall mean Licensor and any individual or Legal Entity
2340+ on behalf of whom a Contribution has been received by Licensor and
2341+ subsequently incorporated within the Work.
2342+
2343+ 2. Grant of Copyright License. Subject to the terms and conditions of
2344+ this License, each Contributor hereby grants to You a perpetual,
2345+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2346+ copyright license to reproduce, prepare Derivative Works of,
2347+ publicly display, publicly perform, sublicense, and distribute the
2348+ Work and such Derivative Works in Source or Object form.
2349+
2350+ 3. Grant of Patent License. Subject to the terms and conditions of
2351+ this License, each Contributor hereby grants to You a perpetual,
2352+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
2353+ (except as stated in this section) patent license to make, have made,
2354+ use, offer to sell, sell, import, and otherwise transfer the Work,
2355+ where such license applies only to those patent claims licensable
2356+ by such Contributor that are necessarily infringed by their
2357+ Contribution(s) alone or by combination of their Contribution(s)
2358+ with the Work to which such Contribution(s) was submitted. If You
2359+ institute patent litigation against any entity (including a
2360+ cross-claim or counterclaim in a lawsuit) alleging that the Work
2361+ or a Contribution incorporated within the Work constitutes direct
2362+ or contributory patent infringement, then any patent licenses
2363+ granted to You under this License for that Work shall terminate
2364+ as of the date such litigation is filed.
2365+
2366+ 4. Redistribution. You may reproduce and distribute copies of the
2367+ Work or Derivative Works thereof in any medium, with or without
2368+ modifications, and in Source or Object form, provided that You
2369+ meet the following conditions:
2370+
2371+ (a) You must give any other recipients of the Work or
2372+ Derivative Works a copy of this License; and
2373+
2374+ (b) You must cause any modified files to carry prominent notices
2375+ stating that You changed the files; and
2376+
2377+ (c) You must retain, in the Source form of any Derivative Works
2378+ that You distribute, all copyright, patent, trademark, and
2379+ attribution notices from the Source form of the Work,
2380+ excluding those notices that do not pertain to any part of
2381+ the Derivative Works; and
2382+
2383+ (d) If the Work includes a "NOTICE" text file as part of its
2384+ distribution, then any Derivative Works that You distribute must
2385+ include a readable copy of the attribution notices contained
2386+ within such NOTICE file, excluding those notices that do not
2387+ pertain to any part of the Derivative Works, in at least one
2388+ of the following places: within a NOTICE text file distributed
2389+ as part of the Derivative Works; within the Source form or
2390+ documentation, if provided along with the Derivative Works; or,
2391+ within a display generated by the Derivative Works, if and
2392+ wherever such third-party notices normally appear. The contents
2393+ of the NOTICE file are for informational purposes only and
2394+ do not modify the License. You may add Your own attribution
2395+ notices within Derivative Works that You distribute, alongside
2396+ or as an addendum to the NOTICE text from the Work, provided
2397+ that such additional attribution notices cannot be construed
2398+ as modifying the License.
2399+
2400+ You may add Your own copyright statement to Your modifications and
2401+ may provide additional or different license terms and conditions
2402+ for use, reproduction, or distribution of Your modifications, or
2403+ for any such Derivative Works as a whole, provided Your use,
2404+ reproduction, and distribution of the Work otherwise complies with
2405+ the conditions stated in this License.
2406+
2407+ 5. Submission of Contributions. Unless You explicitly state otherwise,
2408+ any Contribution intentionally submitted for inclusion in the Work
2409+ by You to the Licensor shall be under the terms and conditions of
2410+ this License, without any additional terms or conditions.
2411+ Notwithstanding the above, nothing herein shall supersede or modify
2412+ the terms of any separate license agreement you may have executed
2413+ with Licensor regarding such Contributions.
2414+
2415+ 6. Trademarks. This License does not grant permission to use the trade
2416+ names, trademarks, service marks, or product names of the Licensor,
2417+ except as required for reasonable and customary use in describing the
2418+ origin of the Work and reproducing the content of the NOTICE file.
2419+
2420+ 7. Disclaimer of Warranty. Unless required by applicable law or
2421+ agreed to in writing, Licensor provides the Work (and each
2422+ Contributor provides its Contributions) on an "AS IS" BASIS,
2423+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
2424+ implied, including, without limitation, any warranties or conditions
2425+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
2426+ PARTICULAR PURPOSE. You are solely responsible for determining the
2427+ appropriateness of using or redistributing the Work and assume any
2428+ risks associated with Your exercise of permissions under this License.
2429+
2430+ 8. Limitation of Liability. In no event and under no legal theory,
2431+ whether in tort (including negligence), contract, or otherwise,
2432+ unless required by applicable law (such as deliberate and grossly
2433+ negligent acts) or agreed to in writing, shall any Contributor be
2434+ liable to You for damages, including any direct, indirect, special,
2435+ incidental, or consequential damages of any character arising as a
2436+ result of this License or out of the use or inability to use the
2437+ Work (including but not limited to damages for loss of goodwill,
2438+ work stoppage, computer failure or malfunction, or any and all
2439+ other commercial damages or losses), even if such Contributor
2440+ has been advised of the possibility of such damages.
2441+
2442+ 9. Accepting Warranty or Additional Liability. While redistributing
2443+ the Work or Derivative Works thereof, You may choose to offer,
2444+ and charge a fee for, acceptance of support, warranty, indemnity,
2445+ or other liability obligations and/or rights consistent with this
2446+ License. However, in accepting such obligations, You may act only
2447+ on Your own behalf and on Your sole responsibility, not on behalf
2448+ of any other Contributor, and only if You agree to indemnify,
2449+ defend, and hold each Contributor harmless for any liability
2450+ incurred by, or claims asserted against, such Contributor by reason
2451+ of your accepting any such warranty or additional liability.
2452+
2453+ END OF TERMS AND CONDITIONS
2454
2455=== added file 'BD/bundle-bigtop-processing-mapreduce/README.md'
2456--- BD/bundle-bigtop-processing-mapreduce/README.md 1970-01-01 00:00:00 +0000
2457+++ BD/bundle-bigtop-processing-mapreduce/README.md 2018-09-07 10:48:48 +0000
2458@@ -0,0 +1,167 @@
2459+## Overview
2460+
2461+The Apache Hadoop software library is a framework that allows for the
2462+distributed processing of large data sets across clusters of computers
2463+using a simple programming model.
2464+
2465+It is designed to scale up from single servers to thousands of machines,
2466+each offering local computation and storage. Rather than rely on hardware
2467+to deliver high-avaiability, the library itself is designed to detect
2468+and handle failures at the application layer, so delivering a
2469+highly-availabile service on top of a cluster of computers, each of
2470+which may be prone to failures.
2471+
2472+This bundle provides a complete deployment of the core components of the
2473+[Apache Bigtop](http://bigtop.apache.org/)
2474+platform to perform distributed data analytics at scale. These components
2475+include:
2476+
2477+ * NameNode (HDFS)
2478+ * ResourceManager (YARN)
2479+ * Slaves (DataNode and NodeManager)
2480+ * Client (Bigtop hadoop client)
2481+ * Plugin (subordinate cluster facilitator)
2482+
2483+Deploying this bundle gives you a fully configured and connected Apache Bigtop
2484+cluster on any supported cloud, which can be easily scaled to meet workload
2485+demands.
2486+
2487+
2488+## Deploying this bundle
2489+
2490+In this deployment, the aforementioned components are deployed on separate
2491+units. To deploy this bundle, simply use:
2492+
2493+ juju quickstart bigtop-processing-mapreduce
2494+
2495+See `juju quickstart --help` for deployment options, including machine
2496+constraints and how to deploy a locally modified version of `bundle.yaml`.
2497+
2498+The default bundle deploys three slave nodes and one node of each of
2499+the other services. To scale the cluster, use:
2500+
2501+ juju add-unit slave -n 2
2502+
2503+This will add two additional slave nodes, for a total of five.
2504+
2505+
2506+## Status and Smoke Test
2507+
2508+The services provide extended status reporting to indicate when they are ready:
2509+
2510+ juju status --format=tabular
2511+
2512+This is particularly useful when combined with `watch` to track the on-going
2513+progress of the deployment:
2514+
2515+ watch -n 0.5 juju status --format=tabular
2516+
2517+The charms for each master component (namenode, resourcemanager)
2518+also each provide a `smoke-test` action that can be used to verify that each
2519+component is functioning as expected. You can run them all and then watch the
2520+action status list:
2521+
2522+ juju action do namenode/0 smoke-test
2523+ juju action do resourcemanager/0 smoke-test
2524+ watch -n 0.5 juju action status
2525+
2526+Eventually, all of the actions should settle to `status: completed`. If
2527+any go instead to `status: failed` then it means that component is not working
2528+as expected. You can get more information about that component's smoke test:
2529+
2530+ juju action fetch <action-id>
2531+
2532+
2533+## Monitoring
2534+
2535+This bundle includes Ganglia for system-level monitoring of the namenode,
2536+resourcemanager, and slave units. Metrics are sent to a central
2537+ganglia unit for easy viewing in a browser. To view the ganglia web interface,
2538+first expose the service:
2539+
2540+ juju expose ganglia
2541+
2542+Now find the ganglia public IP address:
2543+
2544+ juju status ganglia
2545+
2546+The ganglia web interface will be available at:
2547+
2548+ http://GANGLIA_PUBLIC_IP/ganglia
2549+
2550+
2551+## Benchmarking
2552+
2553+This charm provides several benchmarks to gauge the performance of your
2554+environment.
2555+
2556+The easiest way to run the benchmarks on this service is to relate it to the
2557+[Benchmark GUI][]. You will likely also want to relate it to the
2558+[Benchmark Collector][] to have machine-level information collected during the
2559+benchmark, for a more complete picture of how the machine performed.
2560+
2561+[Benchmark GUI]: https://jujucharms.com/benchmark-gui/
2562+[Benchmark Collector]: https://jujucharms.com/benchmark-collector/
2563+
2564+However, each benchmark is also an action that can be called manually:
2565+
2566+ $ juju action do resourcemanager/0 nnbench
2567+ Action queued with id: 55887b40-116c-4020-8b35-1e28a54cc622
2568+ $ juju action fetch --wait 0 55887b40-116c-4020-8b35-1e28a54cc622
2569+
2570+ results:
2571+ meta:
2572+ composite:
2573+ direction: asc
2574+ units: secs
2575+ value: "128"
2576+ start: 2016-02-04T14:55:39Z
2577+ stop: 2016-02-04T14:57:47Z
2578+ results:
2579+ raw: '{"BAD_ID": "0", "FILE: Number of read operations": "0", "Reduce input groups":
2580+ "8", "Reduce input records": "95", "Map output bytes": "1823", "Map input records":
2581+ "12", "Combine input records": "0", "HDFS: Number of bytes read": "18635", "FILE:
2582+ Number of bytes written": "32999982", "HDFS: Number of write operations": "330",
2583+ "Combine output records": "0", "Total committed heap usage (bytes)": "3144749056",
2584+ "Bytes Written": "164", "WRONG_LENGTH": "0", "Failed Shuffles": "0", "FILE:
2585+ Number of bytes read": "27879457", "WRONG_MAP": "0", "Spilled Records": "190",
2586+ "Merged Map outputs": "72", "HDFS: Number of large read operations": "0", "Reduce
2587+ shuffle bytes": "2445", "FILE: Number of large read operations": "0", "Map output
2588+ materialized bytes": "2445", "IO_ERROR": "0", "CONNECTION": "0", "HDFS: Number
2589+ of read operations": "567", "Map output records": "95", "Reduce output records":
2590+ "8", "WRONG_REDUCE": "0", "HDFS: Number of bytes written": "27412", "GC time
2591+ elapsed (ms)": "603", "Input split bytes": "1610", "Shuffled Maps ": "72", "FILE:
2592+ Number of write operations": "0", "Bytes Read": "1490"}'
2593+ status: completed
2594+ timing:
2595+ completed: 2016-02-04 14:57:48 +0000 UTC
2596+ enqueued: 2016-02-04 14:55:14 +0000 UTC
2597+ started: 2016-02-04 14:55:27 +0000 UTC
2598+
2599+
2600+## Deploying in Network-Restricted Environments
2601+
2602+Charms can be deployed in environments with limited network access. To deploy
2603+in this environment, you will need a local mirror to serve required packages.
2604+
2605+### Mirroring Packages
2606+
2607+You can setup a local mirror for apt packages using squid-deb-proxy.
2608+For instructions on configuring juju to use this, see the
2609+[Juju Proxy Documentation](https://juju.ubuntu.com/docs/howto-proxies.html).
2610+
2611+
2612+## Contact Information
2613+
2614+- <bigdata@lists.ubuntu.com>
2615+
2616+
2617+## Resources
2618+
2619+- [Apache Bigtop](http://bigtop.apache.org/) home page
2620+- [Apache Bigtop issue tracking](http://bigtop.apache.org/issue-tracking.html)
2621+- [Apache Bigtop mailing lists](http://bigtop.apache.org/mail-lists.html)
2622+- [Juju Bigtop charms](https://jujucharms.com/q/apache/bigtop)
2623+- [Juju Bigtop bundle issues](https://github.com/juju-solutions/bundle-bigtop-processing-mapreduce/issues)
2624+- [Juju mailing list](https://lists.ubuntu.com/mailman/listinfo/juju)
2625+- [Juju community](https://jujucharms.com/community)
2626
2627=== added file 'BD/bundle-bigtop-processing-mapreduce/bundle-dev.yaml'
2628--- BD/bundle-bigtop-processing-mapreduce/bundle-dev.yaml 1970-01-01 00:00:00 +0000
2629+++ BD/bundle-bigtop-processing-mapreduce/bundle-dev.yaml 2018-09-07 10:48:48 +0000
2630@@ -0,0 +1,56 @@
2631+services:
2632+ namenode:
2633+ charm: cs:~bigdata-dev/trusty/apache-bigtop-namenode
2634+ num_units: 1
2635+ annotations:
2636+ gui-x: "500"
2637+ gui-y: "800"
2638+ constraints: mem=7G
2639+ resourcemanager:
2640+ charm: cs:~bigdata-dev/trusty/apache-bigtop-resourcemanager
2641+ num_units: 1
2642+ annotations:
2643+ gui-x: "500"
2644+ gui-y: "0"
2645+ constraints: mem=7G
2646+ slave:
2647+ charm: cs:~bigdata-dev/trusty/apache-bigtop-slave
2648+ num_units: 3
2649+ annotations:
2650+ gui-x: "0"
2651+ gui-y: "400"
2652+ constraints: mem=7G
2653+ plugin:
2654+ charm: cs:~bigdata-dev/trusty/apache-bigtop-plugin
2655+ annotations:
2656+ gui-x: "1000"
2657+ gui-y: "400"
2658+ client:
2659+ charm: cs:trusty/hadoop-client
2660+ num_units: 1
2661+ annotations:
2662+ gui-x: "1250"
2663+ gui-y: "400"
2664+ ganglia-node:
2665+ charm: cs:trusty/ganglia-node
2666+ annotations:
2667+ gui-x: "250"
2668+ gui-y: "400"
2669+ ganglia:
2670+ charm: cs:trusty/ganglia
2671+ num_units: 1
2672+ annotations:
2673+ gui-x: "750"
2674+ gui-y: "400"
2675+series: trusty
2676+relations:
2677+ - [resourcemanager, namenode]
2678+ - [namenode, slave]
2679+ - [resourcemanager, slave]
2680+ - [plugin, namenode]
2681+ - [plugin, resourcemanager]
2682+ - [client, plugin]
2683+ - ["ganglia:node", ganglia-node]
2684+ - [ganglia-node, namenode]
2685+ - [ganglia-node, resourcemanager]
2686+ - [ganglia-node, slave]
2687
2688=== added file 'BD/bundle-bigtop-processing-mapreduce/bundle-local.yaml'
2689--- BD/bundle-bigtop-processing-mapreduce/bundle-local.yaml 1970-01-01 00:00:00 +0000
2690+++ BD/bundle-bigtop-processing-mapreduce/bundle-local.yaml 2018-09-07 10:48:48 +0000
2691@@ -0,0 +1,56 @@
2692+services:
2693+ namenode:
2694+ charm: ~/charms/trusty/apache-bigtop-namenode
2695+ num_units: 1
2696+ annotations:
2697+ gui-x: "500"
2698+ gui-y: "800"
2699+ constraints: mem=7G
2700+ resourcemanager:
2701+ charm: local:trusty/apache-bigtop-resourcemanager
2702+ num_units: 1
2703+ annotations:
2704+ gui-x: "500"
2705+ gui-y: "0"
2706+ constraints: mem=7G
2707+ slave:
2708+ charm: local:trusty/apache-bigtop-slave
2709+ num_units: 3
2710+ annotations:
2711+ gui-x: "0"
2712+ gui-y: "400"
2713+ constraints: mem=7G
2714+ plugin:
2715+ charm: local:trusty/apache-bigtop-plugin
2716+ annotations:
2717+ gui-x: "1000"
2718+ gui-y: "400"
2719+ client:
2720+ charm: cs:trusty/hadoop-client
2721+ num_units: 1
2722+ annotations:
2723+ gui-x: "1250"
2724+ gui-y: "400"
2725+ ganglia-node:
2726+ charm: cs:trusty/ganglia-node
2727+ annotations:
2728+ gui-x: "250"
2729+ gui-y: "400"
2730+ ganglia:
2731+ charm: cs:trusty/ganglia
2732+ num_units: 1
2733+ annotations:
2734+ gui-x: "750"
2735+ gui-y: "400"
2736+series: trusty
2737+relations:
2738+ - [resourcemanager, namenode]
2739+ - [namenode, slave]
2740+ - [resourcemanager, slave]
2741+ - [plugin, namenode]
2742+ - [plugin, resourcemanager]
2743+ - [client, plugin]
2744+ - ["ganglia:node", ganglia-node]
2745+ - [ganglia-node, namenode]
2746+ - [ganglia-node, resourcemanager]
2747+ - [ganglia-node, slave]
2748
2749=== added file 'BD/bundle-bigtop-processing-mapreduce/bundle.yaml'
2750--- BD/bundle-bigtop-processing-mapreduce/bundle.yaml 1970-01-01 00:00:00 +0000
2751+++ BD/bundle-bigtop-processing-mapreduce/bundle.yaml 2018-09-07 10:48:48 +0000
2752@@ -0,0 +1,60 @@
2753+services:
2754+ namenode:
2755+ charm: cs:~bigdata-dev/trusty/apache-bigtop-namenode-7
2756+ num_units: 1
2757+ annotations:
2758+ gui-x: "500"
2759+ gui-y: "800"
2760+ constraints: mem=7G
2761+ resourcemanager:
2762+ charm: cs:~bigdata-dev/trusty/apache-bigtop-resourcemanager-6
2763+ num_units: 1
2764+ annotations:
2765+ gui-x: "500"
2766+ gui-y: "0"
2767+ constraints: mem=7G
2768+ slave:
2769+ charm: cs:~bigdata-dev/trusty/apache-bigtop-slave-5
2770+ num_units: 2
2771+ annotations:
2772+ gui-x: "0"
2773+ gui-y: "400"
2774+ constraints: mem=7G
2775+ plugin:
2776+ charm: cs:~bigdata-dev/trusty/apache-bigtop-plugin-3
2777+ annotations:
2778+ gui-x: "1000"
2779+ gui-y: "400"
2780+ client:
2781+ charm: cs:trusty/hadoop-client-2
2782+ num_units: 1
2783+ annotations:
2784+ gui-x: "1250"
2785+ gui-y: "400"
2786+ to:
2787+ - 'lxc:namenode/0'
2788+ ganglia-node:
2789+ charm: cs:trusty/ganglia-node-2
2790+ annotations:
2791+ gui-x: "250"
2792+ gui-y: "400"
2793+ ganglia:
2794+ charm: cs:trusty/ganglia-2
2795+ num_units: 1
2796+ annotations:
2797+ gui-x: "750"
2798+ gui-y: "400"
2799+ to:
2800+ - 'lxc:resourcemanager/0'
2801+series: trusty
2802+relations:
2803+ - [resourcemanager, namenode]
2804+ - [namenode, slave]
2805+ - [resourcemanager, slave]
2806+ - [plugin, namenode]
2807+ - [plugin, resourcemanager]
2808+ - [client, plugin]
2809+ - ["ganglia:node", ganglia-node]
2810+ - [ganglia-node, namenode]
2811+ - [ganglia-node, resourcemanager]
2812+ - [ganglia-node, slave]
2813
2814=== added file 'BD/bundle-bigtop-processing-mapreduce/copyright'
2815--- BD/bundle-bigtop-processing-mapreduce/copyright 1970-01-01 00:00:00 +0000
2816+++ BD/bundle-bigtop-processing-mapreduce/copyright 2018-09-07 10:48:48 +0000
2817@@ -0,0 +1,16 @@
2818+Format: http://dep.debian.net/deps/dep5/
2819+
2820+Files: *
2821+Copyright: Copyright 2015, Canonical Ltd., All Rights Reserved.
2822+License: Apache License 2.0
2823+ Licensed under the Apache License, Version 2.0 (the "License");
2824+ you may not use this file except in compliance with the License.
2825+ You may obtain a copy of the License at
2826+ .
2827+ http://www.apache.org/licenses/LICENSE-2.0
2828+ .
2829+ Unless required by applicable law or agreed to in writing, software
2830+ distributed under the License is distributed on an "AS IS" BASIS,
2831+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2832+ See the License for the specific language governing permissions and
2833+ limitations under the License.
2834
2835=== added directory 'BD/bundle-bigtop-processing-mapreduce/tests'
2836=== added file 'BD/bundle-bigtop-processing-mapreduce/tests/01-bundle.py'
2837--- BD/bundle-bigtop-processing-mapreduce/tests/01-bundle.py 1970-01-01 00:00:00 +0000
2838+++ BD/bundle-bigtop-processing-mapreduce/tests/01-bundle.py 2018-09-07 10:48:48 +0000
2839@@ -0,0 +1,81 @@
2840+#!/usr/bin/env python3
2841+
2842+import os
2843+import unittest
2844+
2845+import yaml
2846+import amulet
2847+
2848+
2849+class TestBundle(unittest.TestCase):
2850+ bundle_file = os.path.join(os.path.dirname(__file__), '..', 'bundle.yaml')
2851+
2852+ @classmethod
2853+ def setUpClass(cls):
2854+ # classmethod inheritance doesn't work quite right with
2855+ # setUpClass / tearDownClass, so subclasses have to manually call this
2856+ cls.d = amulet.Deployment(series='trusty')
2857+ with open(cls.bundle_file) as f:
2858+ bun = f.read()
2859+ bundle = yaml.safe_load(bun)
2860+ cls.d.load(bundle)
2861+ cls.d.setup(timeout=1800)
2862+ cls.d.sentry.wait_for_messages({'client': 'Ready'}, timeout=1800)
2863+ cls.hdfs = cls.d.sentry['namenode'][0]
2864+ cls.yarn = cls.d.sentry['resourcemanager'][0]
2865+ cls.slave = cls.d.sentry['slave'][0]
2866+ cls.client = cls.d.sentry['client'][0]
2867+
2868+ def test_components(self):
2869+ """
2870+ Confirm that all of the required components are up and running.
2871+ """
2872+ hdfs, retcode = self.hdfs.run("pgrep -a java")
2873+ yarn, retcode = self.yarn.run("pgrep -a java")
2874+ slave, retcode = self.slave.run("pgrep -a java")
2875+ client, retcode = self.client.run("pgrep -a java")
2876+
2877+ assert 'NameNode' in hdfs, "NameNode not started"
2878+ assert 'NameNode' not in yarn, "NameNode should not be running on resourcemanager"
2879+ assert 'NameNode' not in slave, "NameNode should not be running on slave"
2880+
2881+ assert 'ResourceManager' in yarn, "ResourceManager not started"
2882+ assert 'ResourceManager' not in hdfs, "ResourceManager should not be running on namenode"
2883+ assert 'ResourceManager' not in slave, "ResourceManager should not be running on slave"
2884+
2885+ assert 'JobHistoryServer' in yarn, "JobHistoryServer not started"
2886+ assert 'JobHistoryServer' not in hdfs, "JobHistoryServer should not be running on namenode"
2887+ assert 'JobHistoryServer' not in slave, "JobHistoryServer should not be running on slave"
2888+
2889+ assert 'NodeManager' in slave, "NodeManager not started"
2890+ assert 'NodeManager' not in yarn, "NodeManager should not be running on resourcemanager"
2891+ assert 'NodeManager' not in hdfs, "NodeManager should not be running on namenode"
2892+
2893+ assert 'DataNode' in slave, "DataServer not started"
2894+ assert 'DataNode' not in yarn, "DataNode should not be running on resourcemanager"
2895+ assert 'DataNode' not in hdfs, "DataNode should not be running on namenode"
2896+
2897+ def test_hdfs(self):
2898+ """Smoke test validates mkdir, ls, chmod, and rm on the hdfs cluster."""
2899+ unit_name = self.hdfs.info['unit_name']
2900+ uuid = self.d.action_do(unit_name, 'smoke-test')
2901+ result = self.d.action_fetch(uuid)
2902+ # hdfs smoke-test sets outcome=success on success
2903+ if (result['outcome'] != "success"):
2904+ error = "HDFS smoke-test failed"
2905+ amulet.raise_status(amulet.FAIL, msg=error)
2906+
2907+ def test_yarn(self):
2908+ """Smoke test validates teragen/terasort."""
2909+ unit_name = self.yarn.info['unit_name']
2910+ uuid = self.d.action_do(unit_name, 'smoke-test')
2911+ result = self.d.action_fetch(uuid)
2912+ # yarn smoke-test only returns results on failure; if result is not
2913+ # empty, the test has failed and has a 'log' key
2914+ if result:
2915+ error = "YARN smoke-test failed: %s" % result['log']
2916+ amulet.raise_status(amulet.FAIL, msg=error)
2917+
2918+
2919+if __name__ == '__main__':
2920+ unittest.main()
2921
2922=== added file 'BD/bundle-bigtop-processing-mapreduce/tests/tests.yaml'
2923--- BD/bundle-bigtop-processing-mapreduce/tests/tests.yaml 1970-01-01 00:00:00 +0000
2924+++ BD/bundle-bigtop-processing-mapreduce/tests/tests.yaml 2018-09-07 10:48:48 +0000
2925@@ -0,0 +1,4 @@
2926+reset: false
2927+packages:
2928+ - amulet
2929+ - python3-yaml
2930
2931=== added directory 'BD/bundle-realtime-syslog-analytics'
2932=== added file 'BD/bundle-realtime-syslog-analytics/.bzrignore'
2933--- BD/bundle-realtime-syslog-analytics/.bzrignore 1970-01-01 00:00:00 +0000
2934+++ BD/bundle-realtime-syslog-analytics/.bzrignore 2018-09-07 10:48:48 +0000
2935@@ -0,0 +1,1 @@
2936+local.yaml
2937
2938=== added directory 'BD/bundle-realtime-syslog-analytics/.git'
2939=== added file 'BD/bundle-realtime-syslog-analytics/.git/COMMIT_EDITMSG'
2940--- BD/bundle-realtime-syslog-analytics/.git/COMMIT_EDITMSG 1970-01-01 00:00:00 +0000
2941+++ BD/bundle-realtime-syslog-analytics/.git/COMMIT_EDITMSG 2018-09-07 10:48:48 +0000
2942@@ -0,0 +1,1 @@
2943+adding copyright
2944
2945=== added file 'BD/bundle-realtime-syslog-analytics/.git/FETCH_HEAD'
2946--- BD/bundle-realtime-syslog-analytics/.git/FETCH_HEAD 1970-01-01 00:00:00 +0000
2947+++ BD/bundle-realtime-syslog-analytics/.git/FETCH_HEAD 2018-09-07 10:48:48 +0000
2948@@ -0,0 +1,2 @@
2949+ea0af4691a4c04686b01f71586095fc5aa4a771e branch 'master' of github.com:juju-solutions/bundle-realtime-syslog-analytics
2950+e39cb301873c4806b3f6189502514884c66fcca5 not-for-merge branch 'new-suffix' of github.com:juju-solutions/bundle-realtime-syslog-analytics
2951
2952=== added file 'BD/bundle-realtime-syslog-analytics/.git/HEAD'
2953--- BD/bundle-realtime-syslog-analytics/.git/HEAD 1970-01-01 00:00:00 +0000
2954+++ BD/bundle-realtime-syslog-analytics/.git/HEAD 2018-09-07 10:48:48 +0000
2955@@ -0,0 +1,1 @@
2956+ref: refs/heads/master
2957
2958=== added file 'BD/bundle-realtime-syslog-analytics/.git/ORIG_HEAD'
2959--- BD/bundle-realtime-syslog-analytics/.git/ORIG_HEAD 1970-01-01 00:00:00 +0000
2960+++ BD/bundle-realtime-syslog-analytics/.git/ORIG_HEAD 2018-09-07 10:48:48 +0000
2961@@ -0,0 +1,1 @@
2962+bfb9fe933950a664f1854cedbb5b69233bab44c3
2963
2964=== added directory 'BD/bundle-realtime-syslog-analytics/.git/branches'
2965=== added file 'BD/bundle-realtime-syslog-analytics/.git/config'
2966--- BD/bundle-realtime-syslog-analytics/.git/config 1970-01-01 00:00:00 +0000
2967+++ BD/bundle-realtime-syslog-analytics/.git/config 2018-09-07 10:48:48 +0000
2968@@ -0,0 +1,13 @@
2969+[core]
2970+ repositoryformatversion = 0
2971+ filemode = true
2972+ bare = false
2973+ logallrefupdates = true
2974+ ignorecase = true
2975+ precomposeunicode = true
2976+[remote "origin"]
2977+ url = git@github.com:juju-solutions/bundle-realtime-syslog-analytics.git
2978+ fetch = +refs/heads/*:refs/remotes/origin/*
2979+[branch "master"]
2980+ remote = origin
2981+ merge = refs/heads/master
2982
2983=== added file 'BD/bundle-realtime-syslog-analytics/.git/description'
2984--- BD/bundle-realtime-syslog-analytics/.git/description 1970-01-01 00:00:00 +0000
2985+++ BD/bundle-realtime-syslog-analytics/.git/description 2018-09-07 10:48:48 +0000
2986@@ -0,0 +1,1 @@
2987+Unnamed repository; edit this file 'description' to name the repository.
2988
2989=== added directory 'BD/bundle-realtime-syslog-analytics/.git/hooks'
2990=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/applypatch-msg.sample'
2991--- BD/bundle-realtime-syslog-analytics/.git/hooks/applypatch-msg.sample 1970-01-01 00:00:00 +0000
2992+++ BD/bundle-realtime-syslog-analytics/.git/hooks/applypatch-msg.sample 2018-09-07 10:48:48 +0000
2993@@ -0,0 +1,15 @@
2994+#!/bin/sh
2995+#
2996+# An example hook script to check the commit log message taken by
2997+# applypatch from an e-mail message.
2998+#
2999+# The hook should exit with non-zero status after issuing an
3000+# appropriate message if it wants to stop the commit. The hook is
3001+# allowed to edit the commit message file.
3002+#
3003+# To enable this hook, rename this file to "applypatch-msg".
3004+
3005+. git-sh-setup
3006+commitmsg="$(git rev-parse --git-path hooks/commit-msg)"
3007+test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"}
3008+:
3009
3010=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/commit-msg.sample'
3011--- BD/bundle-realtime-syslog-analytics/.git/hooks/commit-msg.sample 1970-01-01 00:00:00 +0000
3012+++ BD/bundle-realtime-syslog-analytics/.git/hooks/commit-msg.sample 2018-09-07 10:48:48 +0000
3013@@ -0,0 +1,24 @@
3014+#!/bin/sh
3015+#
3016+# An example hook script to check the commit log message.
3017+# Called by "git commit" with one argument, the name of the file
3018+# that has the commit message. The hook should exit with non-zero
3019+# status after issuing an appropriate message if it wants to stop the
3020+# commit. The hook is allowed to edit the commit message file.
3021+#
3022+# To enable this hook, rename this file to "commit-msg".
3023+
3024+# Uncomment the below to add a Signed-off-by line to the message.
3025+# Doing this in a hook is a bad idea in general, but the prepare-commit-msg
3026+# hook is more suited to it.
3027+#
3028+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
3029+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
3030+
3031+# This example catches duplicate Signed-off-by lines.
3032+
3033+test "" = "$(grep '^Signed-off-by: ' "$1" |
3034+ sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || {
3035+ echo >&2 Duplicate Signed-off-by lines.
3036+ exit 1
3037+}
3038
3039=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/post-update.sample'
3040--- BD/bundle-realtime-syslog-analytics/.git/hooks/post-update.sample 1970-01-01 00:00:00 +0000
3041+++ BD/bundle-realtime-syslog-analytics/.git/hooks/post-update.sample 2018-09-07 10:48:48 +0000
3042@@ -0,0 +1,8 @@
3043+#!/bin/sh
3044+#
3045+# An example hook script to prepare a packed repository for use over
3046+# dumb transports.
3047+#
3048+# To enable this hook, rename this file to "post-update".
3049+
3050+exec git update-server-info
3051
3052=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/pre-applypatch.sample'
3053--- BD/bundle-realtime-syslog-analytics/.git/hooks/pre-applypatch.sample 1970-01-01 00:00:00 +0000
3054+++ BD/bundle-realtime-syslog-analytics/.git/hooks/pre-applypatch.sample 2018-09-07 10:48:48 +0000
3055@@ -0,0 +1,14 @@
3056+#!/bin/sh
3057+#
3058+# An example hook script to verify what is about to be committed
3059+# by applypatch from an e-mail message.
3060+#
3061+# The hook should exit with non-zero status after issuing an
3062+# appropriate message if it wants to stop the commit.
3063+#
3064+# To enable this hook, rename this file to "pre-applypatch".
3065+
3066+. git-sh-setup
3067+precommit="$(git rev-parse --git-path hooks/pre-commit)"
3068+test -x "$precommit" && exec "$precommit" ${1+"$@"}
3069+:
3070
3071=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/pre-commit.sample'
3072--- BD/bundle-realtime-syslog-analytics/.git/hooks/pre-commit.sample 1970-01-01 00:00:00 +0000
3073+++ BD/bundle-realtime-syslog-analytics/.git/hooks/pre-commit.sample 2018-09-07 10:48:48 +0000
3074@@ -0,0 +1,49 @@
3075+#!/bin/sh
3076+#
3077+# An example hook script to verify what is about to be committed.
3078+# Called by "git commit" with no arguments. The hook should
3079+# exit with non-zero status after issuing an appropriate message if
3080+# it wants to stop the commit.
3081+#
3082+# To enable this hook, rename this file to "pre-commit".
3083+
3084+if git rev-parse --verify HEAD >/dev/null 2>&1
3085+then
3086+ against=HEAD
3087+else
3088+ # Initial commit: diff against an empty tree object
3089+ against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
3090+fi
3091+
3092+# If you want to allow non-ASCII filenames set this variable to true.
3093+allownonascii=$(git config --bool hooks.allownonascii)
3094+
3095+# Redirect output to stderr.
3096+exec 1>&2
3097+
3098+# Cross platform projects tend to avoid non-ASCII filenames; prevent
3099+# them from being added to the repository. We exploit the fact that the
3100+# printable range starts at the space character and ends with tilde.
3101+if [ "$allownonascii" != "true" ] &&
3102+ # Note that the use of brackets around a tr range is ok here, (it's
3103+ # even required, for portability to Solaris 10's /usr/bin/tr), since
3104+ # the square bracket bytes happen to fall in the designated range.
3105+ test $(git diff --cached --name-only --diff-filter=A -z $against |
3106+ LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0
3107+then
3108+ cat <<\EOF
3109+Error: Attempt to add a non-ASCII file name.
3110+
3111+This can cause problems if you want to work with people on other platforms.
3112+
3113+To be portable it is advisable to rename the file.
3114+
3115+If you know what you are doing you can disable this check using:
3116+
3117+ git config hooks.allownonascii true
3118+EOF
3119+ exit 1
3120+fi
3121+
3122+# If there are whitespace errors, print the offending file names and fail.
3123+exec git diff-index --check --cached $against --
3124
3125=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/pre-push.sample'
3126--- BD/bundle-realtime-syslog-analytics/.git/hooks/pre-push.sample 1970-01-01 00:00:00 +0000
3127+++ BD/bundle-realtime-syslog-analytics/.git/hooks/pre-push.sample 2018-09-07 10:48:48 +0000
3128@@ -0,0 +1,53 @@
3129+#!/bin/sh
3130+
3131+# An example hook script to verify what is about to be pushed. Called by "git
3132+# push" after it has checked the remote status, but before anything has been
3133+# pushed. If this script exits with a non-zero status nothing will be pushed.
3134+#
3135+# This hook is called with the following parameters:
3136+#
3137+# $1 -- Name of the remote to which the push is being done
3138+# $2 -- URL to which the push is being done
3139+#
3140+# If pushing without using a named remote those arguments will be equal.
3141+#
3142+# Information about the commits which are being pushed is supplied as lines to
3143+# the standard input in the form:
3144+#
3145+# <local ref> <local sha1> <remote ref> <remote sha1>
3146+#
3147+# This sample shows how to prevent push of commits where the log message starts
3148+# with "WIP" (work in progress).
3149+
3150+remote="$1"
3151+url="$2"
3152+
3153+z40=0000000000000000000000000000000000000000
3154+
3155+while read local_ref local_sha remote_ref remote_sha
3156+do
3157+ if [ "$local_sha" = $z40 ]
3158+ then
3159+ # Handle delete
3160+ :
3161+ else
3162+ if [ "$remote_sha" = $z40 ]
3163+ then
3164+ # New branch, examine all commits
3165+ range="$local_sha"
3166+ else
3167+ # Update to existing branch, examine new commits
3168+ range="$remote_sha..$local_sha"
3169+ fi
3170+
3171+ # Check for WIP commit
3172+ commit=`git rev-list -n 1 --grep '^WIP' "$range"`
3173+ if [ -n "$commit" ]
3174+ then
3175+ echo >&2 "Found WIP commit in $local_ref, not pushing"
3176+ exit 1
3177+ fi
3178+ fi
3179+done
3180+
3181+exit 0
3182
3183=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/pre-rebase.sample'
3184--- BD/bundle-realtime-syslog-analytics/.git/hooks/pre-rebase.sample 1970-01-01 00:00:00 +0000
3185+++ BD/bundle-realtime-syslog-analytics/.git/hooks/pre-rebase.sample 2018-09-07 10:48:48 +0000
3186@@ -0,0 +1,169 @@
3187+#!/bin/sh
3188+#
3189+# Copyright (c) 2006, 2008 Junio C Hamano
3190+#
3191+# The "pre-rebase" hook is run just before "git rebase" starts doing
3192+# its job, and can prevent the command from running by exiting with
3193+# non-zero status.
3194+#
3195+# The hook is called with the following parameters:
3196+#
3197+# $1 -- the upstream the series was forked from.
3198+# $2 -- the branch being rebased (or empty when rebasing the current branch).
3199+#
3200+# This sample shows how to prevent topic branches that are already
3201+# merged to 'next' branch from getting rebased, because allowing it
3202+# would result in rebasing already published history.
3203+
3204+publish=next
3205+basebranch="$1"
3206+if test "$#" = 2
3207+then
3208+ topic="refs/heads/$2"
3209+else
3210+ topic=`git symbolic-ref HEAD` ||
3211+ exit 0 ;# we do not interrupt rebasing detached HEAD
3212+fi
3213+
3214+case "$topic" in
3215+refs/heads/??/*)
3216+ ;;
3217+*)
3218+ exit 0 ;# we do not interrupt others.
3219+ ;;
3220+esac
3221+
3222+# Now we are dealing with a topic branch being rebased
3223+# on top of master. Is it OK to rebase it?
3224+
3225+# Does the topic really exist?
3226+git show-ref -q "$topic" || {
3227+ echo >&2 "No such branch $topic"
3228+ exit 1
3229+}
3230+
3231+# Is topic fully merged to master?
3232+not_in_master=`git rev-list --pretty=oneline ^master "$topic"`
3233+if test -z "$not_in_master"
3234+then
3235+ echo >&2 "$topic is fully merged to master; better remove it."
3236+ exit 1 ;# we could allow it, but there is no point.
3237+fi
3238+
3239+# Is topic ever merged to next? If so you should not be rebasing it.
3240+only_next_1=`git rev-list ^master "^$topic" ${publish} | sort`
3241+only_next_2=`git rev-list ^master ${publish} | sort`
3242+if test "$only_next_1" = "$only_next_2"
3243+then
3244+ not_in_topic=`git rev-list "^$topic" master`
3245+ if test -z "$not_in_topic"
3246+ then
3247+ echo >&2 "$topic is already up-to-date with master"
3248+ exit 1 ;# we could allow it, but there is no point.
3249+ else
3250+ exit 0
3251+ fi
3252+else
3253+ not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"`
3254+ /usr/bin/perl -e '
3255+ my $topic = $ARGV[0];
3256+ my $msg = "* $topic has commits already merged to public branch:\n";
3257+ my (%not_in_next) = map {
3258+ /^([0-9a-f]+) /;
3259+ ($1 => 1);
3260+ } split(/\n/, $ARGV[1]);
3261+ for my $elem (map {
3262+ /^([0-9a-f]+) (.*)$/;
3263+ [$1 => $2];
3264+ } split(/\n/, $ARGV[2])) {
3265+ if (!exists $not_in_next{$elem->[0]}) {
3266+ if ($msg) {
3267+ print STDERR $msg;
3268+ undef $msg;
3269+ }
3270+ print STDERR " $elem->[1]\n";
3271+ }
3272+ }
3273+ ' "$topic" "$not_in_next" "$not_in_master"
3274+ exit 1
3275+fi
3276+
3277+exit 0
3278+
3279+################################################################
3280+
3281+This sample hook safeguards topic branches that have been
3282+published from being rewound.
3283+
3284+The workflow assumed here is:
3285+
3286+ * Once a topic branch forks from "master", "master" is never
3287+ merged into it again (either directly or indirectly).
3288+
3289+ * Once a topic branch is fully cooked and merged into "master",
3290+ it is deleted. If you need to build on top of it to correct
3291+ earlier mistakes, a new topic branch is created by forking at
3292+ the tip of the "master". This is not strictly necessary, but
3293+ it makes it easier to keep your history simple.
3294+
3295+ * Whenever you need to test or publish your changes to topic
3296+ branches, merge them into "next" branch.
3297+
3298+The script, being an example, hardcodes the publish branch name
3299+to be "next", but it is trivial to make it configurable via
3300+$GIT_DIR/config mechanism.
3301+
3302+With this workflow, you would want to know:
3303+
3304+(1) ... if a topic branch has ever been merged to "next". Young
3305+ topic branches can have stupid mistakes you would rather
3306+ clean up before publishing, and things that have not been
3307+ merged into other branches can be easily rebased without
3308+ affecting other people. But once it is published, you would
3309+ not want to rewind it.
3310+
3311+(2) ... if a topic branch has been fully merged to "master".
3312+ Then you can delete it. More importantly, you should not
3313+ build on top of it -- other people may already want to
3314+ change things related to the topic as patches against your
3315+ "master", so if you need further changes, it is better to
3316+ fork the topic (perhaps with the same name) afresh from the
3317+ tip of "master".
3318+
3319+Let's look at this example:
3320+
3321+ o---o---o---o---o---o---o---o---o---o "next"
3322+ / / / /
3323+ / a---a---b A / /
3324+ / / / /
3325+ / / c---c---c---c B /
3326+ / / / \ /
3327+ / / / b---b C \ /
3328+ / / / / \ /
3329+ ---o---o---o---o---o---o---o---o---o---o---o "master"
3330+
3331+
3332+A, B and C are topic branches.
3333+
3334+ * A has one fix since it was merged up to "next".
3335+
3336+ * B has finished. It has been fully merged up to "master" and "next",
3337+ and is ready to be deleted.
3338+
3339+ * C has not merged to "next" at all.
3340+
3341+We would want to allow C to be rebased, refuse A, and encourage
3342+B to be deleted.
3343+
3344+To compute (1):
3345+
3346+ git rev-list ^master ^topic next
3347+ git rev-list ^master next
3348+
3349+ if these match, topic has not merged in next at all.
3350+
3351+To compute (2):
3352+
3353+ git rev-list master..topic
3354+
3355+ if this is empty, it is fully merged to "master".
3356
3357=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/prepare-commit-msg.sample'
3358--- BD/bundle-realtime-syslog-analytics/.git/hooks/prepare-commit-msg.sample 1970-01-01 00:00:00 +0000
3359+++ BD/bundle-realtime-syslog-analytics/.git/hooks/prepare-commit-msg.sample 2018-09-07 10:48:48 +0000
3360@@ -0,0 +1,36 @@
3361+#!/bin/sh
3362+#
3363+# An example hook script to prepare the commit log message.
3364+# Called by "git commit" with the name of the file that has the
3365+# commit message, followed by the description of the commit
3366+# message's source. The hook's purpose is to edit the commit
3367+# message file. If the hook fails with a non-zero status,
3368+# the commit is aborted.
3369+#
3370+# To enable this hook, rename this file to "prepare-commit-msg".
3371+
3372+# This hook includes three examples. The first comments out the
3373+# "Conflicts:" part of a merge commit.
3374+#
3375+# The second includes the output of "git diff --name-status -r"
3376+# into the message, just before the "git status" output. It is
3377+# commented because it doesn't cope with --amend or with squashed
3378+# commits.
3379+#
3380+# The third example adds a Signed-off-by line to the message, that can
3381+# still be edited. This is rarely a good idea.
3382+
3383+case "$2,$3" in
3384+ merge,)
3385+ /usr/bin/perl -i.bak -ne 's/^/# /, s/^# #/#/ if /^Conflicts/ .. /#/; print' "$1" ;;
3386+
3387+# ,|template,)
3388+# /usr/bin/perl -i.bak -pe '
3389+# print "\n" . `git diff --cached --name-status -r`
3390+# if /^#/ && $first++ == 0' "$1" ;;
3391+
3392+ *) ;;
3393+esac
3394+
3395+# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p')
3396+# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1"
3397
3398=== added file 'BD/bundle-realtime-syslog-analytics/.git/hooks/update.sample'
3399--- BD/bundle-realtime-syslog-analytics/.git/hooks/update.sample 1970-01-01 00:00:00 +0000
3400+++ BD/bundle-realtime-syslog-analytics/.git/hooks/update.sample 2018-09-07 10:48:48 +0000
3401@@ -0,0 +1,128 @@
3402+#!/bin/sh
3403+#
3404+# An example hook script to blocks unannotated tags from entering.
3405+# Called by "git receive-pack" with arguments: refname sha1-old sha1-new
3406+#
3407+# To enable this hook, rename this file to "update".
3408+#
3409+# Config
3410+# ------
3411+# hooks.allowunannotated
3412+# This boolean sets whether unannotated tags will be allowed into the
3413+# repository. By default they won't be.
3414+# hooks.allowdeletetag
3415+# This boolean sets whether deleting tags will be allowed in the
3416+# repository. By default they won't be.
3417+# hooks.allowmodifytag
3418+# This boolean sets whether a tag may be modified after creation. By default
3419+# it won't be.
3420+# hooks.allowdeletebranch
3421+# This boolean sets whether deleting branches will be allowed in the
3422+# repository. By default they won't be.
3423+# hooks.denycreatebranch
3424+# This boolean sets whether remotely creating branches will be denied
3425+# in the repository. By default this is allowed.
3426+#
3427+
3428+# --- Command line
3429+refname="$1"
3430+oldrev="$2"
3431+newrev="$3"
3432+
3433+# --- Safety check
3434+if [ -z "$GIT_DIR" ]; then
3435+ echo "Don't run this script from the command line." >&2
3436+ echo " (if you want, you could supply GIT_DIR then run" >&2
3437+ echo " $0 <ref> <oldrev> <newrev>)" >&2
3438+ exit 1
3439+fi
3440+
3441+if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
3442+ echo "usage: $0 <ref> <oldrev> <newrev>" >&2
3443+ exit 1
3444+fi
3445+
3446+# --- Config
3447+allowunannotated=$(git config --bool hooks.allowunannotated)
3448+allowdeletebranch=$(git config --bool hooks.allowdeletebranch)
3449+denycreatebranch=$(git config --bool hooks.denycreatebranch)
3450+allowdeletetag=$(git config --bool hooks.allowdeletetag)
3451+allowmodifytag=$(git config --bool hooks.allowmodifytag)
3452+
3453+# check for no description
3454+projectdesc=$(sed -e '1q' "$GIT_DIR/description")
3455+case "$projectdesc" in
3456+"Unnamed repository"* | "")
3457+ echo "*** Project description file hasn't been set" >&2
3458+ exit 1
3459+ ;;
3460+esac
3461+
3462+# --- Check types
3463+# if $newrev is 0000...0000, it's a commit to delete a ref.
3464+zero="0000000000000000000000000000000000000000"
3465+if [ "$newrev" = "$zero" ]; then
3466+ newrev_type=delete
3467+else
3468+ newrev_type=$(git cat-file -t $newrev)
3469+fi
3470+
3471+case "$refname","$newrev_type" in
3472+ refs/tags/*,commit)
3473+ # un-annotated tag
3474+ short_refname=${refname##refs/tags/}
3475+ if [ "$allowunannotated" != "true" ]; then
3476+ echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
3477+ echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
3478+ exit 1
3479+ fi
3480+ ;;
3481+ refs/tags/*,delete)
3482+ # delete tag
3483+ if [ "$allowdeletetag" != "true" ]; then
3484+ echo "*** Deleting a tag is not allowed in this repository" >&2
3485+ exit 1
3486+ fi
3487+ ;;
3488+ refs/tags/*,tag)
3489+ # annotated tag
3490+ if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
3491+ then
3492+ echo "*** Tag '$refname' already exists." >&2
3493+ echo "*** Modifying a tag is not allowed in this repository." >&2
3494+ exit 1
3495+ fi
3496+ ;;
3497+ refs/heads/*,commit)
3498+ # branch
3499+ if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
3500+ echo "*** Creating a branch is not allowed in this repository" >&2
3501+ exit 1
3502+ fi
3503+ ;;
3504+ refs/heads/*,delete)
3505+ # delete branch
3506+ if [ "$allowdeletebranch" != "true" ]; then
3507+ echo "*** Deleting a branch is not allowed in this repository" >&2
3508+ exit 1
3509+ fi
3510+ ;;
3511+ refs/remotes/*,commit)
3512+ # tracking branch
3513+ ;;
3514+ refs/remotes/*,delete)
3515+ # delete tracking branch
3516+ if [ "$allowdeletebranch" != "true" ]; then
3517+ echo "*** Deleting a tracking branch is not allowed in this repository" >&2
3518+ exit 1
3519+ fi
3520+ ;;
3521+ *)
3522+ # Anything else (is there anything else?)
3523+ echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
3524+ exit 1
3525+ ;;
3526+esac
3527+
3528+# --- Finished
3529+exit 0
3530
3531=== added file 'BD/bundle-realtime-syslog-analytics/.git/index'
3532Binary files BD/bundle-realtime-syslog-analytics/.git/index 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/index 2018-09-07 10:48:48 +0000 differ
3533=== added directory 'BD/bundle-realtime-syslog-analytics/.git/info'
3534=== added file 'BD/bundle-realtime-syslog-analytics/.git/info/exclude'
3535--- BD/bundle-realtime-syslog-analytics/.git/info/exclude 1970-01-01 00:00:00 +0000
3536+++ BD/bundle-realtime-syslog-analytics/.git/info/exclude 2018-09-07 10:48:48 +0000
3537@@ -0,0 +1,6 @@
3538+# git ls-files --others --exclude-from=.git/info/exclude
3539+# Lines that start with '#' are comments.
3540+# For a project mostly in C, the following would be a good set of
3541+# exclude patterns (uncomment them if you want to use them):
3542+# *.[oa]
3543+# *~
3544
3545=== added directory 'BD/bundle-realtime-syslog-analytics/.git/logs'
3546=== added file 'BD/bundle-realtime-syslog-analytics/.git/logs/HEAD'
3547--- BD/bundle-realtime-syslog-analytics/.git/logs/HEAD 1970-01-01 00:00:00 +0000
3548+++ BD/bundle-realtime-syslog-analytics/.git/logs/HEAD 2018-09-07 10:48:48 +0000
3549@@ -0,0 +1,12 @@
3550+0000000000000000000000000000000000000000 b5c0886a4331e1ac2e9abd53b441adf1f09241cb Kevin W Monroe <kevin.monroe@canonical.com> 1458228187 -0500 clone: from git@github.com:juju-solutions/bundle-realtime-syslog-analytics.git
3551+b5c0886a4331e1ac2e9abd53b441adf1f09241cb b5c0886a4331e1ac2e9abd53b441adf1f09241cb Kevin W Monroe <kevin.monroe@canonical.com> 1458228345 -0500 checkout: moving from master to new-suffix
3552+b5c0886a4331e1ac2e9abd53b441adf1f09241cb e39cb301873c4806b3f6189502514884c66fcca5 Kevin W Monroe <kevin.monroe@canonical.com> 1458229165 -0500 commit: update flume related test
3553+e39cb301873c4806b3f6189502514884c66fcca5 b5c0886a4331e1ac2e9abd53b441adf1f09241cb Kevin W Monroe <kevin.monroe@canonical.com> 1458750614 +0000 checkout: moving from new-suffix to master
3554+b5c0886a4331e1ac2e9abd53b441adf1f09241cb e3495ebd2af1a421cd2e914b96693aa52146e696 Kevin W Monroe <kevin.monroe@canonical.com> 1458750625 +0000 pull: Fast-forward
3555+e3495ebd2af1a421cd2e914b96693aa52146e696 bb58331872606ec73ac58c325e775b7258e85b66 Kevin W Monroe <kevin.monroe@canonical.com> 1458924227 +0000 pull: Fast-forward
3556+bb58331872606ec73ac58c325e775b7258e85b66 c543df5854830b648cd211b2d53633178961b41e Kevin W Monroe <kevin.monroe@canonical.com> 1459460485 +0000 pull: Fast-forward
3557+c543df5854830b648cd211b2d53633178961b41e f7f9c044c497b9076a8e1c567f59c07a2356dfb1 Kevin W Monroe <kevin.monroe@canonical.com> 1459467307 +0000 commit: use promulgated charm revs
3558+f7f9c044c497b9076a8e1c567f59c07a2356dfb1 bfb9fe933950a664f1854cedbb5b69233bab44c3 Kevin W Monroe <kevin.monroe@canonical.com> 1459975717 +0000 commit: format and count better
3559+bfb9fe933950a664f1854cedbb5b69233bab44c3 2fb27e7997577b645b34086e4f6c5539e453ab67 Kevin W Monroe <kevin.monroe@canonical.com> 1459975722 +0000 pull: Merge made by the 'recursive' strategy.
3560+2fb27e7997577b645b34086e4f6c5539e453ab67 ff191c971fc7b7daaa8e2d68812da49e5055beef Kevin W Monroe <kevin.monroe@canonical.com> 1459975754 +0000 commit: adding .gitignore
3561+ff191c971fc7b7daaa8e2d68812da49e5055beef 647ac77b0a4b9378ac14150a0701cb7154fd046b Kevin W Monroe <kevin.monroe@canonical.com> 1459975888 +0000 commit: adding copyright
3562
3563=== added directory 'BD/bundle-realtime-syslog-analytics/.git/logs/refs'
3564=== added directory 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads'
3565=== added file 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads/master'
3566--- BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads/master 1970-01-01 00:00:00 +0000
3567+++ BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads/master 2018-09-07 10:48:48 +0000
3568@@ -0,0 +1,9 @@
3569+0000000000000000000000000000000000000000 b5c0886a4331e1ac2e9abd53b441adf1f09241cb Kevin W Monroe <kevin.monroe@canonical.com> 1458228187 -0500 clone: from git@github.com:juju-solutions/bundle-realtime-syslog-analytics.git
3570+b5c0886a4331e1ac2e9abd53b441adf1f09241cb e3495ebd2af1a421cd2e914b96693aa52146e696 Kevin W Monroe <kevin.monroe@canonical.com> 1458750625 +0000 pull: Fast-forward
3571+e3495ebd2af1a421cd2e914b96693aa52146e696 bb58331872606ec73ac58c325e775b7258e85b66 Kevin W Monroe <kevin.monroe@canonical.com> 1458924227 +0000 pull: Fast-forward
3572+bb58331872606ec73ac58c325e775b7258e85b66 c543df5854830b648cd211b2d53633178961b41e Kevin W Monroe <kevin.monroe@canonical.com> 1459460485 +0000 pull: Fast-forward
3573+c543df5854830b648cd211b2d53633178961b41e f7f9c044c497b9076a8e1c567f59c07a2356dfb1 Kevin W Monroe <kevin.monroe@canonical.com> 1459467307 +0000 commit: use promulgated charm revs
3574+f7f9c044c497b9076a8e1c567f59c07a2356dfb1 bfb9fe933950a664f1854cedbb5b69233bab44c3 Kevin W Monroe <kevin.monroe@canonical.com> 1459975717 +0000 commit: format and count better
3575+bfb9fe933950a664f1854cedbb5b69233bab44c3 2fb27e7997577b645b34086e4f6c5539e453ab67 Kevin W Monroe <kevin.monroe@canonical.com> 1459975722 +0000 pull: Merge made by the 'recursive' strategy.
3576+2fb27e7997577b645b34086e4f6c5539e453ab67 ff191c971fc7b7daaa8e2d68812da49e5055beef Kevin W Monroe <kevin.monroe@canonical.com> 1459975754 +0000 commit: adding .gitignore
3577+ff191c971fc7b7daaa8e2d68812da49e5055beef 647ac77b0a4b9378ac14150a0701cb7154fd046b Kevin W Monroe <kevin.monroe@canonical.com> 1459975888 +0000 commit: adding copyright
3578
3579=== added file 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads/new-suffix'
3580--- BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads/new-suffix 1970-01-01 00:00:00 +0000
3581+++ BD/bundle-realtime-syslog-analytics/.git/logs/refs/heads/new-suffix 2018-09-07 10:48:48 +0000
3582@@ -0,0 +1,2 @@
3583+0000000000000000000000000000000000000000 b5c0886a4331e1ac2e9abd53b441adf1f09241cb Kevin W Monroe <kevin.monroe@canonical.com> 1458228345 -0500 branch: Created from HEAD
3584+b5c0886a4331e1ac2e9abd53b441adf1f09241cb e39cb301873c4806b3f6189502514884c66fcca5 Kevin W Monroe <kevin.monroe@canonical.com> 1458229165 -0500 commit: update flume related test
3585
3586=== added directory 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes'
3587=== added directory 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin'
3588=== added file 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/HEAD'
3589--- BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/HEAD 1970-01-01 00:00:00 +0000
3590+++ BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/HEAD 2018-09-07 10:48:48 +0000
3591@@ -0,0 +1,1 @@
3592+0000000000000000000000000000000000000000 b5c0886a4331e1ac2e9abd53b441adf1f09241cb Kevin W Monroe <kevin.monroe@canonical.com> 1458228187 -0500 clone: from git@github.com:juju-solutions/bundle-realtime-syslog-analytics.git
3593
3594=== added file 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/master'
3595--- BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/master 1970-01-01 00:00:00 +0000
3596+++ BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/master 2018-09-07 10:48:48 +0000
3597@@ -0,0 +1,7 @@
3598+b5c0886a4331e1ac2e9abd53b441adf1f09241cb e3495ebd2af1a421cd2e914b96693aa52146e696 Kevin W Monroe <kevin.monroe@canonical.com> 1458750585 +0000 fetch --append origin: fast-forward
3599+e3495ebd2af1a421cd2e914b96693aa52146e696 bb58331872606ec73ac58c325e775b7258e85b66 Kevin W Monroe <kevin.monroe@canonical.com> 1458924227 +0000 pull: fast-forward
3600+bb58331872606ec73ac58c325e775b7258e85b66 c543df5854830b648cd211b2d53633178961b41e Kevin W Monroe <kevin.monroe@canonical.com> 1459460485 +0000 pull: fast-forward
3601+c543df5854830b648cd211b2d53633178961b41e f7f9c044c497b9076a8e1c567f59c07a2356dfb1 Kevin W Monroe <kevin.monroe@canonical.com> 1459467310 +0000 update by push
3602+f7f9c044c497b9076a8e1c567f59c07a2356dfb1 ea0af4691a4c04686b01f71586095fc5aa4a771e Kevin W Monroe <kevin.monroe@canonical.com> 1459975616 +0000 pull: fast-forward
3603+ea0af4691a4c04686b01f71586095fc5aa4a771e ff191c971fc7b7daaa8e2d68812da49e5055beef Kevin W Monroe <kevin.monroe@canonical.com> 1459975777 +0000 update by push
3604+ff191c971fc7b7daaa8e2d68812da49e5055beef 647ac77b0a4b9378ac14150a0701cb7154fd046b Kevin W Monroe <kevin.monroe@canonical.com> 1459975894 +0000 update by push
3605
3606=== added file 'BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/new-suffix'
3607--- BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/new-suffix 1970-01-01 00:00:00 +0000
3608+++ BD/bundle-realtime-syslog-analytics/.git/logs/refs/remotes/origin/new-suffix 2018-09-07 10:48:48 +0000
3609@@ -0,0 +1,1 @@
3610+0000000000000000000000000000000000000000 e39cb301873c4806b3f6189502514884c66fcca5 Kevin W Monroe <kevin.monroe@canonical.com> 1458229224 -0500 update by push
3611
3612=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects'
3613=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/00'
3614=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/00/f13c8ed205d676bc94a1ce35c7596ace8510d6'
3615Binary files BD/bundle-realtime-syslog-analytics/.git/objects/00/f13c8ed205d676bc94a1ce35c7596ace8510d6 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/00/f13c8ed205d676bc94a1ce35c7596ace8510d6 2018-09-07 10:48:48 +0000 differ
3616=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/06'
3617=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/06/a6fa3fc4140be1eca313fa341c4d426ac39a0a'
3618Binary files BD/bundle-realtime-syslog-analytics/.git/objects/06/a6fa3fc4140be1eca313fa341c4d426ac39a0a 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/06/a6fa3fc4140be1eca313fa341c4d426ac39a0a 2018-09-07 10:48:48 +0000 differ
3619=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/0a'
3620=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/0a/2a4478df3063e79ea9509ffcc10acec07141cf'
3621Binary files BD/bundle-realtime-syslog-analytics/.git/objects/0a/2a4478df3063e79ea9509ffcc10acec07141cf 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/0a/2a4478df3063e79ea9509ffcc10acec07141cf 2018-09-07 10:48:48 +0000 differ
3622=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/0a/b9fe7031282210d1d75888becc82b5a1feeba7'
3623Binary files BD/bundle-realtime-syslog-analytics/.git/objects/0a/b9fe7031282210d1d75888becc82b5a1feeba7 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/0a/b9fe7031282210d1d75888becc82b5a1feeba7 2018-09-07 10:48:48 +0000 differ
3624=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/15'
3625=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/15/61d12b36e6d0fec96c9ff3fcd3feb0ea25ccda'
3626--- BD/bundle-realtime-syslog-analytics/.git/objects/15/61d12b36e6d0fec96c9ff3fcd3feb0ea25ccda 1970-01-01 00:00:00 +0000
3627+++ BD/bundle-realtime-syslog-analytics/.git/objects/15/61d12b36e6d0fec96c9ff3fcd3feb0ea25ccda 2018-09-07 10:48:48 +0000
3628@@ -0,0 +1,2 @@
3629+x•ŽKjÃ@
3630@»žSè)3öü
3631!´d×#t'�¤Æmlg²Èí›
3632¡«
3633¼fË2w¢é»L¢§V4c¥Ax”‚Q5µ9Ô2hÖ¤˜Èm¸ËÚaœX�13RJD‚ÂHT¸†©`�^CÂìðÞ/¶ÃÙö|Øe½Áñû
3634ß¾œ¯¯Í–„˜ê‡š
3635|ôÞ=íó¯ËÿK÷Î,
3636]n
3637LáS¶M®ó
3638+«u!³÷
3639]>N\
3640\ No newline at end of file
3641
3642=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/25'
3643=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/25/d6138a8673045849de4172b1f2c1c1fd4aeb65'
3644Binary files BD/bundle-realtime-syslog-analytics/.git/objects/25/d6138a8673045849de4172b1f2c1c1fd4aeb65 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/25/d6138a8673045849de4172b1f2c1c1fd4aeb65 2018-09-07 10:48:48 +0000 differ
3645=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/28'
3646=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/28/1d349cf286139cfe503266a1fe9bbc0883a28f'
3647Binary files BD/bundle-realtime-syslog-analytics/.git/objects/28/1d349cf286139cfe503266a1fe9bbc0883a28f 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/28/1d349cf286139cfe503266a1fe9bbc0883a28f 2018-09-07 10:48:48 +0000 differ
3648=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/29'
3649=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/29/774add81bac761f1dc64333baf3561b3b3d41e'
3650Binary files BD/bundle-realtime-syslog-analytics/.git/objects/29/774add81bac761f1dc64333baf3561b3b3d41e 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/29/774add81bac761f1dc64333baf3561b3b3d41e 2018-09-07 10:48:48 +0000 differ
3651=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/2f'
3652=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/2f/b27e7997577b645b34086e4f6c5539e453ab67'
3653--- BD/bundle-realtime-syslog-analytics/.git/objects/2f/b27e7997577b645b34086e4f6c5539e453ab67 1970-01-01 00:00:00 +0000
3654+++ BD/bundle-realtime-syslog-analytics/.git/objects/2f/b27e7997577b645b34086e4f6c5539e453ab67 2018-09-07 10:48:48 +0000
3655@@ -0,0 +1,2 @@
3656+x¥�½NÄ0„©óÛ]�r؉b„=ºšz×Y'>9Ò½=9$ž€rF£of|^×X¡7æ¡fÐ!à¨
3657¶.�íp
3658°sv$ë„Úkdé‰Ló……S
3659+仾wZ 1*ÈA+Ï#‘&㺾'$¥|ÿ—g”q•Ê
3660†„
3661VêÁ§Ã�G…ÖJnp¯s.ðÎß1Á\r*™áåó®Ïë¯zó˜rŠ
3662—³Ïë+H¥�³Úv
3663<
3664cEs¸Ç¹ÊÿÄ4.L~†ÓŠÛ�<A0Å:ïto¾î×½Ýò²×˜ÓöD{n
3665ãRãÊívÛ–<µ˜p¹Õè·æÁ<xæ
3666\ No newline at end of file
3667
3668=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/37'
3669=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/37/1a71652e2238aa5c55df2cdfb08ddd3e1cc527'
3670Binary files BD/bundle-realtime-syslog-analytics/.git/objects/37/1a71652e2238aa5c55df2cdfb08ddd3e1cc527 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/37/1a71652e2238aa5c55df2cdfb08ddd3e1cc527 2018-09-07 10:48:48 +0000 differ
3671=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/39'
3672=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/39/deada6dab55bba11f7ba4bb7d8197a840f15a6'
3673--- BD/bundle-realtime-syslog-analytics/.git/objects/39/deada6dab55bba11f7ba4bb7d8197a840f15a6 1970-01-01 00:00:00 +0000
3674+++ BD/bundle-realtime-syslog-analytics/.git/objects/39/deada6dab55bba11f7ba4bb7d8197a840f15a6 2018-09-07 10:48:48 +0000
3675@@ -0,0 +1,1 @@
3676+x•ŽKjÄ0³Ö)ú3èÓúA!³Ë-Zr+vYƒ,Îíã
3677!µyPð r«u -¾ŒÎ
3678Ö» I™Ì‰‚ÌÞkŒ>›˜”ž
3679%‰F[]ă:¯È°V¤ƒKI9ïBq$UÊJy
3680Ébr'VÆ,hsëpký>Û¼nðúý7™Þ¿*-÷knõ
3681Ú Qé(á"QJqÚ³oðÿŸâc¯èü„V Ü÷Ê—y*”³â:Ž|
3682^·¥­P–Cüm§PV
3683\ No newline at end of file
3684
3685=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/39/ef2ec6cecd9d57c4cb02ad1034f366469dc503'
3686Binary files BD/bundle-realtime-syslog-analytics/.git/objects/39/ef2ec6cecd9d57c4cb02ad1034f366469dc503 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/39/ef2ec6cecd9d57c4cb02ad1034f366469dc503 2018-09-07 10:48:48 +0000 differ
3687=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/42'
3688=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/42/eb917c5051b0dcec5ae15815b0edc024538958'
3689Binary files BD/bundle-realtime-syslog-analytics/.git/objects/42/eb917c5051b0dcec5ae15815b0edc024538958 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/42/eb917c5051b0dcec5ae15815b0edc024538958 2018-09-07 10:48:48 +0000 differ
3690=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/44'
3691=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/44/9f6ed48b87034724cf016cce321c20ecc0ae96'
3692Binary files BD/bundle-realtime-syslog-analytics/.git/objects/44/9f6ed48b87034724cf016cce321c20ecc0ae96 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/44/9f6ed48b87034724cf016cce321c20ecc0ae96 2018-09-07 10:48:48 +0000 differ
3693=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/47'
3694=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/47/b8bebd4afdd4839704c465297fab42d93e73d4'
3695Binary files BD/bundle-realtime-syslog-analytics/.git/objects/47/b8bebd4afdd4839704c465297fab42d93e73d4 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/47/b8bebd4afdd4839704c465297fab42d93e73d4 2018-09-07 10:48:48 +0000 differ
3696=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/57'
3697=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/57/6d4a13ce49aa80c772497c39b12d3ab043252f'
3698Binary files BD/bundle-realtime-syslog-analytics/.git/objects/57/6d4a13ce49aa80c772497c39b12d3ab043252f 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/57/6d4a13ce49aa80c772497c39b12d3ab043252f 2018-09-07 10:48:48 +0000 differ
3699=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/5f'
3700=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/5f/fad56afe79fb72ad8a297db790005c5ae1cbb6'
3701Binary files BD/bundle-realtime-syslog-analytics/.git/objects/5f/fad56afe79fb72ad8a297db790005c5ae1cbb6 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/5f/fad56afe79fb72ad8a297db790005c5ae1cbb6 2018-09-07 10:48:48 +0000 differ
3702=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/61'
3703=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/61/e6463d1cd4c298df6d647df7503d24a7c78b6b'
3704Binary files BD/bundle-realtime-syslog-analytics/.git/objects/61/e6463d1cd4c298df6d647df7503d24a7c78b6b 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/61/e6463d1cd4c298df6d647df7503d24a7c78b6b 2018-09-07 10:48:48 +0000 differ
3705=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/61/ec0db79b61e0e7b206e22e0639e8528e6838a8'
3706Binary files BD/bundle-realtime-syslog-analytics/.git/objects/61/ec0db79b61e0e7b206e22e0639e8528e6838a8 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/61/ec0db79b61e0e7b206e22e0639e8528e6838a8 2018-09-07 10:48:48 +0000 differ
3707=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/64'
3708=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/64/7ac77b0a4b9378ac14150a0701cb7154fd046b'
3709--- BD/bundle-realtime-syslog-analytics/.git/objects/64/7ac77b0a4b9378ac14150a0701cb7154fd046b 1970-01-01 00:00:00 +0000
3710+++ BD/bundle-realtime-syslog-analytics/.git/objects/64/7ac77b0a4b9378ac14150a0701cb7154fd046b 2018-09-07 10:48:48 +0000
3711@@ -0,0 +1,3 @@
3712+x¥ŽA
3713+Â0E]ç³$Ó&m"îŵëéd¢A›”ooõ
3714+þÝ{‹Çç2Ï©AgqÓªè�†H}dƒFO‚ÂÔc¿ƒl‚éâÞ“&µP•Ü FôÈ~ÄÈã4"rÒ…Á9ì/V[;‰DEÏv+NòJ.p.¹�ýýË»ùGG¦\rbzì¸Ì@c½­s¶z�Zíz¶ÉŸE!¤|.Ë»¦ë­©ÅÜRI
3715\ No newline at end of file
3716
3717=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/6b'
3718=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/6b/f6fec02f96b4a4a62b7ebdcb8673061a45a6e6'
3719Binary files BD/bundle-realtime-syslog-analytics/.git/objects/6b/f6fec02f96b4a4a62b7ebdcb8673061a45a6e6 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/6b/f6fec02f96b4a4a62b7ebdcb8673061a45a6e6 2018-09-07 10:48:48 +0000 differ
3720=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/97'
3721=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/97/1d15c17ffce0e3739f1ce13a21b1c1e0795f44'
3722Binary files BD/bundle-realtime-syslog-analytics/.git/objects/97/1d15c17ffce0e3739f1ce13a21b1c1e0795f44 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/97/1d15c17ffce0e3739f1ce13a21b1c1e0795f44 2018-09-07 10:48:48 +0000 differ
3723=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/9e'
3724=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/9e/f7a9c7f6a8b2ed3e7a4ff5c14d1872f6f5fa5b'
3725Binary files BD/bundle-realtime-syslog-analytics/.git/objects/9e/f7a9c7f6a8b2ed3e7a4ff5c14d1872f6f5fa5b 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/9e/f7a9c7f6a8b2ed3e7a4ff5c14d1872f6f5fa5b 2018-09-07 10:48:48 +0000 differ
3726=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/a2'
3727=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/a2/95864e354f25c935ea5453ab7ec97813b11bd2'
3728Binary files BD/bundle-realtime-syslog-analytics/.git/objects/a2/95864e354f25c935ea5453ab7ec97813b11bd2 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/a2/95864e354f25c935ea5453ab7ec97813b11bd2 2018-09-07 10:48:48 +0000 differ
3729=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/a3'
3730=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/a3/e21a286bb16768f6a01bc11748b54b6666509c'
3731--- BD/bundle-realtime-syslog-analytics/.git/objects/a3/e21a286bb16768f6a01bc11748b54b6666509c 1970-01-01 00:00:00 +0000
3732+++ BD/bundle-realtime-syslog-analytics/.git/objects/a3/e21a286bb16768f6a01bc11748b54b6666509c 2018-09-07 10:48:48 +0000
3733@@ -0,0 +1,1 @@
3734+x•�KNÄ0DYç-±
3735pû“t$„�Ø!qˆv§=“QŽ-àö„`UªÒ{‹’¼®sçÂ]-ª`8ŽIãÐ’µh&œ†@DQEÈÆÀ˜T#Ý�‹nbCÔ³wY¬Ž
3736§à¢÷ÈSÂdFëQâ¯n”è
3737ÒàÄ“é£K=ÒŒ
3738艼ô}áÐq«—\à5—oxË—m‡§ëo¿œWž—Éë3 d½ÐÃÉxcºc=þTý¿Ù½k9+ÜÚ²@Ñ�¦{…{©ä®íÚN{^Z�ó¶?núyÚ[JóW×µÛÄU!-mÕÃ[Ž2A=äÐ?k‚
3739\ No newline at end of file
3740
3741=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/a9'
3742=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/a9/458f820000b97fa30fd71ba4a949698bcc29d8'
3743Binary files BD/bundle-realtime-syslog-analytics/.git/objects/a9/458f820000b97fa30fd71ba4a949698bcc29d8 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/a9/458f820000b97fa30fd71ba4a949698bcc29d8 2018-09-07 10:48:48 +0000 differ
3744=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/b1'
3745=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/b1/5c716081360e52d75e3698f39e0b115f559d7a'
3746Binary files BD/bundle-realtime-syslog-analytics/.git/objects/b1/5c716081360e52d75e3698f39e0b115f559d7a 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/b1/5c716081360e52d75e3698f39e0b115f559d7a 2018-09-07 10:48:48 +0000 differ
3747=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/bb'
3748=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/bb/58331872606ec73ac58c325e775b7258e85b66'
3749Binary files BD/bundle-realtime-syslog-analytics/.git/objects/bb/58331872606ec73ac58c325e775b7258e85b66 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/bb/58331872606ec73ac58c325e775b7258e85b66 2018-09-07 10:48:48 +0000 differ
3750=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/bf'
3751=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/bf/b9fe933950a664f1854cedbb5b69233bab44c3'
3752--- BD/bundle-realtime-syslog-analytics/.git/objects/bf/b9fe933950a664f1854cedbb5b69233bab44c3 1970-01-01 00:00:00 +0000
3753+++ BD/bundle-realtime-syslog-analytics/.git/objects/bf/b9fe933950a664f1854cedbb5b69233bab44c3 2018-09-07 10:48:48 +0000
3754@@ -0,0 +1,1 @@
3755+x¥�½n!„SóÛG:Áñ³‡Eé-×®÷–E>9@„°Ÿ?دàé¾)>Íp+å°úíct°Qò*
3756X8Åä‘
3757ïz¥d´uÙ†àBLìµUÔ¥Ș#kçØEÜ£Æ@›ö³Ÿ=Òj}Hy7ŠîãÚ:œäqT¸À¹ÕÞ¾nO^Ê‹~˜j«Óï­|ƒq>Fôh>õŒší
3758;äM�Ê­@5·û|±ËÓªþn£S¸
3759\ No newline at end of file
3760
3761=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/c1'
3762=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/c1/bce4295c326ce8693a5cefd3f72785e1407a03'
3763Binary files BD/bundle-realtime-syslog-analytics/.git/objects/c1/bce4295c326ce8693a5cefd3f72785e1407a03 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/c1/bce4295c326ce8693a5cefd3f72785e1407a03 2018-09-07 10:48:48 +0000 differ
3764=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/c5'
3765=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/c5/43df5854830b648cd211b2d53633178961b41e'
3766Binary files BD/bundle-realtime-syslog-analytics/.git/objects/c5/43df5854830b648cd211b2d53633178961b41e 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/c5/43df5854830b648cd211b2d53633178961b41e 2018-09-07 10:48:48 +0000 differ
3767=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/d6'
3768=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/d6/19ca86b85e9ef43818609a01679cc5106fc6f4'
3769Binary files BD/bundle-realtime-syslog-analytics/.git/objects/d6/19ca86b85e9ef43818609a01679cc5106fc6f4 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/d6/19ca86b85e9ef43818609a01679cc5106fc6f4 2018-09-07 10:48:48 +0000 differ
3770=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/d7'
3771=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/d7/2361e29284cd0d9787bbeb70eaf1035eda6a73'
3772--- BD/bundle-realtime-syslog-analytics/.git/objects/d7/2361e29284cd0d9787bbeb70eaf1035eda6a73 1970-01-01 00:00:00 +0000
3773+++ BD/bundle-realtime-syslog-analytics/.git/objects/d7/2361e29284cd0d9787bbeb70eaf1035eda6a73 2018-09-07 10:48:48 +0000
3774@@ -0,0 +1,2 @@
3775+x•ŽAJÄ@E]çu%éNuw@dDg#¸<@U¥ÆıӡS¼½ñ®><x¼/%çÙÀÅtcUô"Œ}èµÇ(L
3776Së¬ìNèb¤ŽÍJUfLÞw)ºÐ•èI0‰w¨1"G‡Ir
3777í6•
3778+O¥þÀK™–
3779î?ÿFèô‘iþº“’ ëqpCR„Û¶oÛæ Ç?Óÿ›Íû:’)l¹\L7ƒyÙ¬îbs9òóoçÇç×3Ð2ïy™¨f¨ú½�Èd25¿ô?Yg
3780\ No newline at end of file
3781
3782=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/dd'
3783=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/dd/b47ce20c91532dae6e4c4649ffd70b8c7d4e8b'
3784Binary files BD/bundle-realtime-syslog-analytics/.git/objects/dd/b47ce20c91532dae6e4c4649ffd70b8c7d4e8b 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/dd/b47ce20c91532dae6e4c4649ffd70b8c7d4e8b 2018-09-07 10:48:48 +0000 differ
3785=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/df'
3786=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/df/36b07d649c9426ff72551d260bd16a86215d34'
3787Binary files BD/bundle-realtime-syslog-analytics/.git/objects/df/36b07d649c9426ff72551d260bd16a86215d34 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/df/36b07d649c9426ff72551d260bd16a86215d34 2018-09-07 10:48:48 +0000 differ
3788=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/e1'
3789=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/e1/311e672117358d485ff0c5f829287a7a7105a6'
3790Binary files BD/bundle-realtime-syslog-analytics/.git/objects/e1/311e672117358d485ff0c5f829287a7a7105a6 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/e1/311e672117358d485ff0c5f829287a7a7105a6 2018-09-07 10:48:48 +0000 differ
3791=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/e3'
3792=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/e3/495ebd2af1a421cd2e914b96693aa52146e696'
3793Binary files BD/bundle-realtime-syslog-analytics/.git/objects/e3/495ebd2af1a421cd2e914b96693aa52146e696 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/e3/495ebd2af1a421cd2e914b96693aa52146e696 2018-09-07 10:48:48 +0000 differ
3794=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/e3/9cb301873c4806b3f6189502514884c66fcca5'
3795--- BD/bundle-realtime-syslog-analytics/.git/objects/e3/9cb301873c4806b3f6189502514884c66fcca5 1970-01-01 00:00:00 +0000
3796+++ BD/bundle-realtime-syslog-analytics/.git/objects/e3/9cb301873c4806b3f6189502514884c66fcca5 2018-09-07 10:48:48 +0000
3797@@ -0,0 +1,3 @@
3798+x¥�½nÃ0
3799„;ë)8H ÙV"Aѽèܱ $
3800+¬æ�>~åLÝ;Þ<~GWsŽ
3801ý¨_x!‰v
3802t•½êL×)é•¿jcŒ%çLg5ª@dñ*f\¨0Xí¤1
3803ú^‘B×шÖëÞƒBT�c7(gn|¯
3804
3805
3806|Ág-K%¸M‡>ç§zwXj‰ÓÙÕüjÐ�aT
3807'©¥Ím°LÿŒÛì‘ BÚ2ÁB© L+
3808q‚µa2XjJß±´k;&à
3809+J®°VxøÚšßq§Ã~`ûß›K·Ä !ÇÒ‚R­„ÖùõÌ?üwuŽn‚m>y†ç�L>>™b¢UüUÞƒa
3810\ No newline at end of file
3811
3812=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/e9'
3813=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/e9/00b97c45d3566d3fe29c1ba1d1682e360f4792'
3814--- BD/bundle-realtime-syslog-analytics/.git/objects/e9/00b97c45d3566d3fe29c1ba1d1682e360f4792 1970-01-01 00:00:00 +0000
3815+++ BD/bundle-realtime-syslog-analytics/.git/objects/e9/00b97c45d3566d3fe29c1ba1d1682e360f4792 2018-09-07 10:48:48 +0000
3816@@ -0,0 +1,2 @@
3817+xe‘A�Ó0…9ûW<õ($e¥E¨œB·U*5]V{t’ij)±�íl¶ÿžq ì"rˆ2™Ïã÷ÞÔ½©ñéóòÍÖ¸A†Î!ØU–µdÓ–j%uª)ÄÒÇ×m&ÄVõäWx/ÖÆ^œêÎ|êï'n–o¬¥6Z5²Ç.´i‚¼ïqˆ¨Ç�<¹'jS±S
3818iO+äV6gÂ\ã&]Š?E‹Q·ä¸ÿ/–à9¯ŒŽ<ÞF`1OX¼û"p1#y�6£'ž <N¬
3819ôÜ�
3820P�lÏ
3821¤ÂùzË<#xœ'˜:H†%ãösz�Afã3G7MS*¯ŽR㺬ÿíÒg»b½)«Í‡«=>r¯9GG?Gå¨E}�´,§‘5‹ìåã ;GÜ
3822&Ê�œ
3823+Jw ¼9…I:h•NÕc`è%©ÙØñk€³’‹¼BQ-ð5¯Š*x(Žßö÷G<ä‡C^
3824‹M…ýë}yW
3825‹}ÉÕyùˆïEy—€8'Þ=[Õ³D3ŒûDE1æ—Ež¸ko©Q'Õ°)Ý�²#t扜f/°äåã
3826=‹kz5¨ ÃõÇŽRñ
3827²æy
3828\ No newline at end of file
3829
3830=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/ea'
3831=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/ea/0af4691a4c04686b01f71586095fc5aa4a771e'
3832Binary files BD/bundle-realtime-syslog-analytics/.git/objects/ea/0af4691a4c04686b01f71586095fc5aa4a771e 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/ea/0af4691a4c04686b01f71586095fc5aa4a771e 2018-09-07 10:48:48 +0000 differ
3833=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/ef'
3834=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/ef/cb5464e457cba358036b9beb39b85277a9585d'
3835Binary files BD/bundle-realtime-syslog-analytics/.git/objects/ef/cb5464e457cba358036b9beb39b85277a9585d 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/ef/cb5464e457cba358036b9beb39b85277a9585d 2018-09-07 10:48:48 +0000 differ
3836=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/f1'
3837=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/f1/222e88345ca3ac9f2646d21438dc0cd4829646'
3838Binary files BD/bundle-realtime-syslog-analytics/.git/objects/f1/222e88345ca3ac9f2646d21438dc0cd4829646 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/f1/222e88345ca3ac9f2646d21438dc0cd4829646 2018-09-07 10:48:48 +0000 differ
3839=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/f7'
3840=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/f7/f9c044c497b9076a8e1c567f59c07a2356dfb1'
3841--- BD/bundle-realtime-syslog-analytics/.git/objects/f7/f9c044c497b9076a8e1c567f59c07a2356dfb1 1970-01-01 00:00:00 +0000
3842+++ BD/bundle-realtime-syslog-analytics/.git/objects/f7/f9c044c497b9076a8e1c567f59c07a2356dfb1 2018-09-07 10:48:48 +0000
3843@@ -0,0 +1,2 @@
3844+x¥Ž»N1E©ýÓGŠ<ë·„=JM=;
3845“±
38469Þ|?
3847¿ÀéÎ)®.÷Z· ‹Ç—9D@ÓBÖ†˜‹ÑÞHHBÉéT
3848+3jba
3849Ð"u§!m;krqÑÙhôêmä¼ ®Kvƃ!&�«EQ´Ïkð!Ï­Á'\z]àõû×ÏõÏÞ™ZoÓí̽¾Z—¬F8éuÔãì”Ψý!p½î·/š’�¯4*
3850y>Ô°¤T
3851\ No newline at end of file
3852
3853=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/f9'
3854=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/f9/44b6485cd73d3603f152a34a25373b30ec666a'
3855Binary files BD/bundle-realtime-syslog-analytics/.git/objects/f9/44b6485cd73d3603f152a34a25373b30ec666a 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/f9/44b6485cd73d3603f152a34a25373b30ec666a 2018-09-07 10:48:48 +0000 differ
3856=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/ff'
3857=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/ff/191c971fc7b7daaa8e2d68812da49e5055beef'
3858Binary files BD/bundle-realtime-syslog-analytics/.git/objects/ff/191c971fc7b7daaa8e2d68812da49e5055beef 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/ff/191c971fc7b7daaa8e2d68812da49e5055beef 2018-09-07 10:48:48 +0000 differ
3859=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/info'
3860=== added directory 'BD/bundle-realtime-syslog-analytics/.git/objects/pack'
3861=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/pack/pack-eb93a75e89692bd569afbc6769e6f5c415c3c817.idx'
3862Binary files BD/bundle-realtime-syslog-analytics/.git/objects/pack/pack-eb93a75e89692bd569afbc6769e6f5c415c3c817.idx 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/pack/pack-eb93a75e89692bd569afbc6769e6f5c415c3c817.idx 2018-09-07 10:48:48 +0000 differ
3863=== added file 'BD/bundle-realtime-syslog-analytics/.git/objects/pack/pack-eb93a75e89692bd569afbc6769e6f5c415c3c817.pack'
3864Binary files BD/bundle-realtime-syslog-analytics/.git/objects/pack/pack-eb93a75e89692bd569afbc6769e6f5c415c3c817.pack 1970-01-01 00:00:00 +0000 and BD/bundle-realtime-syslog-analytics/.git/objects/pack/pack-eb93a75e89692bd569afbc6769e6f5c415c3c817.pack 2018-09-07 10:48:48 +0000 differ
3865=== added file 'BD/bundle-realtime-syslog-analytics/.git/packed-refs'
3866--- BD/bundle-realtime-syslog-analytics/.git/packed-refs 1970-01-01 00:00:00 +0000
3867+++ BD/bundle-realtime-syslog-analytics/.git/packed-refs 2018-09-07 10:48:48 +0000
3868@@ -0,0 +1,2 @@
3869+# pack-refs with: peeled fully-peeled
3870+b5c0886a4331e1ac2e9abd53b441adf1f09241cb refs/remotes/origin/master
3871
3872=== added directory 'BD/bundle-realtime-syslog-analytics/.git/refs'
3873=== added directory 'BD/bundle-realtime-syslog-analytics/.git/refs/heads'
3874=== added file 'BD/bundle-realtime-syslog-analytics/.git/refs/heads/master'
3875--- BD/bundle-realtime-syslog-analytics/.git/refs/heads/master 1970-01-01 00:00:00 +0000
3876+++ BD/bundle-realtime-syslog-analytics/.git/refs/heads/master 2018-09-07 10:48:48 +0000
3877@@ -0,0 +1,1 @@
3878+647ac77b0a4b9378ac14150a0701cb7154fd046b
3879
3880=== added file 'BD/bundle-realtime-syslog-analytics/.git/refs/heads/new-suffix'
3881--- BD/bundle-realtime-syslog-analytics/.git/refs/heads/new-suffix 1970-01-01 00:00:00 +0000
3882+++ BD/bundle-realtime-syslog-analytics/.git/refs/heads/new-suffix 2018-09-07 10:48:48 +0000
3883@@ -0,0 +1,1 @@
3884+e39cb301873c4806b3f6189502514884c66fcca5
3885
3886=== added directory 'BD/bundle-realtime-syslog-analytics/.git/refs/remotes'
3887=== added directory 'BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin'
3888=== added file 'BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/HEAD'
3889--- BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/HEAD 1970-01-01 00:00:00 +0000
3890+++ BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/HEAD 2018-09-07 10:48:48 +0000
3891@@ -0,0 +1,1 @@
3892+ref: refs/remotes/origin/master
3893
3894=== added file 'BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/master'
3895--- BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/master 1970-01-01 00:00:00 +0000
3896+++ BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/master 2018-09-07 10:48:48 +0000
3897@@ -0,0 +1,1 @@
3898+647ac77b0a4b9378ac14150a0701cb7154fd046b
3899
3900=== added file 'BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/new-suffix'
3901--- BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/new-suffix 1970-01-01 00:00:00 +0000
3902+++ BD/bundle-realtime-syslog-analytics/.git/refs/remotes/origin/new-suffix 2018-09-07 10:48:48 +0000
3903@@ -0,0 +1,1 @@
3904+e39cb301873c4806b3f6189502514884c66fcca5
3905
3906=== added directory 'BD/bundle-realtime-syslog-analytics/.git/refs/tags'
3907=== added file 'BD/bundle-realtime-syslog-analytics/.gitignore'
3908--- BD/bundle-realtime-syslog-analytics/.gitignore 1970-01-01 00:00:00 +0000
3909+++ BD/bundle-realtime-syslog-analytics/.gitignore 2018-09-07 10:48:48 +0000
3910@@ -0,0 +1,2 @@
3911+*.pyc
3912+__pycache__
3913
3914=== added file 'BD/bundle-realtime-syslog-analytics/README.md'
3915--- BD/bundle-realtime-syslog-analytics/README.md 1970-01-01 00:00:00 +0000
3916+++ BD/bundle-realtime-syslog-analytics/README.md 2018-09-07 10:48:48 +0000
3917@@ -0,0 +1,91 @@
3918+# Realtime Syslog Analytics
3919+
3920+This bundle is an 8 node cluster designed to scale out. Built around Apache
3921+Hadoop components, it contains the following units:
3922+
3923+ * 1 NameNode (HDFS)
3924+ - 1 Rsyslog Forwarder (colocated on the NameNode)
3925+ * 1 ResourceManager (YARN)
3926+ * 3 Slaves (DataNode and NodeManager)
3927+ * 1 Flume-HDFS
3928+ - 1 Plugin (colocated on the Flume unit)
3929+ * 1 Flume-Syslog
3930+ * 1 Spark
3931+ - 1 Plugin (colocated on the Spark unit)
3932+ - 1 Zeppelin (colocated on the Spark unit)
3933+
3934+Syslog events generated on the NameNode unit are forwarded to the
3935+`apache-flume-syslog` charm. These events are serialized and sent to the
3936+`apache-flume-hdfs` charm to be stored in HDFS. We have included a sample
3937+application to analyze these events with Spark/Zeppelin.
3938+
3939+
3940+## Usage
3941+
3942+Deploy this bundle using juju-quickstart:
3943+
3944+ juju quickstart realtime-syslog-analytics
3945+
3946+See `juju quickstart --help` for deployment options, including machine
3947+constraints and how to deploy a locally modified version of the
3948+`realtime-syslog-analytics` bundle.yaml.
3949+
3950+Once deployment is complete, expose the zeppelin service:
3951+
3952+ juju expose zeppelin
3953+
3954+You may now access the Zeppelin web interface at
3955+`http://{spark_unit_ip_address}:9090`. The ip address can be found by running
3956+`juju status spark | grep public-address`.
3957+
3958+
3959+### Verify the deployment
3960+
3961+The services provide extended status reporting to indicate when they are ready:
3962+
3963+ juju status --format=tabular
3964+
3965+This is particularly useful when combined with `watch` to track the on-going
3966+progress of the deployment:
3967+
3968+ watch -n 0.5 juju status --format=tabular
3969+
3970+The charm for each core component (namenode, resourcemanager, spark, zeppelin)
3971+also each provide a `smoke-test` action that can be used to verify that each
3972+component is functioning as expected. You can run them all and then watch the
3973+action status list:
3974+
3975+ juju action do namenode/0 smoke-test
3976+ juju action do resourcemanager/0 smoke-test
3977+ juju action do spark/0 smoke-test
3978+ juju action do zeppelin/0 smoke-test
3979+ watch -n 0.5 juju action status
3980+
3981+Eventually, all of the actions should settle to `status: completed`. If
3982+any go instead to `status: failed` then it means that component is not working
3983+as expected. You can get more information about that component's smoke test:
3984+
3985+ juju action fetch <action-id>
3986+
3987+
3988+## Scale Out Usage
3989+
3990+This bundle was designed to scale out. To increase the amount of slaves,
3991+you can add units to the slave service. To add one unit:
3992+
3993+ juju add-unit slave
3994+
3995+You can also add multiple units, for examle, to add four more slaves:
3996+
3997+ juju add-unit -n4 slave
3998+
3999+
4000+## Contact Information
4001+
4002+- <bigdata@lists.ubuntu.com>
4003+
4004+
4005+## Help
4006+
4007+- [Juju mailing list](https://lists.ubuntu.com/mailman/listinfo/juju)
4008+- [Juju community](https://jujucharms.com/community)
4009
4010=== added file 'BD/bundle-realtime-syslog-analytics/bundle-dev.yaml'
4011--- BD/bundle-realtime-syslog-analytics/bundle-dev.yaml 1970-01-01 00:00:00 +0000
4012+++ BD/bundle-realtime-syslog-analytics/bundle-dev.yaml 2018-09-07 10:48:48 +0000
4013@@ -0,0 +1,69 @@
4014+services:
4015+ namenode:
4016+ charm: cs:~bigdata-dev/trusty/apache-hadoop-namenode
4017+ num_units: 1
4018+ annotations:
4019+ gui-x: "600"
4020+ gui-y: "350"
4021+ constraints: mem=7G
4022+ resourcemanager:
4023+ charm: cs:~bigdata-dev/trusty/apache-hadoop-resourcemanager
4024+ num_units: 1
4025+ annotations:
4026+ gui-x: "600"
4027+ gui-y: "100"
4028+ constraints: mem=7G
4029+ slave:
4030+ charm: cs:~bigdata-dev/trusty/apache-hadoop-slave
4031+ num_units: 3
4032+ annotations:
4033+ gui-x: "250"
4034+ gui-y: "200"
4035+ constraints: mem=7G
4036+ plugin:
4037+ charm: cs:~bigdata-dev/trusty/apache-hadoop-plugin
4038+ annotations:
4039+ gui-x: "950"
4040+ gui-y: "200"
4041+ flume-hdfs:
4042+ charm: cs:~bigdata-dev/trusty/apache-flume-hdfs
4043+ num_units: 1
4044+ annotations:
4045+ gui-x: "1200"
4046+ gui-y: "350"
4047+ flume-syslog:
4048+ charm: cs:~bigdata-dev/trusty/apache-flume-syslog
4049+ num_units: 1
4050+ annotations:
4051+ gui-x: "1200"
4052+ gui-y: "600"
4053+ rsyslog-forwarder:
4054+ charm: cs:trusty/rsyslog-forwarder-ha
4055+ annotations:
4056+ gui-x: "900"
4057+ gui-y: "600"
4058+ spark:
4059+ charm: cs:~bigdata-dev/trusty/apache-spark
4060+ num_units: 1
4061+ annotations:
4062+ gui-x: "1200"
4063+ gui-y: "100"
4064+ constraints: mem=7G
4065+ zeppelin:
4066+ charm: cs:~bigdata-dev/trusty/apache-zeppelin
4067+ annotations:
4068+ gui-x: "1500"
4069+ gui-y: "100"
4070+series: trusty
4071+relations:
4072+ - [namenode, slave]
4073+ - [resourcemanager, slave]
4074+ - [resourcemanager, namenode]
4075+ - [plugin, namenode]
4076+ - [plugin, resourcemanager]
4077+ - [flume-hdfs, plugin]
4078+ - [flume-syslog, flume-hdfs]
4079+ - [rsyslog-forwarder, namenode]
4080+ - [rsyslog-forwarder, flume-syslog]
4081+ - [spark, plugin]
4082+ - [zeppelin, spark]
4083
4084=== added file 'BD/bundle-realtime-syslog-analytics/bundle-local.yaml'
4085--- BD/bundle-realtime-syslog-analytics/bundle-local.yaml 1970-01-01 00:00:00 +0000
4086+++ BD/bundle-realtime-syslog-analytics/bundle-local.yaml 2018-09-07 10:48:48 +0000
4087@@ -0,0 +1,69 @@
4088+services:
4089+ namenode:
4090+ charm: apache-hadoop-namenode
4091+ num_units: 1
4092+ annotations:
4093+ gui-x: "600"
4094+ gui-y: "350"
4095+ constraints: mem=7G
4096+ resourcemanager:
4097+ charm: apache-hadoop-resourcemanager
4098+ num_units: 1
4099+ annotations:
4100+ gui-x: "600"
4101+ gui-y: "100"
4102+ constraints: mem=7G
4103+ slave:
4104+ charm: apache-hadoop-slave
4105+ num_units: 3
4106+ annotations:
4107+ gui-x: "250"
4108+ gui-y: "200"
4109+ constraints: mem=7G
4110+ plugin:
4111+ charm: apache-hadoop-plugin
4112+ annotations:
4113+ gui-x: "950"
4114+ gui-y: "200"
4115+ flume-hdfs:
4116+ charm: apache-flume-hdfs
4117+ num_units: 1
4118+ annotations:
4119+ gui-x: "1200"
4120+ gui-y: "350"
4121+ flume-syslog:
4122+ charm: apache-flume-syslog
4123+ num_units: 1
4124+ annotations:
4125+ gui-x: "1200"
4126+ gui-y: "600"
4127+ rsyslog-forwarder:
4128+ charm: rsyslog-forwarder-ha
4129+ annotations:
4130+ gui-x: "900"
4131+ gui-y: "600"
4132+ spark:
4133+ charm: apache-spark
4134+ num_units: 1
4135+ annotations:
4136+ gui-x: "1200"
4137+ gui-y: "100"
4138+ constraints: mem=7G
4139+ zeppelin:
4140+ charm: apache-zeppelin
4141+ annotations:
4142+ gui-x: "1500"
4143+ gui-y: "100"
4144+series: trusty
4145+relations:
4146+ - [namenode, slave]
4147+ - [resourcemanager, slave]
4148+ - [resourcemanager, namenode]
4149+ - [plugin, namenode]
4150+ - [plugin, resourcemanager]
4151+ - [flume-hdfs, plugin]
4152+ - [flume-syslog, flume-hdfs]
4153+ - [rsyslog-forwarder, namenode]
4154+ - [rsyslog-forwarder, flume-syslog]
4155+ - [spark, plugin]
4156+ - [zeppelin, spark]
4157
4158=== added file 'BD/bundle-realtime-syslog-analytics/bundle.yaml'
4159--- BD/bundle-realtime-syslog-analytics/bundle.yaml 1970-01-01 00:00:00 +0000
4160+++ BD/bundle-realtime-syslog-analytics/bundle.yaml 2018-09-07 10:48:48 +0000
4161@@ -0,0 +1,73 @@
4162+services:
4163+ namenode:
4164+ charm: cs:trusty/apache-hadoop-namenode-1
4165+ num_units: 1
4166+ annotations:
4167+ gui-x: "600"
4168+ gui-y: "350"
4169+ constraints: mem=7G
4170+ resourcemanager:
4171+ charm: cs:trusty/apache-hadoop-resourcemanager-1
4172+ num_units: 1
4173+ annotations:
4174+ gui-x: "600"
4175+ gui-y: "100"
4176+ constraints: mem=7G
4177+ slave:
4178+ charm: cs:trusty/apache-hadoop-slave-1
4179+ num_units: 2
4180+ annotations:
4181+ gui-x: "250"
4182+ gui-y: "200"
4183+ constraints: mem=7G
4184+ plugin:
4185+ charm: cs:trusty/apache-hadoop-plugin-13
4186+ annotations:
4187+ gui-x: "950"
4188+ gui-y: "200"
4189+ flume-hdfs:
4190+ charm: cs:trusty/apache-flume-hdfs-5
4191+ num_units: 1
4192+ annotations:
4193+ gui-x: "1200"
4194+ gui-y: "350"
4195+ to:
4196+ - 'lxc:namenode/0'
4197+ flume-syslog:
4198+ charm: cs:trusty/apache-flume-syslog-4
4199+ num_units: 1
4200+ annotations:
4201+ gui-x: "1200"
4202+ gui-y: "600"
4203+ to:
4204+ - 'lxc:resourcemanager/0'
4205+ rsyslog-forwarder:
4206+ charm: cs:trusty/rsyslog-forwarder-ha-6
4207+ annotations:
4208+ gui-x: "900"
4209+ gui-y: "600"
4210+ spark:
4211+ charm: cs:trusty/apache-spark-7
4212+ num_units: 1
4213+ annotations:
4214+ gui-x: "1200"
4215+ gui-y: "100"
4216+ constraints: mem=7G
4217+ zeppelin:
4218+ charm: cs:trusty/apache-zeppelin-6
4219+ annotations:
4220+ gui-x: "1500"
4221+ gui-y: "100"
4222+series: trusty
4223+relations:
4224+ - [namenode, slave]
4225+ - [resourcemanager, slave]
4226+ - [resourcemanager, namenode]
4227+ - [plugin, namenode]
4228+ - [plugin, resourcemanager]
4229+ - [flume-hdfs, plugin]
4230+ - [flume-syslog, flume-hdfs]
4231+ - [rsyslog-forwarder, namenode]
4232+ - [rsyslog-forwarder, flume-syslog]
4233+ - [spark, plugin]
4234+ - [zeppelin, spark]
4235
4236=== added file 'BD/bundle-realtime-syslog-analytics/copyright'
4237--- BD/bundle-realtime-syslog-analytics/copyright 1970-01-01 00:00:00 +0000
4238+++ BD/bundle-realtime-syslog-analytics/copyright 2018-09-07 10:48:48 +0000
4239@@ -0,0 +1,16 @@
4240+Format: http://dep.debian.net/deps/dep5/
4241+
4242+Files: *
4243+Copyright: Copyright 2015, Canonical Ltd., All Rights Reserved.
4244+License: Apache License 2.0
4245+ Licensed under the Apache License, Version 2.0 (the "License");
4246+ you may not use this file except in compliance with the License.
4247+ You may obtain a copy of the License at
4248+ .
4249+ http://www.apache.org/licenses/LICENSE-2.0
4250+ .
4251+ Unless required by applicable law or agreed to in writing, software
4252+ distributed under the License is distributed on an "AS IS" BASIS,
4253+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4254+ See the License for the specific language governing permissions and
4255+ limitations under the License.
4256
4257=== added directory 'BD/bundle-realtime-syslog-analytics/tests'
4258=== added file 'BD/bundle-realtime-syslog-analytics/tests/01-bundle.py'
4259--- BD/bundle-realtime-syslog-analytics/tests/01-bundle.py 1970-01-01 00:00:00 +0000
4260+++ BD/bundle-realtime-syslog-analytics/tests/01-bundle.py 2018-09-07 10:48:48 +0000
4261@@ -0,0 +1,190 @@
4262+#!/usr/bin/env python3
4263+
4264+import json
4265+import re
4266+import os
4267+from operator import itemgetter
4268+import unittest
4269+from urllib.parse import urljoin
4270+import textwrap
4271+from time import sleep
4272+
4273+import amulet
4274+import requests
4275+import yaml
4276+
4277+
4278+class TestBundle(unittest.TestCase):
4279+ bundle_file = os.path.join(os.path.dirname(__file__), '..', 'bundle.yaml')
4280+
4281+ @classmethod
4282+ def setUpClass(cls):
4283+ cls.d = amulet.Deployment(series='trusty')
4284+ with open(cls.bundle_file) as f:
4285+ bun = f.read()
4286+ bundle = yaml.safe_load(bun)
4287+ cls.d.load(bundle)
4288+ cls.d.expose('zeppelin')
4289+ cls.d.setup(timeout=1800)
4290+ cls.d.sentry.wait_for_messages({
4291+ 'slave': 'Ready (DataNode & NodeManager)',
4292+ 'plugin': 'Ready (HDFS & YARN)',
4293+ 'zeppelin': 'Ready',
4294+ 'flume-syslog': 'Ready (Syslog sources: 1)',
4295+ }, timeout=1800)
4296+ cls.hdfs = cls.d.sentry['namenode'][0]
4297+ cls.yarn = cls.d.sentry['resourcemanager'][0]
4298+ cls.slave = cls.d.sentry['slave'][0]
4299+ cls.spark = cls.d.sentry['spark'][0]
4300+ cls.zeppelin = cls.d.sentry['zeppelin'][0]
4301+ # Roll flume output every 10 seconds so we don't have to wait
4302+ # for the default 5 minute roll.
4303+ cls.d.configure('flume-hdfs', {'roll_interval': 10})
4304+
4305+ def test_components(self):
4306+ """
4307+ Confirm that all of the required components are up and running.
4308+ """
4309+ hdfs, retcode = self.hdfs.run("pgrep -a java")
4310+ yarn, retcode = self.yarn.run("pgrep -a java")
4311+ slave, retcode = self.slave.run("pgrep -a java")
4312+ spark, retcode = self.spark.run("pgrep -a java")
4313+
4314+ # .NameNode needs the . to differentiate it from SecondaryNameNode
4315+ assert '.NameNode' in hdfs, "NameNode not started"
4316+ assert '.NameNode' not in yarn, "NameNode should not be running on resourcemanager"
4317+ assert '.NameNode' not in slave, "NameNode should not be running on slave"
4318+ assert '.NameNode' not in spark, "NameNode should not be running on spark"
4319+
4320+ assert 'ResourceManager' in yarn, "ResourceManager not started"
4321+ assert 'ResourceManager' not in hdfs, "ResourceManager should not be running on namenode"
4322+ assert 'ResourceManager' not in slave, "ResourceManager should not be running on slave"
4323+ assert 'ResourceManager' not in spark, "ResourceManager should not be running on spark"
4324+
4325+ assert 'JobHistoryServer' in yarn, "JobHistoryServer not started"
4326+ assert 'JobHistoryServer' not in hdfs, "JobHistoryServer should not be running on namenode"
4327+ assert 'JobHistoryServer' not in slave, "JobHistoryServer should not be running on slave"
4328+ assert 'JobHistoryServer' not in spark, "JobHistoryServer should not be running on spark"
4329+
4330+ assert 'NodeManager' in slave, "NodeManager not started"
4331+ assert 'NodeManager' not in yarn, "NodeManager should not be running on resourcemanager"
4332+ assert 'NodeManager' not in hdfs, "NodeManager should not be running on namenode"
4333+ assert 'NodeManager' not in spark, "NodeManager should not be running on spark"
4334+
4335+ assert 'DataNode' in slave, "DataServer not started"
4336+ assert 'DataNode' not in yarn, "DataNode should not be running on resourcemanager"
4337+ assert 'DataNode' not in hdfs, "DataNode should not be running on namenode"
4338+ assert 'DataNode' not in spark, "DataNode should not be running on spark"
4339+
4340+ assert 'spark' in spark, 'Spark should be running on spark'
4341+ assert 'zeppelin' in spark, 'Zeppelin should be running on spark'
4342+
4343+ def test_hdfs_dir(self):
4344+ """
4345+ Validate admin few hadoop activities on HDFS cluster.
4346+ 1) This test validates mkdir on hdfs cluster
4347+ 2) This test validates change hdfs dir owner on the cluster
4348+ 3) This test validates setting hdfs directory access permission on the cluster
4349+
4350+ NB: These are order-dependent, so must be done as part of a single test case.
4351+ """
4352+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -mkdir -p /user/ubuntu'")
4353+ assert retcode == 0, "Created a user directory on hdfs FAILED:\n{}".format(output)
4354+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -chown ubuntu:ubuntu /user/ubuntu'")
4355+ assert retcode == 0, "Assigning an owner to hdfs directory FAILED:\n{}".format(output)
4356+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -chmod -R 755 /user/ubuntu'")
4357+ assert retcode == 0, "seting directory permission on hdfs FAILED:\n{}".format(output)
4358+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -rmdir /user/ubuntu'")
4359+
4360+ def test_yarn_mapreduce_exe(self):
4361+ """
4362+ Validate yarn mapreduce operations:
4363+ 1) validate mapreduce execution - writing to hdfs
4364+ 2) validate successful mapreduce operation after the execution
4365+ 3) validate mapreduce execution - reading and writing to hdfs
4366+ 4) validate successful mapreduce operation after the execution
4367+ 5) validate successful deletion of mapreduce operation result from hdfs
4368+
4369+ NB: These are order-dependent, so must be done as part of a single test case.
4370+ """
4371+ jar_file = '/usr/lib/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar'
4372+ test_steps = [
4373+ ('teragen', "su ubuntu -c 'hadoop jar {} teragen 10000 /user/ubuntu/teragenout'".format(jar_file)),
4374+ ('mapreduce #1', "su hdfs -c 'hdfs dfs -ls /user/ubuntu/teragenout/_SUCCESS'"),
4375+ ('terasort', "su ubuntu -c 'hadoop jar {} terasort /user/ubuntu/teragenout /user/ubuntu/terasortout'".
4376+ format(jar_file)),
4377+ ('mapreduce #2', "su hdfs -c 'hdfs dfs -ls /user/ubuntu/terasortout/_SUCCESS'"),
4378+ ('cleanup #1', "su hdfs -c 'hdfs dfs -rm -r /user/ubuntu/teragenout'"),
4379+ ('cleanup #2', "su hdfs -c 'hdfs dfs -rm -r /user/ubuntu/terasortout'"),
4380+ ]
4381+ for name, step in test_steps:
4382+ output, retcode = self.spark.run(step)
4383+ assert retcode == 0, "{} FAILED:\n{}".format(name, output)
4384+
4385+ def test_spark(self):
4386+ output, retcode = self.spark.run("su ubuntu -c 'bash -lc /home/ubuntu/sparkpi.sh 2>&1'")
4387+ assert 'Pi is roughly' in output, 'SparkPI test failed: %s' % output
4388+
4389+ def test_ingest(self):
4390+ self.spark.ssh('ls /home/ubuntu') # ensure at least one pure ssh session for the logs
4391+ for i in amulet.helpers.timeout_gen(60): # wait 60s for the log messages to be ingested
4392+ output, retcode = self.spark.run("su hdfs -c 'hdfs dfs -ls /user/flume/flume-syslog/*/*.txt'")
4393+ if retcode == 0 and 'FlumeData' in output:
4394+ break
4395+
4396+ ssh_count = textwrap.dedent("""
4397+ from pyspark import SparkContext
4398+ sc = SparkContext(appName="ssh-count")
4399+ count = sc.textFile("/user/flume/flume-syslog/*/*.txt").filter(lambda line: "sshd" in line).count()
4400+ print "SSH Logins: %s" % count
4401+ """)
4402+ output, retcode = self.spark.run("cat << EOP > /home/ubuntu/ssh-count.py\n{}\nEOP".format(ssh_count))
4403+ assert retcode == 0
4404+ output, retcode = self.spark.run("su ubuntu -c 'spark-submit --master yarn-client /home/ubuntu/ssh-count.py'")
4405+ assert re.search(r'SSH Logins: [1-9][0-9]*', output), 'ssh-count.py failed: %s' % output
4406+
4407+ def test_zeppelin(self):
4408+ notebook_id = 'flume-tutorial'
4409+ zep_addr = self.zeppelin.info['public-address']
4410+ base_url = 'http://{}:9090/api/notebook/'.format(zep_addr)
4411+ interp_url = urljoin(base_url, 'interpreter/bind/%s' % notebook_id)
4412+ job_url = urljoin(base_url, 'job/%s' % notebook_id)
4413+ para_url = urljoin(base_url, '%s/paragraph/' % notebook_id)
4414+
4415+ # bind interpreters
4416+ interpreters = requests.get(interp_url, timeout=60).json()
4417+ interp_ids = list(map(itemgetter('id'), interpreters['body']))
4418+ requests.put(interp_url, data=json.dumps(interp_ids), timeout=60)
4419+
4420+ # run notebook
4421+ requests.post(job_url, timeout=60)
4422+ for i in amulet.helpers.timeout_gen(60 * 5):
4423+ sleep(10) # sleep first to give the job some time to run
4424+ try:
4425+ response = requests.get(job_url, timeout=60)
4426+ except requests.exceptions.Timeout:
4427+ # sometimes a long-running paragraph will cause the notebook
4428+ # job endpoint to timeout, but it may eventually recover
4429+ continue
4430+ if response.status_code == 500:
4431+ # sometimes a long-running paragraph will cause the notebook
4432+ # job endpoint to return 500, but it may eventually recover
4433+ continue
4434+ statuses = list(map(itemgetter('status'), response.json()['body']))
4435+ in_progress = {'PENDING', 'RUNNING'} & set(statuses)
4436+ if not in_progress:
4437+ break
4438+
4439+ # check for errors
4440+ errors = []
4441+ for result in response.json()['body']:
4442+ if result['status'] == 'ERROR':
4443+ para_id = result['id']
4444+ resp = requests.get(urljoin(para_url, para_id), timeout=60)
4445+ para = resp.json()['body']
4446+ errors.append(para['errorMessage'].splitlines()[0])
4447+ self.assertEqual(errors, [])
4448+
4449+
4450+if __name__ == '__main__':
4451+ unittest.main()
4452
4453=== added file 'BD/bundle-realtime-syslog-analytics/tests/tests.yaml'
4454--- BD/bundle-realtime-syslog-analytics/tests/tests.yaml 1970-01-01 00:00:00 +0000
4455+++ BD/bundle-realtime-syslog-analytics/tests/tests.yaml 2018-09-07 10:48:48 +0000
4456@@ -0,0 +1,4 @@
4457+reset: false
4458+packages:
4459+ - amulet
4460+ - python-requests
4461
4462=== added directory 'NFV'
4463=== added directory 'NFV/EPIC'
4464=== added file 'NFV/EPIC/01-deploy-epic-juju20.sh'
4465--- NFV/EPIC/01-deploy-epic-juju20.sh 1970-01-01 00:00:00 +0000
4466+++ NFV/EPIC/01-deploy-epic-juju20.sh 2018-09-07 10:48:48 +0000
4467@@ -0,0 +1,56 @@
4468+#!/bin/bash
4469+
4470+
4471+set -e
4472+
4473+#juju set-constraints tags=
4474+
4475+#export JUJU_REPOSITORY=/home/ubuntu/charms
4476+#export LAYER_PATH=/home/ubuntu/charms/layers
4477+#export INTERFACE_PATH=/home/ubuntu/charms/interfaces
4478+
4479+juju deploy epic_multi_bundle.yaml --debug
4480+
4481+sleep 60
4482+
4483+# Checking status before launching OVS
4484+
4485+ems_status=`juju status --format tabular | grep ems/ | awk '{print $2 }'`
4486+fabric_status=`juju status --format tabular | grep fabric/ | awk '{print $2 }'`
4487+hss_status=`juju status --format tabular | grep hss/ | awk '{print $2 }'`
4488+mme_status=`juju status --format tabular | grep mme/ | awk '{print $2 }'`
4489+pcrf_status=`juju status --format tabular | grep pcrf/ | awk '{print $2 }'`
4490+pgw_status=`juju status --format tabular | grep pgw/ | awk '{print $2 }'`
4491+sgw_status=`juju status --format tabular | grep sgw/ | awk '{print $2 }'`
4492+
4493+while [ $ems_status != "active" ] || [ $fabric_status != "active" ] || [ $hss_status != "active" ] || [ $mme_status != "active" ]|| [ $pcrf_status != "active" ] || [ $pgw_status != "active" ] || [ $sgw_status != "active" ]; do
4494+ems_status=`juju status --format tabular | grep ems/ | awk '{print $2 }'`
4495+fabric_status=`juju status --format tabular | grep fabric/ | awk '{print $2 }'`
4496+hss_status=`juju status --format tabular | grep hss/ | awk '{print $2 }'`
4497+mme_status=`juju status --format tabular | grep mme/ | awk '{print $2 }'`
4498+pcrf_status=`juju status --format tabular | grep pcrf/ | awk '{print $2 }'`
4499+pgw_status=`juju status --format tabular | grep pgw/ | awk '{print $2 }'`
4500+sgw_status=`juju status --format tabular | grep sgw/ | awk '{print $2 }'`
4501+
4502+echo "Waiting for nodes to become active"
4503+
4504+done
4505+
4506+echo "All nodes are a active, ready for configuration"
4507+
4508+
4509+#OVS Installation and Docker ports connection
4510+
4511+ sdn_machine=`juju status --format tabular | grep ems/ | awk '{print $5 }'`
4512+ sdn_host=`juju status --format tabular | grep ems/ | awk '{print $6 }' | nslookup | awk ' FNR == 5 {print $2 }'`
4513+ echo ${sdn_machine}
4514+
4515+ juju scp setup-ovs.sh ${sdn_machine}:/home/ubuntu
4516+ juju run --machine ${sdn_machine} "chmod 777 /home/ubuntu/setup-ovs.sh"
4517+# juju run --machine ${sdn_machine} "./setup-ovs.sh"
4518+# sleep 15
4519+# juju run --machine ${sdn_machine} "docker ps"
4520+# juju run --machine ${sdn_machine} "hostname"
4521+
4522+# echo "EMS GUI at https://${sdn_host}:4430/"
4523+
4524
4525=== added file 'NFV/EPIC/01-deploy-epic-local.sh'
4526--- NFV/EPIC/01-deploy-epic-local.sh 1970-01-01 00:00:00 +0000
4527+++ NFV/EPIC/01-deploy-epic-local.sh 2018-09-07 10:48:48 +0000
4528@@ -0,0 +1,56 @@
4529+#!/bin/bash
4530+
4531+
4532+set -e
4533+
4534+juju set-constraints tags=
4535+
4536+#export JUJU_REPOSITORY=/home/ubuntu/charms
4537+#export LAYER_PATH=/home/ubuntu/charms/layers
4538+#export INTERFACE_PATH=/home/ubuntu/charms/interfaces
4539+
4540+juju-deployer -r 6 -c epic_multi_bundle_local.yaml -o distribution-pass=3xpet0guest --debug
4541+
4542+sleep 60
4543+
4544+# Checking status before launching OVS
4545+
4546+ems_status=`juju status --format tabular | grep ems/ | awk '{print $2 }'`
4547+fabric_status=`juju status --format tabular | grep fabric/ | awk '{print $2 }'`
4548+hss_status=`juju status --format tabular | grep hss/ | awk '{print $2 }'`
4549+mme_status=`juju status --format tabular | grep mme/ | awk '{print $2 }'`
4550+pcrf_status=`juju status --format tabular | grep pcrf/ | awk '{print $2 }'`
4551+pgw_status=`juju status --format tabular | grep pgw/ | awk '{print $2 }'`
4552+sgw_status=`juju status --format tabular | grep sgw/ | awk '{print $2 }'`
4553+
4554+while [ $ems_status != "active" ] || [ $fabric_status != "active" ] || [ $hss_status != "active" ] || [ $mme_status != "active" ]|| [ $pcrf_status != "active" ] || [ $pgw_status != "active" ] || [ $sgw_status != "active" ]; do
4555+ems_status=`juju status --format tabular | grep ems/ | awk '{print $2 }'`
4556+fabric_status=`juju status --format tabular | grep fabric/ | awk '{print $2 }'`
4557+hss_status=`juju status --format tabular | grep juju-gui/ | awk '{print $2 }'`
4558+mme_status=`juju status --format tabular | grep mme/ | awk '{print $2 }'`
4559+pcrf_status=`juju status --format tabular | grep pcrf/ | awk '{print $2 }'`
4560+pgw_status=`juju status --format tabular | grep pgw/ | awk '{print $2 }'`
4561+sgw_status=`juju status --format tabular | grep sgw/ | awk '{print $2 }'`
4562+
4563+echo "Waiting for nodes to become active"
4564+
4565+done
4566+
4567+echo "All nodes are a active, ready for configuration"
4568+
4569+
4570+#OVS Installation and Docker ports connection
4571+
4572+ sdn_machine=`juju status --format tabular | grep ems/ | awk '{print $5 }'`
4573+ sdn_host=`juju status --format tabular | grep ems/ | awk '{print $6 }' | nslookup | awk ' FNR == 5 {print $2 }'`
4574+ echo ${sdn_machine}
4575+
4576+ juju scp setup-ovs.sh ${sdn_machine}:/home/ubuntu
4577+ juju run --machine ${sdn_machine} "chmod 777 /home/ubuntu/setup-ovs.sh"
4578+ juju run --machine ${sdn_machine} "./setup-ovs.sh"
4579+ sleep 15
4580+ juju run --machine ${sdn_machine} "docker ps"
4581+ juju run --machine ${sdn_machine} "hostname"
4582+
4583+ echo "EMS GUI at https://${sdn_host}:4430/"
4584+
4585
4586=== added file 'NFV/EPIC/01-deploy-epic.sh'
4587--- NFV/EPIC/01-deploy-epic.sh 1970-01-01 00:00:00 +0000
4588+++ NFV/EPIC/01-deploy-epic.sh 2018-09-07 10:48:48 +0000
4589@@ -0,0 +1,58 @@
4590+#!/bin/bash
4591+
4592+
4593+set -e
4594+
4595+juju set-constraints tags=
4596+
4597+#export JUJU_REPOSITORY=/home/ubuntu/charms
4598+#export LAYER_PATH=/home/ubuntu/charms/layers
4599+#export INTERFACE_PATH=/home/ubuntu/charms/interfaces
4600+
4601+juju-deployer -r 6 -c epic_multi_bundle.yaml -o distribution-pass=3xpet0guest --debug
4602+
4603+sleep 60
4604+
4605+# Checking status before launching OVS
4606+
4607+ems_status=`juju status --format tabular | grep ems/ | awk '{print $2 }'`
4608+fabric_status=`juju status --format tabular | grep fabric/ | awk '{print $2 }'`
4609+hss_status=`juju status --format tabular | grep hss/ | awk '{print $2 }'`
4610+mme_status=`juju status --format tabular | grep mme/ | awk '{print $2 }'`
4611+pcrf_status=`juju status --format tabular | grep pcrf/ | awk '{print $2 }'`
4612+pgw_status=`juju status --format tabular | grep pgw/ | awk '{print $2 }'`
4613+sgw_status=`juju status --format tabular | grep sgw/ | awk '{print $2 }'`
4614+
4615+while [ $ems_status != "active" ] || [ $fabric_status != "active" ] || [ $hss_status != "active" ] || [ $mme_status != "active" ]|| [ $pcrf_status != "active" ] || [ $pgw_status != "active" ] || [ $sgw_status != "active" ]; do
4616+ems_status=`juju status --format tabular | grep ems/ | awk '{print $2 }'`
4617+fabric_status=`juju status --format tabular | grep fabric/ | awk '{print $2 }'`
4618+hss_status=`juju status --format tabular | grep hss/ | awk '{print $2 }'`
4619+mme_status=`juju status --format tabular | grep mme/ | awk '{print $2 }'`
4620+pcrf_status=`juju status --format tabular | grep pcrf/ | awk '{print $2 }'`
4621+pgw_status=`juju status --format tabular | grep pgw/ | awk '{print $2 }'`
4622+sgw_status=`juju status --format tabular | grep sgw/ | awk '{print $2 }'`
4623+
4624+echo "Waiting for nodes to become active"
4625+
4626+done
4627+
4628+echo "All nodes are a active, ready for configuration"
4629+
4630+
4631+#OVS Installation and Docker ports connection
4632+
4633+ sdn_machine=`juju status --format tabular | grep ems/ | awk '{print $5 }'`
4634+ sdn_host=`juju status --format tabular | grep ems/ | awk '{print $6 }' | nslookup | awk ' FNR == 5 {print $2 }'`
4635+ echo ${sdn_machine}
4636+
4637+ juju scp setup-ovs.sh ${sdn_machine}:/home/ubuntu
4638+ sleep 5
4639+ juju run --machine ${sdn_machine} "chmod 777 /home/ubuntu/setup-ovs.sh"
4640+ sleep 5
4641+# juju run --machine ${sdn_machine} "./setup-ovs.sh"
4642+# sleep 15
4643+# juju run --machine ${sdn_machine} "docker ps"
4644+# juju run --machine ${sdn_machine} "hostname"
4645+
4646+# echo "EMS GUI at https://${sdn_host}:4430/"
4647+
4648
4649=== added file 'NFV/EPIC/README'
4650--- NFV/EPIC/README 1970-01-01 00:00:00 +0000
4651+++ NFV/EPIC/README 2018-09-07 10:48:48 +0000
4652@@ -0,0 +1,76 @@
4653+
4654+LTE agility through containerization; Security through an encrypted core; High Availability through advanced AI algorithms.Expeto offers the entire LTE core network stack in a Platform as a Service (PaaS) model.
4655+ As a PaaS solution, automation and orchestration is achieved through IT methods but with traditional telco reliability and resilience.
4656+This charm runs LTE apps in Docker containers
4657+
4658+To deploy the bundle 1.25, execute the following:
4659+
4660+1) ./01-deploy-epic.sh
4661+
4662+To deploy the bundle 2.0, execute the following:
4663+
4664+1)./01-deploy-epic-juju20.sh
4665+
4666+
4667+2) After the deployment script is complete, juju ssh to the unit running the EPIC's Docker images
4668+3) Execute "./setup-ovs.sh"
4669+4) Execute "docker exec -ti ems_ems_1 service ems status" if the response is [RUNNING], the charm is fully operational
4670+
4671+
4672+To login to the EXPETO dashboard:
4673+ A) juju status --format tabular | grep ems/ | awk '{print $6 }' | nslookup | awk ' FNR == 5 {print $2 }'
4674+ B) note the ip address
4675+ In a browser https://<ip from above command>:4430 (login: admin, password: admin)
4676+
4677+To clean up from the deployment, execute the 99-cleanup.sh script in the ~Examples directory
4678+
4679+These steps will suffice for deploying the EPIC charms,
4680+for an end to end testing ( with a physical eNodeB for UA attachment and browsing to Internet )
4681+perform the following complementary steps ( requires Physical Octasic card, SIM and LTE Mobile )
4682+
4683+1) Connect Octasic card ( eNodeB ) to White Box's LAN Port
4684+2) Connect WhiteBox's WAN port to external network ( e.g. the same network providing Internet Access to OB )
4685+3) Power on WhiteBox, log in to the GUI using the WiFi provided by WhiteBox ( SSID: Expeto PWD:datadata ) or extenal WhiteBox's WAN IP
4686+4) Make sure a static route to 172.27.0.0/16 points to the IP assigned to the OB's Router ( so WhiteBox can reach nodes and charms inside OB )
4687+5) Configure OpenVPN with the exposed EPIC's IP ( from the exisiting Deployment )
4688+6) Power on Octasic card, it will be assigned internal IP 192.168.11.31 by WhiteBox
4689+7) SSH to Octasic ( user "root", no password )
4690+8) run "./runme.sh", this will initialize the eNodeB SW and connect to the MME, you can tell it is succesfull by a continous sete of dots ( ... )
4691+( you can use screen to avoid the script to stop )
4692+9) Once everything is running, remove mobile from airplane mode and it should be able to attach to PLMN1- PLMN1 provider and be able to browse the Internet ( of course the mobile must have one of the valid pre-provisioned SIM cards )
4693+
4694+
4695+Useful commands for troubleshooting:
4696+
4697+Docker commands:
4698+
4699+docker ps
4700+docker exec -ti ems_ems_1 service ems status
4701+docker exec -ti ems_ems_1 service ems start
4702+docker exec -ti ems_ems_1 /bin/bash
4703+docker logs ems_ems_1
4704+docker exec -ti ems_ems_1 ping 10.42.11.1
4705+
4706+OVS Commands:
4707+
4708+sudo ovs-vsctl show --> show all the ports
4709+sudo ovs-vsctl list-ports mwc-br1
4710+
4711+Delete OVS Ports ( no fabric ) :
4712+sudo ovs-docker del-port mwc-br1 eth0 ems_ems_1
4713+sudo ovs-docker del-port mwc-br1 eth0 pcrf_pcrf_1
4714+sudo ovs-docker del-port mwc-br1 eth0 sgw_sgw_1
4715+sudo ovs-docker del-port mwc-br1 eth0 mme_mme_1
4716+sudo ovs-docker del-port mwc-br1 eth0 hss_hss_1
4717+sudo ovs-docker del-port mwc-br1 eth0 pgw_pgw_1
4718+
4719+Add Ports ( no fabric ) :
4720+sudo ovs-docker add-port mwc-br1 eth0 ems_ems_1 --ipaddress=10.42.11.100/24
4721+sudo ovs-docker add-port mwc-br1 eth0 pcrf_pcrf_1 --ipaddress=10.42.11.106/24
4722+sudo ovs-docker add-port mwc-br1 eth0 sgw_sgw_1 --ipaddress=10.42.11.103/24
4723+sudo ovs-docker add-port mwc-br1 eth0 mme_mme_1 --ipaddress=10.42.11.101/24
4724+sudo ovs-docker add-port mwc-br1 eth0 hss_hss_1 --ipaddress=10.42.11.102/24
4725+sudo ovs-docker add-port mwc-br1 eth0 pgw_pgw_1 --ipaddress=10.42.11.104/24
4726+
4727+==============================================================
4728+
4729
4730=== added file 'NFV/EPIC/epic_juju20.yaml'
4731--- NFV/EPIC/epic_juju20.yaml 1970-01-01 00:00:00 +0000
4732+++ NFV/EPIC/epic_juju20.yaml 2018-09-07 10:48:48 +0000
4733@@ -0,0 +1,103 @@
4734+series: trusty
4735+services:
4736+ ems:
4737+ charm: "cs:~brianlbaird/trusty/ems-6"
4738+ num_units: 1
4739+ options:
4740+ "distribution-email": "expetoguest@shaw.ca"
4741+ "distribution-pass": 3xpet0guest
4742+ "distribution-user": expetoguest
4743+ annotations:
4744+ "gui-x": "1392.3125"
4745+ "gui-y": "496.07147216796875"
4746+ to:
4747+ - "0"
4748+ fabric:
4749+ charm: "cs:~brianlbaird/trusty/fabric-10"
4750+ num_units: 1
4751+ options:
4752+ "distribution-email": "expetoguest@shaw.ca"
4753+ "distribution-pass": 3xpet0guest
4754+ "distribution-user": expetoguest
4755+ annotations:
4756+ "gui-x": "1681.8294677734375"
4757+ "gui-y": "1334.6952514648438"
4758+ to:
4759+ - "0"
4760+ hss:
4761+ charm: "cs:~brianlbaird/trusty/hss-7"
4762+ num_units: 1
4763+ options:
4764+ "distribution-email": "expetoguest@shaw.ca"
4765+ "distribution-pass": 3xpet0guest
4766+ "distribution-user": expetoguest
4767+ annotations:
4768+ "gui-x": "2325.8292236328125"
4769+ "gui-y": "878.6952514648438"
4770+ to:
4771+ - "0"
4772+ mme:
4773+ charm: "cs:~brianlbaird/trusty/mme-8"
4774+ num_units: 1
4775+ options:
4776+ "distribution-email": "expetoguest@shaw.ca"
4777+ "distribution-pass": 3xpet0guest
4778+ "distribution-user": expetoguest
4779+ annotations:
4780+ "gui-x": "1656.8294677734375"
4781+ "gui-y": "829.6952514648438"
4782+ to:
4783+ - "0"
4784+ pcrf:
4785+ charm: "cs:~brianlbaird/trusty/pcrf-6"
4786+ num_units: 1
4787+ options:
4788+ "distribution-email": "expetoguest@shaw.ca"
4789+ "distribution-pass": 3xpet0guest
4790+ "distribution-user": expetoguest
4791+ annotations:
4792+ "gui-x": "2302.829345703125"
4793+ "gui-y": "1279.6952514648438"
4794+ to:
4795+ - "0"
4796+ pgw:
4797+ charm: "cs:~brianlbaird/trusty/pgw-6"
4798+ num_units: 1
4799+ options:
4800+ "distribution-email": "expetoguest@shaw.ca"
4801+ "distribution-pass": 3xpet0guest
4802+ "distribution-user": expetoguest
4803+ annotations:
4804+ "gui-x": "1330.32568359375"
4805+ "gui-y": "1324.9532165527344"
4806+ to:
4807+ - "0"
4808+ sgw:
4809+ charm: "cs:~brianlbaird/trusty/sgw-6"
4810+ num_units: 1
4811+ options:
4812+ "distribution-email": "expetoguest@shaw.ca"
4813+ "distribution-pass": 3xpet0guest
4814+ "distribution-user": expetoguest
4815+ annotations:
4816+ "gui-x": "1323.8294677734375"
4817+ "gui-y": "1008.6952514648438"
4818+ to:
4819+ - "0"
4820+relations:
4821+ - - "sgw:fabric"
4822+ - "fabric:fabric"
4823+ - - "fabric:fabric"
4824+ - "pgw:fabric"
4825+ - - "fabric:fabric"
4826+ - "ems:fabric"
4827+ - - "fabric:fabric"
4828+ - "pcrf:fabric"
4829+ - - "hss:hss"
4830+ - "mme:hss"
4831+ - - "mme:fabric"
4832+ - "fabric:fabric"
4833+machines:
4834+ "0":
4835+ series: trusty
4836+ constraints: "arch=amd64 cpu-cores=4 mem=16384"
4837
4838=== added file 'NFV/EPIC/epic_multi_bundle.yaml'
4839--- NFV/EPIC/epic_multi_bundle.yaml 1970-01-01 00:00:00 +0000
4840+++ NFV/EPIC/epic_multi_bundle.yaml 2018-09-07 10:48:48 +0000
4841@@ -0,0 +1,104 @@
4842+series: trusty
4843+services:
4844+ ems:
4845+ charm: "cs:~brianlbaird/trusty/ems"
4846+ num_units: 1
4847+ options:
4848+ distribution-user: "expetoguest"
4849+ distribution-pass: "3xpet0guest"
4850+ distribution-email: "expetoguest@shaw.ca"
4851+ annotations:
4852+ "gui-x": "1392.3125"
4853+ "gui-y": "496.07147216796875"
4854+ to:
4855+ - "40"
4856+ hss:
4857+ charm: "cs:~brianlbaird/trusty/hss"
4858+ num_units: 1
4859+ options:
4860+ distribution-user: "expetoguest"
4861+ distribution-pass: "3xpet0guest"
4862+ distribution-email: "expetoguest@shaw.ca"
4863+ annotations:
4864+ "gui-x": "2325.8292236328125"
4865+ "gui-y": "878.6952514648438"
4866+ to:
4867+ - "40"
4868+ mme:
4869+ charm: "cs:~brianlbaird/trusty/mme"
4870+ num_units: 1
4871+ options:
4872+ distribution-user: "expetoguest"
4873+ distribution-pass: "3xpet0guest"
4874+ distribution-email: "expetoguest@shaw.ca"
4875+ annotations:
4876+ "gui-x": "1656.8294677734375"
4877+ "gui-y": "829.6952514648438"
4878+ to:
4879+ - "40"
4880+ pgw:
4881+ charm: "cs:~brianlbaird/trusty/pgw"
4882+ num_units: 1
4883+ options:
4884+ distribution-user: "expetoguest"
4885+ distribution-pass: "3xpet0guest"
4886+ distribution-email: "expetoguest@shaw.ca"
4887+ annotations:
4888+ "gui-x": "1330.32568359375"
4889+ "gui-y": "1324.9532165527344"
4890+ to:
4891+ - "40"
4892+ sgw:
4893+ charm: "cs:~brianlbaird/trusty/sgw"
4894+ num_units: 1
4895+ options:
4896+ distribution-user: "expetoguest"
4897+ distribution-pass: "3xpet0guest"
4898+ distribution-email: "expetoguest@shaw.ca"
4899+ annotations:
4900+ "gui-x": "1323.8294677734375"
4901+ "gui-y": "1008.6952514648438"
4902+ to:
4903+ - "40"
4904+ pcrf:
4905+ charm: "cs:~brianlbaird/trusty/pcrf"
4906+ num_units: 1
4907+ options:
4908+ distribution-user: "expetoguest"
4909+ distribution-pass: "3xpet0guest"
4910+ distribution-email: "expetoguest@shaw.ca"
4911+ annotations:
4912+ "gui-x": "2302.829345703125"
4913+ "gui-y": "1279.6952514648438"
4914+ to:
4915+ - "40"
4916+ fabric:
4917+ charm: "cs:~brianlbaird/trusty/fabric"
4918+ num_units: 1
4919+ options:
4920+ distribution-user: "expetoguest"
4921+ distribution-pass: "3xpet0guest"
4922+ distribution-email: "expetoguest@shaw.ca"
4923+ annotations:
4924+ "gui-x": "1681.8294677734375"
4925+ "gui-y": "1334.6952514648438"
4926+ to:
4927+ - "40"
4928+relations:
4929+ - - "hss:hss"
4930+ - "mme:hss"
4931+ - - "fabric:fabric"
4932+ - "pgw:fabric"
4933+ - - "sgw:fabric"
4934+ - "fabric:fabric"
4935+ - - "fabric:fabric"
4936+ - "pcrf:fabric"
4937+ - - "mme:fabric"
4938+ - "fabric:fabric"
4939+ - - "fabric:fabric"
4940+ - "ems:fabric"
4941+machines:
4942+ "40":
4943+ series: trusty
4944+# constraints: "arch=amd64 cpu-cores=4 mem=16384"
4945+ constraints: "arch=amd64 cpu-cores=2 mem=8000"
4946
4947=== added file 'NFV/EPIC/epic_multi_bundle_local.yaml'
4948--- NFV/EPIC/epic_multi_bundle_local.yaml 1970-01-01 00:00:00 +0000
4949+++ NFV/EPIC/epic_multi_bundle_local.yaml 2018-09-07 10:48:48 +0000
4950@@ -0,0 +1,104 @@
4951+series: trusty
4952+services:
4953+ ems:
4954+ charm: "local:~trusty/ems"
4955+ num_units: 1
4956+ options:
4957+ distribution-user: "expetoguest"
4958+ distribution-pass: "3xpet0guest"
4959+ distribution-email: "expetoguest@shaw.ca"
4960+ annotations:
4961+ "gui-x": "1392.3125"
4962+ "gui-y": "496.07147216796875"
4963+ to:
4964+ - "40"
4965+ hss:
4966+ charm: "local:trusty/hss"
4967+ num_units: 1
4968+ options:
4969+ distribution-user: "expetoguest"
4970+ distribution-pass: "3xpet0guest"
4971+ distribution-email: "expetoguest@shaw.ca"
4972+ annotations:
4973+ "gui-x": "2325.8292236328125"
4974+ "gui-y": "878.6952514648438"
4975+ to:
4976+ - "40"
4977+ mme:
4978+ charm: "local:trusty/mme"
4979+ num_units: 1
4980+ options:
4981+ distribution-user: "expetoguest"
4982+ distribution-pass: "3xpet0guest"
4983+ distribution-email: "expetoguest@shaw.ca"
4984+ annotations:
4985+ "gui-x": "1656.8294677734375"
4986+ "gui-y": "829.6952514648438"
4987+ to:
4988+ - "40"
4989+ pgw:
4990+ charm: "local:trusty/pgw"
4991+ num_units: 1
4992+ options:
4993+ distribution-user: "expetoguest"
4994+ distribution-pass: "3xpet0guest"
4995+ distribution-email: "expetoguest@shaw.ca"
4996+ annotations:
4997+ "gui-x": "1330.32568359375"
4998+ "gui-y": "1324.9532165527344"
4999+ to:
5000+ - "40"
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: