[08/29] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-09-12 Thread sunilg
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/trunk
Commit: d312b5cf9016432ec5a7e64b81ab7a8c31f3
Parents: 4458b27
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Sunil G 
Committed: Wed Sep 12 16:01:00 2018 +0530

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/d312b5cf/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index af31fb3..5bae5f4 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3542,6 +3542,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3552,6 +3555,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3623,6 +3629,33 @@ public class YarnConfiguration extends Configuration {
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
   /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
+  /*
* Support to view apps for given user in secure cluster.
* @deprecated This field is deprecated for {@link 
#FILTER_ENTITY_LIST_BY_USER}
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/d312b5cf/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
---

[09/30] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-09-12 Thread sunilg
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: d312b5cf9016432ec5a7e64b81ab7a8c31f3
Parents: 4458b27
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Sunil G 
Committed: Wed Sep 12 16:01:00 2018 +0530

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/d312b5cf/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index af31fb3..5bae5f4 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3542,6 +3542,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3552,6 +3555,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3623,6 +3629,33 @@ public class YarnConfiguration extends Configuration {
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
   /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
+  /*
* Support to view apps for given user in secure cluster.
* @deprecated This field is deprecated for {@link 
#FILTER_ENTITY_LIST_BY_USER}
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/d312b5cf/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
---

[62/90] [abbrv] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-09-12 Thread sunilg
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: 989be7c6f198773bb17074741d492b61f8c75240
Parents: 1ae5f61
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Sunil G 
Committed: Wed Sep 12 12:36:11 2018 +0530

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/989be7c6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index af31fb3..5bae5f4 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3542,6 +3542,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3552,6 +3555,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3623,6 +3629,33 @@ public class YarnConfiguration extends Configuration {
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
   /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
+  /*
* Support to view apps for given user in secure cluster.
* @deprecated This field is deprecated for {@link 
#FILTER_ENTITY_LIST_BY_USER}
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/989be7c6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
---

[36/50] [abbrv] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-08-25 Thread sunilg
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: 7c30fa0dc2b760bf32e6db916ea96b79d06dcc70
Parents: 807be17
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Sunil G 
Committed: Sat Aug 25 21:10:56 2018 +0530

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/7c30fa0d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index 148edb9..15f8b3b 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3525,6 +3525,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3535,6 +3538,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3606,6 +3612,33 @@ public class YarnConfiguration extends Configuration {
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
   /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
+  /*
* Support to view apps for given user in secure cluster.
* @deprecated This field is deprecated for {@link 
#FILTER_ENTITY_LIST_BY_USER}
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/7c30fa0d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
---

[32/50] [abbrv] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-07-27 Thread sunilg
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: 0771f5b63ad3ce118cdfe5a4cddfe4628130c0b3
Parents: 8017ef7
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Sunil G 
Committed: Fri Jul 27 16:40:33 2018 +0530

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/0771f5b6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index bbf877f..e6e9198 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3519,6 +3519,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3529,6 +3532,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3600,6 +3606,33 @@ public class YarnConfiguration extends Configuration {
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
   /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
+  /*
* Support to view apps for given user in secure cluster.
* @deprecated This field is deprecated for {@link 
#FILTER_ENTITY_LIST_BY_USER}
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/0771f5b6/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
---

[37/50] [abbrv] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-04-28 Thread naganarasimha_gr
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: cf0f27b5cb5593c46f74d460bcb5646e5153fa7b
Parents: a9782f8
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Naganarasimha 
Committed: Sat Apr 28 19:00:50 2018 +0800

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf0f27b5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index 8aa136d..b908faa 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3463,6 +3463,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3473,6 +3476,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3543,6 +3549,33 @@ public class YarnConfiguration extends Configuration {
   public static final String NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_SCRIPT_OPTS =
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
+  /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
   /*
* Support to view apps for given user in secure cluster.
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/cf0f27b5/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml

[39/50] [abbrv] hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-04-02 Thread naganarasimha_gr
YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: 980cc55c055e93f9cb471cc4e329ce9c00766f9a
Parents: d30e12d
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Naganarasimha 
Committed: Mon Apr 2 08:17:15 2018 +0800

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/980cc55c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index 42f2cae..730fb25 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3442,6 +3442,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3452,6 +3455,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3522,6 +3528,33 @@ public class YarnConfiguration extends Configuration {
   public static final String NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_SCRIPT_OPTS =
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
+  /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
   /*
* Support to view apps for given user in secure cluster.
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/980cc55c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
-

hadoop git commit: YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node attributes providers. Contributed by Weiwei Yang.

2018-02-04 Thread naganarasimha_gr
Repository: hadoop
Updated Branches:
  refs/heads/YARN-3409 4f6a6ff52 -> bd008e703


YARN-7757. Refactor NodeLabelsProvider to be more generic and reusable for node 
attributes providers. Contributed by Weiwei Yang.


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

Branch: refs/heads/YARN-3409
Commit: bd008e703235fed25a82b97c38f4eaaf02f18e5a
Parents: 4f6a6ff
Author: Naganarasimha 
Authored: Mon Feb 5 05:47:02 2018 +0800
Committer: Naganarasimha 
Committed: Mon Feb 5 05:47:02 2018 +0800

--
 .../hadoop/yarn/conf/YarnConfiguration.java |  33 +++
 .../src/main/resources/yarn-default.xml |  38 
 .../nodemanager/NodeStatusUpdaterImpl.java  |   4 +-
 .../AbstractNodeDescriptorsProvider.java| 197 
 .../nodelabels/AbstractNodeLabelsProvider.java  | 149 -
 .../ConfigurationNodeLabelsProvider.java|  13 +-
 .../nodelabels/NodeAttributesProvider.java  |  34 +++
 .../nodelabels/NodeDescriptorsProvider.java |  45 
 .../nodelabels/NodeDescriptorsScriptRunner.java |  84 +++
 .../nodelabels/NodeLabelsProvider.java  |  22 +-
 .../ScriptBasedNodeAttributesProvider.java  | 129 +++
 .../ScriptBasedNodeLabelsProvider.java  | 126 +++
 .../nodemanager/nodelabels/package-info.java|  28 +++
 .../TestNodeStatusUpdaterForLabels.java |  39 ++--
 .../TestConfigurationNodeLabelsProvider.java|  26 ++-
 .../TestScriptBasedNodeAttributesProvider.java  | 223 +++
 .../TestScriptBasedNodeLabelsProvider.java  |  18 +-
 17 files changed, 910 insertions(+), 298 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/hadoop/blob/bd008e70/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
--
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
index 271b666..54cbf8b 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
@@ -3337,6 +3337,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PREFIX = NM_PREFIX
   + "node-labels.";
 
+  private static final String NM_NODE_ATTRIBUTES_PREFIX = NM_PREFIX
+  + "node-attributes.";
+
   public static final String NM_NODE_LABELS_PROVIDER_CONFIG =
   NM_NODE_LABELS_PREFIX + "provider";
 
@@ -3347,6 +3350,9 @@ public class YarnConfiguration extends Configuration {
   private static final String NM_NODE_LABELS_PROVIDER_PREFIX =
   NM_NODE_LABELS_PREFIX + "provider.";
 
+  private static final String NM_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PREFIX + "provider.";
+
   public static final String NM_NODE_LABELS_RESYNC_INTERVAL =
   NM_NODE_LABELS_PREFIX + "resync-interval-ms";
 
@@ -3417,6 +3423,33 @@ public class YarnConfiguration extends Configuration {
   public static final String NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_SCRIPT_OPTS =
   NM_SCRIPT_BASED_NODE_LABELS_PROVIDER_PREFIX + "opts";
 
+  /**
+   * Node attribute provider fetch attributes interval and timeout.
+   */
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-interval-ms";
+
+  public static final long
+  DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS = 10 * 60 * 1000;
+
+  public static final String NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "fetch-timeout-ms";
+
+  public static final long DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_TIMEOUT_MS
+  = DEFAULT_NM_NODE_ATTRIBUTES_PROVIDER_FETCH_INTERVAL_MS * 2;
+
+  /**
+   * Script to collect node attributes.
+   */
+  private static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX =
+  NM_NODE_ATTRIBUTES_PROVIDER_PREFIX + "script.";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PATH =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "path";
+
+  public static final String NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_OPTS =
+  NM_SCRIPT_BASED_NODE_ATTRIBUTES_PROVIDER_PREFIX + "opts";
+
   /*
* Support to view apps for given user in secure cluster.
*/

http://git-wip-us.apache.org/repos/asf/hadoop/blob/bd008e70/had