Repository: ambari
Updated Branches:
  refs/heads/trunk b52e2543f -> c9f875d84


AMBARI-9168. RU - ZK Client needs to advertise version for Finalize to work 
(alejandro)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c9f875d8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c9f875d8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c9f875d8

Branch: refs/heads/trunk
Commit: c9f875d84e9cacc37369d4940ddd2bdc3f52f49d
Parents: b52e254
Author: Alejandro Fernandez <[email protected]>
Authored: Thu Jan 15 19:05:03 2015 -0800
Committer: Alejandro Fernandez <[email protected]>
Committed: Fri Jan 16 08:34:42 2015 -0800

----------------------------------------------------------------------
 .../svccomphost/ServiceComponentHostImpl.java   |  5 ++---
 .../package/scripts/journalnode_upgrade.py      |  8 +++-----
 .../package/scripts/zookeeper_client.py         | 21 ++++++++++++++++++++
 .../stacks/HDP/2.2/upgrades/upgrade-2.2.xml     |  6 ++++++
 4 files changed, 32 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
index 28a4721..31606ca 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/state/svccomphost/ServiceComponentHostImpl.java
@@ -1736,11 +1736,10 @@ public class ServiceComponentHostImpl implements 
ServiceComponentHost {
       }
     }
 
-    //TODO hack: clients' states are not updated, probably we should check the 
state of master components
+    // ZKFC is special because it is does not receive a RESTART action during 
a Rolling Upgrade.
     final Collection<HostComponentStateEntity> nonUpgradedHostComponents = 
CollectionUtils.subtract(allHostComponents, upgradedHostComponents);
     for (HostComponentStateEntity hostComponentStateEntity: 
nonUpgradedHostComponents) {
-      final Service service = 
cluster.getService(hostComponentStateEntity.getServiceName());
-      if 
(service.getServiceComponent(hostComponentStateEntity.getComponentName()).isClientComponent())
 {
+      if 
(hostComponentStateEntity.getComponentName().equalsIgnoreCase("ZKFC")) {
         upgradedHostComponents.add(hostComponentStateEntity);
       }
     }

http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py
 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py
index d8455e8..4e85130 100644
--- 
a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py
+++ 
b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/journalnode_upgrade.py
@@ -47,9 +47,7 @@ def post_upgrade_check():
     raise Fail("Need at least 3 Journalnodes to maintain a quorum")
 
   # TODO, test with HTTPS
-  policy = default("/configurations/hdfs-site/dfs.http.policy", None)
-  if not policy:
-    raise Fail("Could not retrieve dfs.http.policy")
+  policy = default("/configurations/hdfs-site/dfs.http.policy", "HTTP_ONLY")
   encrypted = policy.upper == "HTTPS_ONLY"
 
   nn_address = default("/configurations/hdfs-site/dfs.namenode.https-address", 
None) if encrypted else \
@@ -136,10 +134,10 @@ def ensure_jns_have_new_txn(nodes, last_txn_id):
       if data:
         actual_txn_ids[node] = int(data)
         if actual_txn_ids[node] >= last_txn_id:
-          Logger.info("Journalnode %s has a higher transaction id: %s" + 
str(data))
+          Logger.info("Journalnode %s has a higher transaction id: %s" % 
(node, str(data)))
           jns_updated += 1
         else:
-          Logger.info("Journalnode %s is still on transaction id: %s" + 
str(data))
+          Logger.info("Journalnode %s is still on transaction id: %s" % (node, 
str(data)))
 
     Logger.info("Sleeping for %d secs" % step_time_secs)
     time.sleep(step_time_secs)

http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py
 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py
index 81d3604..dcaaab6 100644
--- 
a/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py
+++ 
b/ambari-server/src/main/resources/common-services/ZOOKEEPER/3.4.5.2.0/package/scripts/zookeeper_client.py
@@ -21,6 +21,8 @@ Ambari Agent
 
 import sys
 from resource_management import *
+from resource_management.libraries.functions.version import compare_versions, 
format_hdp_stack_version
+from resource_management.libraries.functions.format import format
 
 from zookeeper import zookeeper
 
@@ -39,6 +41,25 @@ class ZookeeperClient(Script):
 
     zookeeper(type='client')
 
+  def pre_rolling_restart(self, env):
+    Logger.info("Executing Rolling Upgrade pre-restart")
+    import params
+    env.set_params(params)
+
+    if params.version and 
compare_versions(format_hdp_stack_version(params.version), '2.2.0.0') >= 0:
+      Execute(format("hdp-select set zookeeper-client {version}"))
+
+  def start(self, env, rolling_restart=False):
+    import params
+    env.set_params(params)
+    self.configure(env)
+    pass
+
+  def stop(self, env, rolling_restart=False):
+    import params
+    env.set_params(params)
+    pass
+
   def status(self, env):
     raise ClientComponentHasNoStatus()
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/c9f875d8/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml 
b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml
index 75730f2..4a4b158 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml
+++ b/ambari-server/src/main/resources/stacks/HDP/2.2/upgrades/upgrade-2.2.xml
@@ -203,6 +203,12 @@
           <task xsi:type="restart" />
         </upgrade>
       </component>
+
+      <component name="ZOOKEEPER_CLIENT">
+        <upgrade>
+          <task xsi:type="restart" />
+        </upgrade>
+      </component>
     </service>
 
     <service name="HDFS">

Reply via email to