Merge lp:~bigdata-dev/charms/trusty/apache-hadoop-yarn-master/trunk into lp:charms/trusty/apache-hadoop-yarn-master

Proposed by Kevin W Monroe
Status: Merged
Merged at revision: 89
Proposed branch: lp:~bigdata-dev/charms/trusty/apache-hadoop-yarn-master/trunk
Merge into: lp:charms/trusty/apache-hadoop-yarn-master
Diff against target: 261 lines (+112/-41) (has conflicts)
9 files modified
DEV-README.md (+7/-0)
README.md (+7/-5)
dist.yaml (+5/-32)
hooks/callbacks.py (+4/-0)
hooks/common.py (+10/-3)
hooks/namenode-relation-departed (+26/-0)
hooks/nodemanager-relation-departed (+26/-0)
hooks/resourcemanager-relation-departed (+26/-0)
resources.yaml (+1/-1)
Text conflict in DEV-README.md
Conflict adding file resources/python/jujuresources-0.2.9.tar.gz.  Moved existing file to resources/python/jujuresources-0.2.9.tar.gz.moved.
To merge this branch: bzr merge lp:~bigdata-dev/charms/trusty/apache-hadoop-yarn-master/trunk
Reviewer Review Type Date Requested Status
Kevin W Monroe Approve
Review via email: mp+268671@code.launchpad.net
To post a comment you must log in.
102. By Cory Johns

Fixed permissions on test_dist_config.py

Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

Realtime syslog analytics bundle test looked good. Merged.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'DEV-README.md'
2--- DEV-README.md 2015-06-29 14:25:40 +0000
3+++ DEV-README.md 2015-08-21 21:51:40 +0000
4@@ -77,10 +77,17 @@
5
6 ## Manual Deployment
7
8+<<<<<<< TREE
9 The easiest way to deploy the core Apache Hadoop platform is to use one of
10 the [apache bundles](https://jujucharms.com/u/bigdata-charmers/#bundles).
11 However, to manually deploy the base Apache Hadoop platform without using one
12 of the bundles, you can use the following:
13+=======
14+The easiest way to deploy an Apache Hadoop platform is to use one of
15+the [apache bundles](https://jujucharms.com/u/bigdata-charmers/#bundles).
16+However, to manually deploy the base Apache Hadoop platform without using one
17+of the bundles, you can use the following:
18+>>>>>>> MERGE-SOURCE
19
20 juju deploy apache-hadoop-hdfs-master hdfs-master
21 juju deploy apache-hadoop-hdfs-secondary secondary-namenode
22
23=== modified file 'README.md'
24--- README.md 2015-06-18 17:13:00 +0000
25+++ README.md 2015-08-21 21:51:40 +0000
26@@ -49,17 +49,19 @@
27 of these resources:
28
29 sudo pip install jujuresources
30- juju resources fetch --all apache-hadoop-compute-slave/resources.yaml -d /tmp/resources
31- juju resources serve -d /tmp/resources
32+ juju-resources fetch --all /path/to/resources.yaml -d /tmp/resources
33+ juju-resources serve -d /tmp/resources
34
35 This will fetch all of the resources needed by this charm and serve them via a
36-simple HTTP server. You can then set the `resources_mirror` config option to
37-have the charm use this server for retrieving resources.
38+simple HTTP server. The output from `juju-resources serve` will give you a
39+URL that you can set as the `resources_mirror` config option for this charm.
40+Setting this option will cause all resources required by this charm to be
41+downloaded from the configured URL.
42
43 You can fetch the resources for all of the Apache Hadoop charms
44 (`apache-hadoop-hdfs-master`, `apache-hadoop-yarn-master`,
45 `apache-hadoop-hdfs-secondary`, `apache-hadoop-plugin`, etc) into a single
46-directory and serve them all with a single `juju resources serve` instance.
47+directory and serve them all with a single `juju-resources serve` instance.
48
49
50 ## Contact Information
51
52=== modified file 'dist.yaml'
53--- dist.yaml 2015-04-16 15:47:18 +0000
54+++ dist.yaml 2015-08-21 21:51:40 +0000
55@@ -73,44 +73,17 @@
56 # Only expose ports serving a UI or external API (i.e., namenode and
57 # resourcemanager). Communication among units within the cluster does
58 # not need ports to be explicitly opened.
59- # If adding a port here, you will need to update
60- # charmhelpers.contrib.bigdata.handlers.apache or hooks/callbacks.py
61- # to ensure that it is supported.
62- namenode:
63- port: 8020
64- exposed_on: 'hdfs-master'
65- nn_webapp_http:
66- port: 50070
67- exposed_on: 'hdfs-master'
68- dn_webapp_http:
69- port: 50075
70- exposed_on: 'compute-slave'
71 resourcemanager:
72 port: 8032
73- exposed_on: 'yarn-master'
74 rm_webapp_http:
75 port: 8088
76 exposed_on: 'yarn-master'
77- rm_log:
78- port: 19888
79- nm_webapp_http:
80- port: 8042
81- exposed_on: 'compute-slave'
82- jobhistory:
83- port: 10020
84- jh_webapp_http:
85- port: 19888
86- exposed_on: 'yarn-master'
87 # TODO: support SSL
88- #nn_webapp_https:
89- # port: 50470
90- # exposed_on: 'hdfs-master'
91- #dn_webapp_https:
92- # port: 50475
93- # exposed_on: 'compute-slave'
94 #rm_webapp_https:
95 # port: 8090
96 # exposed_on: 'yarn-master'
97- #nm_webapp_https:
98- # port: 8044
99- # exposed_on: 'compute-slave'
100+ jobhistory:
101+ port: 10020
102+ jh_webapp_http:
103+ port: 19888
104+ exposed_on: 'yarn-master'
105
106=== modified file 'hooks/callbacks.py'
107--- hooks/callbacks.py 2015-06-25 15:35:47 +0000
108+++ hooks/callbacks.py 2015-08-21 21:51:40 +0000
109@@ -46,3 +46,7 @@
110 hookenv.status_set('waiting', 'Waiting for compute slaves to provide NodeManagers')
111 else:
112 hookenv.status_set('blocked', 'Waiting for relation to compute slaves')
113+
114+
115+def clear_active_flag():
116+ unitdata.kv().set('charm.active', False)
117
118=== modified file 'hooks/common.py'
119--- hooks/common.py 2015-06-26 22:24:43 +0000
120+++ hooks/common.py 2015-08-21 21:51:40 +0000
121@@ -58,9 +58,14 @@
122 yarn = jujubigdata.handlers.YARN(hadoop)
123 hdfs = jujubigdata.handlers.HDFS(hadoop)
124 port = dist_config.port('resourcemanager')
125- hs_port = dist_config.port('jobhistory')
126- nodemanagers = jujubigdata.relations.ResourceManagerMaster(spec=hadoop.spec, port=port, historyserver_port=hs_port)
127- clients = jujubigdata.relations.ResourceManager(spec=hadoop.spec, port=port, historyserver_port=hs_port)
128+ hs_http = dist_config.port('jh_webapp_http')
129+ hs_ipc = dist_config.port('jobhistory')
130+ nodemanagers = jujubigdata.relations.ResourceManagerMaster(
131+ spec=hadoop.spec, port=port,
132+ historyserver_http=hs_http, historyserver_ipc=hs_ipc)
133+ clients = jujubigdata.relations.ResourceManager(
134+ spec=hadoop.spec, port=port,
135+ historyserver_http=hs_http, historyserver_ipc=hs_ipc)
136 namenode = jujubigdata.relations.NameNode(spec=hadoop.client_spec)
137 manager = charmframework.Manager([
138 {
139@@ -104,9 +109,11 @@
140 callbacks.update_active_status,
141 ],
142 'cleanup': [
143+ callbacks.clear_active_flag,
144 charmframework.helpers.close_ports(dist_config.exposed_ports('yarn-master')),
145 yarn.stop_resourcemanager,
146 yarn.stop_jobhistory,
147+ callbacks.update_blocked_status,
148 ],
149 },
150 ])
151
152=== added file 'hooks/namenode-relation-departed'
153--- hooks/namenode-relation-departed 1970-01-01 00:00:00 +0000
154+++ hooks/namenode-relation-departed 2015-08-21 21:51:40 +0000
155@@ -0,0 +1,26 @@
156+#!/usr/bin/env python
157+# Licensed under the Apache License, Version 2.0 (the "License");
158+# you may not use this file except in compliance with the License.
159+# You may obtain a copy of the License at
160+#
161+# http://www.apache.org/licenses/LICENSE-2.0
162+#
163+# Unless required by applicable law or agreed to in writing, software
164+# distributed under the License is distributed on an "AS IS" BASIS,
165+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
166+# See the License for the specific language governing permissions and
167+# limitations under the License.
168+
169+"""
170+All hooks in this charm are managed by the Charm Framework.
171+The framework helps manage dependencies and preconditions to ensure that
172+steps are only executed when they can be successful. As such, no additional
173+code should be added to this hook; instead, please integrate new functionality
174+into the 'callbacks' list in hooks/common.py. New callbacks can be placed
175+in hooks/callbacks.py, if necessary.
176+
177+See http://big-data-charm-helpers.readthedocs.org/en/latest/examples/framework.html
178+for more information.
179+"""
180+import common
181+common.manage()
182
183=== added file 'hooks/nodemanager-relation-departed'
184--- hooks/nodemanager-relation-departed 1970-01-01 00:00:00 +0000
185+++ hooks/nodemanager-relation-departed 2015-08-21 21:51:40 +0000
186@@ -0,0 +1,26 @@
187+#!/usr/bin/env python
188+# Licensed under the Apache License, Version 2.0 (the "License");
189+# you may not use this file except in compliance with the License.
190+# You may obtain a copy of the License at
191+#
192+# http://www.apache.org/licenses/LICENSE-2.0
193+#
194+# Unless required by applicable law or agreed to in writing, software
195+# distributed under the License is distributed on an "AS IS" BASIS,
196+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
197+# See the License for the specific language governing permissions and
198+# limitations under the License.
199+
200+"""
201+All hooks in this charm are managed by the Charm Framework.
202+The framework helps manage dependencies and preconditions to ensure that
203+steps are only executed when they can be successful. As such, no additional
204+code should be added to this hook; instead, please integrate new functionality
205+into the 'callbacks' list in hooks/common.py. New callbacks can be placed
206+in hooks/callbacks.py, if necessary.
207+
208+See http://big-data-charm-helpers.readthedocs.org/en/latest/examples/framework.html
209+for more information.
210+"""
211+import common
212+common.manage()
213
214=== added file 'hooks/resourcemanager-relation-departed'
215--- hooks/resourcemanager-relation-departed 1970-01-01 00:00:00 +0000
216+++ hooks/resourcemanager-relation-departed 2015-08-21 21:51:40 +0000
217@@ -0,0 +1,26 @@
218+#!/usr/bin/env python
219+# Licensed under the Apache License, Version 2.0 (the "License");
220+# you may not use this file except in compliance with the License.
221+# You may obtain a copy of the License at
222+#
223+# http://www.apache.org/licenses/LICENSE-2.0
224+#
225+# Unless required by applicable law or agreed to in writing, software
226+# distributed under the License is distributed on an "AS IS" BASIS,
227+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
228+# See the License for the specific language governing permissions and
229+# limitations under the License.
230+
231+"""
232+All hooks in this charm are managed by the Charm Framework.
233+The framework helps manage dependencies and preconditions to ensure that
234+steps are only executed when they can be successful. As such, no additional
235+code should be added to this hook; instead, please integrate new functionality
236+into the 'callbacks' list in hooks/common.py. New callbacks can be placed
237+in hooks/callbacks.py, if necessary.
238+
239+See http://big-data-charm-helpers.readthedocs.org/en/latest/examples/framework.html
240+for more information.
241+"""
242+import common
243+common.manage()
244
245=== modified file 'resources.yaml'
246--- resources.yaml 2015-07-24 15:51:31 +0000
247+++ resources.yaml 2015-08-21 21:51:40 +0000
248@@ -4,7 +4,7 @@
249 pathlib:
250 pypi: path.py>=7.0
251 jujubigdata:
252- pypi: jujubigdata>=2.0.2,<3.0.0
253+ pypi: jujubigdata>=4.0.0,<5.0.0
254 java-installer:
255 # This points to a script which manages installing Java.
256 # If replaced with an alternate implementation, it must output *only* two
257
258=== added file 'resources/python/jujuresources-0.2.9.tar.gz'
259Binary files resources/python/jujuresources-0.2.9.tar.gz 1970-01-01 00:00:00 +0000 and resources/python/jujuresources-0.2.9.tar.gz 2015-08-21 21:51:40 +0000 differ
260=== renamed file 'resources/python/jujuresources-0.2.9.tar.gz' => 'resources/python/jujuresources-0.2.9.tar.gz.moved'
261=== modified file 'tests/remote/test_dist_config.py' (properties changed: -x to +x)

Subscribers

People subscribed via source and target branches