ambari git commit: AMBARI-11173 - Alerts: Expose Customizable Timeout Parameter For WEB Alerts (jonathanhurley)
Repository: ambari Updated Branches: refs/heads/trunk 7e4f57b16 -> e5e1c3d79 AMBARI-11173 - Alerts: Expose Customizable Timeout Parameter For WEB Alerts (jonathanhurley) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e5e1c3d7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e5e1c3d7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e5e1c3d7 Branch: refs/heads/trunk Commit: e5e1c3d79773027ba7fa39fccb84083dd080c6ef Parents: 7e4f57b Author: Jonathan Hurley Authored: Fri May 15 11:59:21 2015 -0400 Committer: Jonathan Hurley Committed: Fri May 15 21:13:52 2015 -0400 -- .../python/ambari_agent/alerts/metric_alert.py | 15 --- .../main/python/ambari_agent/alerts/web_alert.py | 19 ++- .../src/test/python/ambari_agent/TestAlerts.py | 16 +++- .../ambari/server/state/alert/AlertUri.java | 6 ++ .../AMBARI_METRICS/0.1.0/alerts.json | 3 ++- .../common-services/ATLAS/0.1.0.2.3/alerts.json | 3 ++- .../common-services/FALCON/0.5.0.2.1/alerts.json | 3 ++- .../common-services/HBASE/0.96.0.2.0/alerts.json | 6 -- .../common-services/HDFS/2.1.0.2.0/alerts.json | 13 +++-- .../common-services/OOZIE/4.0.0.2.0/alerts.json | 3 ++- .../common-services/OOZIE/5.0.0.2.3/alerts.json | 3 ++- .../common-services/STORM/0.9.1.2.1/alerts.json | 5 +++-- .../common-services/YARN/2.1.0.2.0/alerts.json | 18 +- .../stacks/BIGTOP/0.8/services/HBASE/alerts.json | 3 ++- .../stacks/BIGTOP/0.8/services/HDFS/alerts.json | 13 +++-- .../stacks/BIGTOP/0.8/services/OOZIE/alerts.json | 3 ++- .../stacks/BIGTOP/0.8/services/YARN/alerts.json | 18 +- 17 files changed, 116 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/e5e1c3d7/ambari-agent/src/main/python/ambari_agent/alerts/metric_alert.py -- diff --git a/ambari-agent/src/main/python/ambari_agent/alerts/metric_alert.py b/ambari-agent/src/main/python/ambari_agent/alerts/metric_alert.py index 33f7508..a50b202 100644 --- a/ambari-agent/src/main/python/ambari_agent/alerts/metric_alert.py +++ b/ambari-agent/src/main/python/ambari_agent/alerts/metric_alert.py @@ -31,13 +31,16 @@ from resource_management.libraries.functions.get_port_from_url import get_port_f logger = logging.getLogger() -CONNECTION_TIMEOUT = 5.0 +# default timeout +DEFAULT_CONNECTION_TIMEOUT = 5.0 class MetricAlert(BaseAlert): def __init__(self, alert_meta, alert_source_meta): super(MetricAlert, self).__init__(alert_meta, alert_source_meta) - + +connection_timeout = DEFAULT_CONNECTION_TIMEOUT + self.metric_info = None if 'jmx' in alert_source_meta: self.metric_info = JmxMetric(alert_source_meta['jmx']) @@ -48,6 +51,12 @@ class MetricAlert(BaseAlert): uri = alert_source_meta['uri'] self.uri_property_keys = self._lookup_uri_property_keys(uri) + if 'connection_timeout' in uri: +connection_timeout = uri['connection_timeout'] + +# python uses 5.0, not 5 +self.connection_timeout = float(connection_timeout) + def _collect(self): if self.metric_info is None: @@ -159,7 +168,7 @@ class MetricAlert(BaseAlert): response = None try: url_opener = urllib2.build_opener(RefreshHeaderProcessor()) -response = url_opener.open(url, timeout=CONNECTION_TIMEOUT) +response = url_opener.open(url, timeout=self.connection_timeout) content = response.read() finally: # explicitely close the connection as we've seen python hold onto these http://git-wip-us.apache.org/repos/asf/ambari/blob/e5e1c3d7/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py -- diff --git a/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py b/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py index a2e3326..34e25e0 100644 --- a/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py +++ b/ambari-agent/src/main/python/ambari_agent/alerts/web_alert.py @@ -48,8 +48,8 @@ except ImportError: logger = logging.getLogger() -CONNECTION_TIMEOUT = 10.0 -CURL_CONNECTION_TIMEOUT = "10" +# default timeout +DEFAULT_CONNECTION_TIMEOUT = 5 WebResponse = namedtuple('WebResponse', 'status_code time_millis error_msg') @@ -57,13 +57,22 @@ class WebAlert(BaseAlert): def __init__(self, alert_meta, alert_source_meta, config): super(WebAlert, self).__init__(alert_meta, alert_source_meta) - + +connection_timeout = DEFAULT_CONNECTION_TIMEOUT + # extract any lookup keys from the URI structure self.uri_property_keys = None if 'uri' in alert_so
ambari git commit: AMBARI-11146. Upgrade Is Allowed When A Service Is Installed After Distribute Repositories (alejandro)
Repository: ambari Updated Branches: refs/heads/trunk 0ce9c0744 -> 7e4f57b16 AMBARI-11146. Upgrade Is Allowed When A Service Is Installed After Distribute Repositories (alejandro) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7e4f57b1 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7e4f57b1 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7e4f57b1 Branch: refs/heads/trunk Commit: 7e4f57b16493cf6df1ef68a1270bfcec8e9df48c Parents: 0ce9c07 Author: Alejandro Fernandez Authored: Fri May 15 17:46:02 2015 -0700 Committer: Alejandro Fernandez Committed: Fri May 15 17:59:09 2015 -0700 -- .../upgrade/HostVersionOutOfSyncListener.java | 13 +- .../HostVersionOutOfSyncListenerTest.java | 162 --- .../server/utils/EventBusSynchronizer.java | 2 + 3 files changed, 152 insertions(+), 25 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/7e4f57b1/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java index 8c8f978..1acb54b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListener.java @@ -34,6 +34,7 @@ import org.apache.ambari.server.orm.dao.HostVersionDAO; import org.apache.ambari.server.orm.entities.ClusterVersionEntity; import org.apache.ambari.server.orm.entities.HostEntity; import org.apache.ambari.server.orm.entities.HostVersionEntity; +import org.apache.ambari.server.orm.entities.StackEntity; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.RepositoryVersionState; @@ -54,7 +55,7 @@ import com.google.inject.persist.Transactional; * {@link org.apache.ambari.server.events.ServiceComponentInstalledEvent} * to update {@link org.apache.ambari.server.state.RepositoryVersionState} * - * @see org.apache.ambari.server.state.Cluster#recalculateClusterVersionState(String) + * @see org.apache.ambari.server.state.Cluster#recalculateClusterVersionState(StackId, String) */ @Singleton @EagerSingleton @@ -92,7 +93,10 @@ public class HostVersionOutOfSyncListener { StackId currentStackId = cluster.getCurrentStackVersion(); for (HostVersionEntity hostVersionEntity : hostVersionEntities) { -if (hostVersionEntity.getRepositoryVersion().getStack().equals(currentStackId.getStackId()) +StackEntity hostStackEntity = hostVersionEntity.getRepositoryVersion().getStack(); +StackId hostStackId = new StackId(hostStackEntity.getStackName(), hostStackEntity.getStackVersion()); + +if (currentStackId.equals(hostStackId) && hostVersionEntity.getState().equals(RepositoryVersionState.INSTALLED)) { hostVersionEntity.setState(RepositoryVersionState.OUT_OF_SYNC); hostVersionDAO.get().merge(hostVersionEntity); @@ -128,7 +132,10 @@ public class HostVersionOutOfSyncListener { List hostVersionEntities = hostVersionDAO.get().findByClusterAndHost(cluster.getClusterName(), hostName); for (HostVersionEntity hostVersionEntity : hostVersionEntities) { - if (hostVersionEntity.getRepositoryVersion().getStack().equals(currentStackId.getStackId()) + StackEntity hostStackEntity = hostVersionEntity.getRepositoryVersion().getStack(); + StackId hostStackId = new StackId(hostStackEntity.getStackName(), hostStackEntity.getStackVersion()); + + if (currentStackId.equals(hostStackId) && hostVersionEntity.getState().equals(RepositoryVersionState.INSTALLED)) { hostVersionEntity.setState(RepositoryVersionState.OUT_OF_SYNC); hostVersionDAO.get().merge(hostVersionEntity); http://git-wip-us.apache.org/repos/asf/ambari/blob/7e4f57b1/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java -- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java b/ambari-server/src/test/java/org/apache/ambari/server/events/listeners/upgrade/HostVersionOutOfSyncListenerTest.java index aa8b860..7f5cbfb 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/eve
ambari git commit: AMBARI-11186. Spark default config missing entry for org.apache.spark.deploy.yarn.history.YarnHistoryService. (Ram Venkatesh via mahadev)
Repository: ambari Updated Branches: refs/heads/trunk 16ce5aef6 -> 0ce9c0744 AMBARI-11186. Spark default config missing entry for org.apache.spark.deploy.yarn.history.YarnHistoryService. (Ram Venkatesh via mahadev) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0ce9c074 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0ce9c074 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0ce9c074 Branch: refs/heads/trunk Commit: 0ce9c074434cca40e5fbc9d022fbe76be3409926 Parents: 16ce5ae Author: Mahadev Konar Authored: Fri May 15 16:38:44 2015 -0700 Committer: Mahadev Konar Committed: Fri May 15 16:38:44 2015 -0700 -- .../SPARK/1.2.0.2.2/configuration/spark-defaults.xml | 8 1 file changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/0ce9c074/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/configuration/spark-defaults.xml -- diff --git a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/configuration/spark-defaults.xml b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/configuration/spark-defaults.xml index e34ddaf..4491469 100644 --- a/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/configuration/spark-defaults.xml +++ b/ambari-server/src/main/resources/common-services/SPARK/1.2.0.2.2/configuration/spark-defaults.xml @@ -101,6 +101,14 @@ +spark.yarn.services +org.apache.spark.deploy.yarn.history.YarnHistoryService + + Service required for publishing events to the YARN Application Timeline Service. + + + + spark.history.provider org.apache.spark.deploy.yarn.history.YarnHistoryProvider
ambari git commit: AMBARI-11175 Topology manager persistence scripts for SQL Server
Repository: ambari Updated Branches: refs/heads/trunk fe3d6b221 -> 16ce5aef6 AMBARI-11175 Topology manager persistence scripts for SQL Server Added the topology manager entities to the SQL Server create and drop scripts Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/16ce5aef Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/16ce5aef Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/16ce5aef Branch: refs/heads/trunk Commit: 16ce5aef628ef78842046d6e6b7f74f41a794bbf Parents: fe3d6b2 Author: Florian Barca Authored: Fri May 15 16:08:18 2015 -0700 Committer: Florian Barca Committed: Fri May 15 16:08:18 2015 -0700 -- .../resources/Ambari-DDL-SQLServer-CREATE.sql | 207 +++ .../resources/Ambari-DDL-SQLServer-DROP.sql | 14 ++ 2 files changed, 137 insertions(+), 84 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/16ce5aef/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql -- diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql index 860eed7..07fe02e 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql @@ -693,6 +693,66 @@ CREATE TABLE widget_layout_user_widget ( PRIMARY KEY CLUSTERED (widget_layout_id, widget_id) ); +CREATE TABLE topology_request ( + id BIGINT NOT NULL, + action VARCHAR(255) NOT NULL, + cluster_name VARCHAR(100) NOT NULL, + bp_name VARCHAR(100) NOT NULL, + cluster_properties TEXT, + cluster_attributes TEXT, + description VARCHAR(1024), + PRIMARY KEY CLUSTERED (id) +); + +CREATE TABLE topology_hostgroup ( + id BIGINT NOT NULL, + name VARCHAR(255) NOT NULL, + group_properties TEXT, + group_attributes TEXT, + request_id BIGINT NOT NULL, + PRIMARY KEY CLUSTERED (id) +); + +CREATE TABLE topology_host_info ( + id BIGINT NOT NULL, + group_id BIGINT NOT NULL, + fqdn VARCHAR(255), + host_count INTEGER, + predicate VARCHAR(2048), + PRIMARY KEY CLUSTERED (id) +); + +CREATE TABLE topology_logical_request ( + id BIGINT NOT NULL, + request_id BIGINT NOT NULL, + description VARCHAR(1024), + PRIMARY KEY CLUSTERED (id) +); + +CREATE TABLE topology_host_request ( + id BIGINT NOT NULL, + logical_request_id BIGINT NOT NULL, + group_id BIGINT NOT NULL, + stage_id BIGINT NOT NULL, + host_name VARCHAR(255), + PRIMARY KEY CLUSTERED (id) +); + +CREATE TABLE topology_host_task ( + id BIGINT NOT NULL, + host_request_id BIGINT NOT NULL, + type VARCHAR(255) NOT NULL, + PRIMARY KEY CLUSTERED (id) +); + +CREATE TABLE topology_logical_task ( + id BIGINT NOT NULL, + host_task_id BIGINT NOT NULL, + physical_task_id BIGINT, + component VARCHAR(255) NOT NULL, + PRIMARY KEY CLUSTERED (id) +); + -- altering tables by creating unique constraints-- altering tables to add constraints-- @@ -773,6 +833,14 @@ ALTER TABLE serviceconfighosts ADD CONSTRAINT FK_scvhosts_host_id FOREIGN KEY (h ALTER TABLE clusters ADD CONSTRAINT FK_clusters_resource_id FOREIGN KEY (resource_id) REFERENCES adminresource(resource_id); ALTER TABLE widget_layout_user_widget ADD CONSTRAINT FK_widget_layout_id FOREIGN KEY (widget_layout_id) REFERENCES widget_layout(id); ALTER TABLE widget_layout_user_widget ADD CONSTRAINT FK_widget_id FOREIGN KEY (widget_id) REFERENCES widget(id); +ALTER TABLE topology_hostgroup ADD CONSTRAINT FK_hostgroup_req_id FOREIGN KEY (request_id) REFERENCES topology_request(id); +ALTER TABLE topology_host_info ADD CONSTRAINT FK_hostinfo_group_id FOREIGN KEY (group_id) REFERENCES topology_hostgroup(id); +ALTER TABLE topology_logical_request ADD CONSTRAINT FK_logicalreq_req_id FOREIGN KEY (request_id) REFERENCES topology_request(id); +ALTER TABLE topology_host_request ADD CONSTRAINT FK_hostreq_logicalreq_id FOREIGN KEY (logical_request_id) REFERENCES topology_logical_request(id); +ALTER TABLE topology_host_request ADD CONSTRAINT FK_hostreq_group_id FOREIGN KEY (group_id) REFERENCES topology_hostgroup(id); +ALTER TABLE topology_host_task ADD CONSTRAINT FK_hosttask_req_id FOREIGN KEY (host_request_id) REFERENCES topology_host_request (id); +ALTER TABLE topology_logical_task ADD CONSTRAINT FK_ltask_hosttask_id FOREIGN KEY (host_task_id) REFERENCES topology_host_task (id); +ALTER TABLE topology_logical_task ADD CONSTRAINT FK_ltask_hrc_id FOREIGN KEY (physical_task_id) REFERENCES host_role_command (task_id); -- Kerberos CREATE TABLE kerberos_principal ( @@ -941,90 +1009,63 @@ CREATE TABLE upgrade_item ( -inserting some data--- BEGIN TRANSACTION INSERT INTO ambari_sequences (sequence_name, [sequence_va
ambari git commit: AMBARI-11182. Enable ranger plugin in Yarn config should be a checkbox. (Gautam Borad via yusaku)
Repository: ambari Updated Branches: refs/heads/trunk 6ce1ae551 -> fe3d6b221 AMBARI-11182. Enable ranger plugin in Yarn config should be a checkbox. (Gautam Borad via yusaku) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fe3d6b22 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fe3d6b22 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fe3d6b22 Branch: refs/heads/trunk Commit: fe3d6b2216233e80f121a25c5ef28d11eebe371a Parents: 6ce1ae5 Author: Yusaku Sako Authored: Fri May 15 15:21:03 2015 -0700 Committer: Yusaku Sako Committed: Fri May 15 15:21:03 2015 -0700 -- ambari-web/app/data/HDP2.3/site_properties.js | 11 +++ 1 file changed, 11 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/fe3d6b22/ambari-web/app/data/HDP2.3/site_properties.js -- diff --git a/ambari-web/app/data/HDP2.3/site_properties.js b/ambari-web/app/data/HDP2.3/site_properties.js index 9a3ad53..e46d600 100644 --- a/ambari-web/app/data/HDP2.3/site_properties.js +++ b/ambari-web/app/data/HDP2.3/site_properties.js @@ -244,6 +244,17 @@ hdp23properties.push({ }, { "id": "site property", +"name": "ranger-yarn-plugin-enabled", +"displayType": "checkbox", +"displayName": "Enable Ranger for YARN", +"isOverridable": false, +"filename": "ranger-yarn-plugin-properties.xml", +"category": "Advanced ranger-yarn-plugin-properties", +"serviceName": "YARN", +"index": 1 + }, + { +"id": "site property", "name": "xasecure.audit.db.is.enabled", "displayName": "Audit to DB", "displayType": "checkbox",
ambari git commit: AMBARI-11177 - ConfigureTask For Upgrades Must Support Type Coercion (part2) (jonathanhurley)
Repository: ambari Updated Branches: refs/heads/trunk a736f5ce6 -> 6ce1ae551 AMBARI-11177 - ConfigureTask For Upgrades Must Support Type Coercion (part2) (jonathanhurley) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/6ce1ae55 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/6ce1ae55 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/6ce1ae55 Branch: refs/heads/trunk Commit: 6ce1ae551e8dcdf083c86ffa86a8bae96dab0513 Parents: a736f5c Author: Jonathan Hurley Authored: Fri May 15 17:40:45 2015 -0400 Committer: Jonathan Hurley Committed: Fri May 15 17:41:21 2015 -0400 -- .../resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml | 8 1 file changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/6ce1ae55/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml -- diff --git a/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml b/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml index 32c419b..0e5e53c 100644 --- a/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml +++ b/ambari-server/src/test/resources/stacks/HDP/2.1.1/upgrades/upgrade_test.xml @@ -185,10 +185,10 @@ core-site - - - - + + + + important-key
ambari git commit: AMBARI-11153. Configs: notes don't change if you navigate away (Richard Zang via srimanth)
Repository: ambari Updated Branches: refs/heads/trunk 59f15b2ac -> a736f5ce6 AMBARI-11153. Configs: notes don't change if you navigate away (Richard Zang via srimanth) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a736f5ce Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a736f5ce Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a736f5ce Branch: refs/heads/trunk Commit: a736f5ce6fbd97e7723f7c291a0928f93a7724a8 Parents: 59f15b2 Author: Srimanth Gunturi Authored: Fri May 15 13:15:08 2015 -0700 Committer: Srimanth Gunturi Committed: Fri May 15 13:15:14 2015 -0700 -- ambari-web/app/mixins/common/configs/configs_saver.js | 2 +- ambari-web/app/views/common/configs/config_history_flow.js | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/a736f5ce/ambari-web/app/mixins/common/configs/configs_saver.js -- diff --git a/ambari-web/app/mixins/common/configs/configs_saver.js b/ambari-web/app/mixins/common/configs/configs_saver.js index 816af7a..944133b 100644 --- a/ambari-web/app/mixins/common/configs/configs_saver.js +++ b/ambari-web/app/mixins/common/configs/configs_saver.js @@ -292,7 +292,7 @@ App.ConfigsSaverMixin = Em.Mixin.create({ var fileNamesToSave = modifiedConfigs.mapProperty('filename').concat(this.get('modifiedFileNames')).uniq(); -var configsToSave = this.generateDesiredConfigsJSON(modifiedConfigs, fileNamesToSave, this.get('serviceConfigNote')); +var configsToSave = this.generateDesiredConfigsJSON(modifiedConfigs, fileNamesToSave, this.get('serviceConfigVersionNote')); if (configsToSave.length > 0) { return JSON.stringify({ http://git-wip-us.apache.org/repos/asf/ambari/blob/a736f5ce/ambari-web/app/views/common/configs/config_history_flow.js -- diff --git a/ambari-web/app/views/common/configs/config_history_flow.js b/ambari-web/app/views/common/configs/config_history_flow.js index 0e4c07b..51b48a4 100644 --- a/ambari-web/app/views/common/configs/config_history_flow.js +++ b/ambari-web/app/views/common/configs/config_history_flow.js @@ -443,7 +443,6 @@ App.ConfigHistoryFlowView = Em.View.extend({ self.get('controller').setProperties({ saveConfigsFlag: true, serviceConfigVersionNote: this.get('serviceConfigNote'), - serviceConfigNote: this.get('serviceConfigNote'), preSelectedConfigVersion: Em.Object.create({ version: newVersionToBeCreated, serviceName: self.get('displayedServiceVersion.serviceName'),
ambari git commit: AMBARI-11177 - ConfigureTask For Upgrades Must Support Type Coercion (jonathanhurley)
Repository: ambari Updated Branches: refs/heads/trunk aedb50c0e -> 59f15b2ac AMBARI-11177 - ConfigureTask For Upgrades Must Support Type Coercion (jonathanhurley) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/59f15b2a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/59f15b2a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/59f15b2a Branch: refs/heads/trunk Commit: 59f15b2ac55d6e92212a8c9a7afae7565633df46 Parents: aedb50c Author: Jonathan Hurley Authored: Fri May 15 12:49:48 2015 -0400 Committer: Jonathan Hurley Committed: Fri May 15 14:56:25 2015 -0400 -- .../serveraction/upgrades/ConfigureAction.java | 78 ++-- .../state/stack/upgrade/ConfigureTask.java | 34 - .../stack/upgrade/TransferCoercionType.java | 34 + .../state/stack/upgrade/TransferOperation.java | 7 ++ .../stacks/HDP/2.2/upgrades/upgrade-2.3.xml | 27 +++ .../upgrades/ConfigureActionTest.java | 68 + 6 files changed, 197 insertions(+), 51 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/59f15b2a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/ConfigureAction.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/ConfigureAction.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/ConfigureAction.java index 645c4bb..729c36a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/ConfigureAction.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/ConfigureAction.java @@ -200,50 +200,54 @@ public class ConfigureAction extends AbstractServerAction { for (ConfigureTask.Transfer transfer : transfers) { switch (transfer.operation) { case COPY: - // if copying from the current configuration type, then first - // determine if the key already exists; if it does not, then set a - // default if a default exists - if (null == transfer.fromType) { -if (base.containsKey(transfer.fromKey)) { - newValues.put(transfer.toKey, base.get(transfer.fromKey)); - changedValues = true; - - // append standard output - outputBuffer.append(MessageFormat.format("Copied {0}/{1}\n", configType, - transfer.toKey)); - -} else if (StringUtils.isNotBlank(transfer.defaultValue)) { - newValues.put(transfer.toKey, transfer.defaultValue); - changedValues = true; - - // append standard output - outputBuffer.append(MessageFormat.format("Created {0}/{1} with default value {2}\n", - configType, transfer.toKey, transfer.defaultValue)); -} + String valueToCopy = null; + if( null == transfer.fromType ) { +// copying from current configuration +valueToCopy = base.get(transfer.fromKey); } else { -// !!! copying from another configuration +// copying from another configuration Config other = cluster.getDesiredConfigByType(transfer.fromType); - -if (null != other) { +if (null != other){ Map otherValues = other.getProperties(); + if (otherValues.containsKey(transfer.fromKey)){ +valueToCopy = otherValues.get(transfer.fromKey); + } +} + } - if (otherValues.containsKey(transfer.fromKey)) { -newValues.put(transfer.toKey, otherValues.get(transfer.fromKey)); -changedValues = true; - -// append standard output -outputBuffer.append(MessageFormat.format("Copied {0}/{1} to {2}\n", -transfer.fromType, transfer.fromKey, configType)); - } else if (StringUtils.isNotBlank(transfer.defaultValue)) { -newValues.put(transfer.toKey, transfer.defaultValue); -changedValues = true; + // if the value is null use the default if it exists + if (StringUtils.isBlank(valueToCopy) && !StringUtils.isBlank(transfer.defaultValue)) { +valueToCopy = transfer.defaultValue; + } -// append standard output -outputBuffer.append(MessageFormat.format( -"Created {0}/{1} with default value {2}\n", configType, transfer.toKey, -transfer.defaultValue)); + if (StringUtils.isNotBlank(valueToCopy)) { +// possibly coerce the value on copy +if (transfer.coerceTo != null) { +
[1/3] ambari git commit: AMBARI-11178. List of components which need restart have not refreshed after restart (alexantonenko)
Repository: ambari Updated Branches: refs/heads/trunk e07d8c931 -> aedb50c0e AMBARI-11178. List of components which need restart have not refreshed after restart (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c8ac1348 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c8ac1348 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c8ac1348 Branch: refs/heads/trunk Commit: c8ac13489d5c01aacc826b5aa58a560008f3c5d4 Parents: e07d8c9 Author: Alex Antonenko Authored: Fri May 15 20:43:38 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 20:43:38 2015 +0300 -- ambari-web/app/assets/test/tests.js | 2 + .../controllers/main/service/info/configs.js| 4 +- .../app/templates/main/service/info/configs.hbs | 4 +- .../app/templates/main/service/info/summary.hbs | 4 +- ambari-web/test/controllers/application_test.js | 203 ++ .../test/controllers/login_controller_test.js | 44 .../main/service/info/config_test.js| 20 +- ambari-web/test/controllers/main_test.js| 264 ++- 8 files changed, 532 insertions(+), 13 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/c8ac1348/ambari-web/app/assets/test/tests.js -- diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index eeafa57..64456a9 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -98,7 +98,9 @@ var files = ['test/init_model_test', 'test/controllers/main/admin_test', 'test/controllers/main/views_controller_test', 'test/controllers/installer_test', + 'test/controllers/application_test', 'test/controllers/main_test', + 'test/controllers/login_controller_test', 'test/controllers/wizard_test', 'test/controllers/wizard/slave_component_groups_controller', 'test/controllers/wizard/step0_test', http://git-wip-us.apache.org/repos/asf/ambari/blob/c8ac1348/ambari-web/app/controllers/main/service/info/configs.js -- diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js index 52e6785..abd7048 100644 --- a/ambari-web/app/controllers/main/service/info/configs.js +++ b/ambari-web/app/controllers/main/service/info/configs.js @@ -1274,7 +1274,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM * @method showHostsShouldBeRestarted */ showHostsShouldBeRestarted: function (event) { -var restartRequiredHostsAndComponents = event.context; +var restartRequiredHostsAndComponents = event.context.restartRequiredHostsAndComponents; var hosts = []; for (var hostName in restartRequiredHostsAndComponents) { hosts.push(hostName); @@ -1290,7 +1290,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.ServerValidatorM * @method showComponentsShouldBeRestarted */ showComponentsShouldBeRestarted: function (event) { -var restartRequiredHostsAndComponents = event.context; +var restartRequiredHostsAndComponents = event.context.restartRequiredHostsAndComponents; var hostsComponets = []; var componentsObject = {}; for (var hostName in restartRequiredHostsAndComponents) { http://git-wip-us.apache.org/repos/asf/ambari/blob/c8ac1348/ambari-web/app/templates/main/service/info/configs.hbs -- diff --git a/ambari-web/app/templates/main/service/info/configs.hbs b/ambari-web/app/templates/main/service/info/configs.hbs index 030d330..5a60f91 100644 --- a/ambari-web/app/templates/main/service/info/configs.hbs +++ b/ambari-web/app/templates/main/service/info/configs.hbs @@ -23,8 +23,8 @@ {{t services.service.config.restartService.needToRestart}} {{view.componentsCount}} {{pluralize view.componentsCount singular="t:common.component" plural="t:common.components"}} {{t on}} -{{view.hostsCount}} {{pluralize view.hostsCount singular="t:common.host" plural="t:common.hosts"}} + href="#" {{action "showComponentsShouldBeRestarted" controller.content target="controller"}}>{{view.componentsCount}} {{pluralize view.componentsCount singular="t:common.component" plural="t:common.components"}} {{t on}} +{{view.hostsCount}} {{pluralize view.hostsCount singular="t:common.host" plural="t:common.hosts"}} http://git-wip-us.apache.org/repos/asf/ambari/blob/c8ac1348/ambari-web/app/templates/main/service/info/summary.hbs
[2/3] ambari git commit: AMBARI-11180. Views: tez view definition should not include static instance (alexantonenko)
AMBARI-11180. Views: tez view definition should not include static instance (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b85c6faf Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b85c6faf Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b85c6faf Branch: refs/heads/trunk Commit: b85c6faf23d4068365f0e389a82c2b4ad78833ae Parents: c8ac134 Author: Alex Antonenko Authored: Fri May 15 20:49:27 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 20:49:27 2015 +0300 -- contrib/views/tez/src/main/resources/view.xml | 5 - 1 file changed, 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/b85c6faf/contrib/views/tez/src/main/resources/view.xml -- diff --git a/contrib/views/tez/src/main/resources/view.xml b/contrib/views/tez/src/main/resources/view.xml index 6106818..f446b16 100644 --- a/contrib/views/tez/src/main/resources/view.xml +++ b/contrib/views/tez/src/main/resources/view.xml @@ -60,9 +60,4 @@ limitations under the License. Kerberos, LDAP, Custom. Binary/Htt TEZ - -TEZ_DEPLOYMENT_INSTANCE -Tez View: Deployment Instance -This view instance is created when the Tez view is deployed. The instance must be associated with a cluster to have valid cluster configuration values. -
[3/3] ambari git commit: AMBARI-11181. Plugins statuses aren't loaded on Ranger summary page (alexantonenko)
AMBARI-11181. Plugins statuses aren't loaded on Ranger summary page (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aedb50c0 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aedb50c0 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aedb50c0 Branch: refs/heads/trunk Commit: aedb50c0eb64c29833bfd956d5f4680049666419 Parents: b85c6fa Author: Alex Antonenko Authored: Fri May 15 20:53:04 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 20:53:04 2015 +0300 -- ambari-web/app/controllers/main/service/info/summary.js | 2 +- ambari-web/test/controllers/main/service/info/summary_test.js | 6 ++ 2 files changed, 7 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/aedb50c0/ambari-web/app/controllers/main/service/info/summary.js -- diff --git a/ambari-web/app/controllers/main/service/info/summary.js b/ambari-web/app/controllers/main/service/info/summary.js index ca661d3..c56a922 100644 --- a/ambari-web/app/controllers/main/service/info/summary.js +++ b/ambari-web/app/controllers/main/service/info/summary.js @@ -132,7 +132,7 @@ App.MainServiceInfoSummaryController = Em.Controller.extend(App.WidgetSectionMix getRangerPluginsStatus: function (data) { var urlParams = []; this.get('rangerPlugins').forEach(function (item) { - if (App.Service.find().someProperty('serviceName', item.serviceName)) { + if (App.Service.find().someProperty('serviceName', item.serviceName) && data.Clusters.desired_configs.hasOwnProperty(item.type)) { var currentTag = data.Clusters.desired_configs[item.type].tag; var isTagChanged = item.tag != currentTag; Em.set(item, 'isDisplayed', true); http://git-wip-us.apache.org/repos/asf/ambari/blob/aedb50c0/ambari-web/test/controllers/main/service/info/summary_test.js -- diff --git a/ambari-web/test/controllers/main/service/info/summary_test.js b/ambari-web/test/controllers/main/service/info/summary_test.js index 695dbad..1e49be7 100644 --- a/ambari-web/test/controllers/main/service/info/summary_test.js +++ b/ambari-web/test/controllers/main/service/info/summary_test.js @@ -185,6 +185,9 @@ describe('App.MainServiceInfoSummaryController', function () { }), Em.Object.create({ serviceName: 'HBASE' +}), +Em.Object.create({ + serviceName: 'YARN' }) ]); }); @@ -202,6 +205,9 @@ describe('App.MainServiceInfoSummaryController', function () { controller.get('rangerPlugins').findProperty('serviceName', 'HBASE').tag = item.hbaseTag; controller.getRangerPluginsStatus(data); expect(App.ajax.send.calledOnce).to.equal(item.ajaxRequestSent); +if (item.ajaxRequestSent) { + expect(App.ajax.send.getCall(0).args[0].data.urlParams.contains('ranger-yarn-plugin-properties')).to.be.false; +} }); });
ambari git commit: AMBARI-11169. Kerberos: Principals fail to be created if whitespace exists in generated passwords (rlevas)
Repository: ambari Updated Branches: refs/heads/trunk 5463432a1 -> e07d8c931 AMBARI-11169. Kerberos: Principals fail to be created if whitespace exists in generated passwords (rlevas) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e07d8c93 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e07d8c93 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e07d8c93 Branch: refs/heads/trunk Commit: e07d8c9316bcc10fe13b1f7e7ca6628edb755cb3 Parents: 5463432 Author: Robert Levas Authored: Fri May 15 12:46:59 2015 -0400 Committer: Robert Levas Committed: Fri May 15 12:47:04 2015 -0400 -- .../serveraction/kerberos/MITKerberosOperationHandler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/e07d8c93/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java index 5614692..ded3c20 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/MITKerberosOperationHandler.java @@ -171,7 +171,7 @@ public class MITKerberosOperationHandler extends KerberosOperationHandler { throw new KerberosOperationException("Failed to create new principal - no password specified"); } else { // Create the kdamin query: add_principal <-randkey|-pw > - ShellCommandUtil.Result result = invokeKAdmin(String.format("add_principal -pw %s %s", password, principal)); + ShellCommandUtil.Result result = invokeKAdmin(String.format("add_principal -pw \"%s\" %s", password, principal)); // If there is data from STDOUT, see if the following string exists: //Principal "" created @@ -211,7 +211,7 @@ public class MITKerberosOperationHandler extends KerberosOperationHandler { throw new KerberosOperationException("Failed to set password - no password specified"); } else { // Create the kdamin query: change_password <-randkey|-pw > - invokeKAdmin(String.format("change_password -pw %s %s", password, principal)); + invokeKAdmin(String.format("change_password -pw \"%s\" %s", password, principal)); return getKeyNumber(principal); }
ambari git commit: AMBARI-11120: Add locking to choco packages (jluniya)
Repository: ambari Updated Branches: refs/heads/trunk 21a74e9f8 -> 5463432a1 AMBARI-11120: Add locking to choco packages (jluniya) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5463432a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5463432a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5463432a Branch: refs/heads/trunk Commit: 5463432a1b6cd0d8878e345843eb8f7dbb959bd6 Parents: 21a74e9 Author: Jayush Luniya Authored: Fri May 15 09:27:28 2015 -0700 Committer: Jayush Luniya Committed: Fri May 15 09:27:28 2015 -0700 -- .../main/package/choco/chocolateyinstall.ps1| 22 ++--- .../choco/collector/chocolateyinstall.ps1 | 26 .../package/choco/monitor/chocolateyinstall.ps1 | 26 .../package/choco/sink/chocolateyinstall.ps1| 24 +++--- .../main/package/choco/chocolateyinstall.ps1| 22 ++--- 5 files changed, 100 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/5463432a/ambari-agent/src/main/package/choco/chocolateyinstall.ps1 -- diff --git a/ambari-agent/src/main/package/choco/chocolateyinstall.ps1 b/ambari-agent/src/main/package/choco/chocolateyinstall.ps1 index 7a9ddc2..c6934f9 100644 --- a/ambari-agent/src/main/package/choco/chocolateyinstall.ps1 +++ b/ambari-agent/src/main/package/choco/chocolateyinstall.ps1 @@ -28,6 +28,8 @@ $packageParameters = $env:chocolateyPackageParameters $arguments = @{} $ambariRoot = "C:\ambari" $retries = 5 +$lockTimeout = 6 + # Parse the packageParameters # /AmbariRoot:C:\ambari /Retries:5 if ($packageParameters) { @@ -53,6 +55,10 @@ if ($packageParameters) { Write-Debug "Retries Argument Found" $retries = $arguments["Retries"] } + if ($arguments.ContainsKey("LockTimeout")) { +Write-Debug "LockTimeout Argument Found" +$lockTimeout = $arguments["LockTimeout"] + } } else { Write-Debug "No Package Parameters Passed in" } @@ -67,6 +73,16 @@ $target = "$ambariRoot\$packageName-$packageVersion" Import-Module "$modulesFolder\link.psm1" Import-Module "$modulesFolder\retry.psm1" -Retry-Command -Command "Get-ChocolateyUnzip" -Arguments @{ FileFullPath = $zipFile; Destination = $target; SpecificFolder = $specificFolder; PackageName = $packageName} -Retries $retries -Retry-Command -Command "Remove-Symlink-IfExists" -Arguments @{Link = $link} -Retries $retries -Retry-Command -Command "New-Symlink" -Arguments @{ Link = $link; Target = $target } -Retries $retries +$agentMutex = New-Object System.Threading.Mutex $false, "Global\$packageName" +if($agentMutex.WaitOne($lockTimeout)) { + try { +Retry-Command -Command "Get-ChocolateyUnzip" -Arguments @{ FileFullPath = $zipFile; Destination = $target; SpecificFolder = $specificFolder; PackageName = $packageName} -Retries $retries +Retry-Command -Command "Remove-Symlink-IfExists" -Arguments @{Link = $link} -Retries $retries +Retry-Command -Command "New-Symlink" -Arguments @{ Link = $link; Target = $target } -Retries $retries + } finally { +$agentMutex.ReleaseMutex() + } +} else { + Write-Host ("Failed to acquire lock [$packageName] within [$lockTimeout] ms. Installation failed!") + throw +} http://git-wip-us.apache.org/repos/asf/ambari/blob/5463432a/ambari-metrics/ambari-metrics-assembly/src/main/package/choco/collector/chocolateyinstall.ps1 -- diff --git a/ambari-metrics/ambari-metrics-assembly/src/main/package/choco/collector/chocolateyinstall.ps1 b/ambari-metrics/ambari-metrics-assembly/src/main/package/choco/collector/chocolateyinstall.ps1 index 5e413bb..9436582 100644 --- a/ambari-metrics/ambari-metrics-assembly/src/main/package/choco/collector/chocolateyinstall.ps1 +++ b/ambari-metrics/ambari-metrics-assembly/src/main/package/choco/collector/chocolateyinstall.ps1 @@ -28,6 +28,8 @@ $packageParameters = $env:chocolateyPackageParameters $arguments = @{} $ambariRoot = "C:\ambari" $retries = 5 +$lockTimeout = 6 + # Parse the packageParameters # /AmbariRoot:C:\ambari /Retries:5 if ($packageParameters) { @@ -53,6 +55,10 @@ if ($packageParameters) { Write-Debug "Retries Argument Found" $retries = $arguments["Retries"] } + if ($arguments.ContainsKey("LockTimeout")) { +Write-Debug "LockTimeout Argument Found" +$lockTimeout = $arguments["LockTimeout"] + } } else { Write-Debug "No Package Parameters Passed in" } @@ -69,10 +75,20 @@ $collectorConfDir = "$link\conf" Import-Module "$modulesFolder\link.psm1" Import-Module "$modulesFolder\retry.psm1" -Retry-Command -Command "Get-ChocolateyUnzip" -Arguments @{ FileFullPath = $zipFile; Destinat
ambari git commit: AMBARI-10412. Incorrect datatype of alert_current.latest_text in Oracle DDL and upgrade catalog.. (mpapirkovskyy)
Repository: ambari Updated Branches: refs/heads/trunk 4ade1cd85 -> 21a74e9f8 AMBARI-10412. Incorrect datatype of alert_current.latest_text in Oracle DDL and upgrade catalog.. (mpapirkovskyy) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/21a74e9f Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/21a74e9f Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/21a74e9f Branch: refs/heads/trunk Commit: 21a74e9f890d75cfc8f5d294bceb600dc6bb46ac Parents: 4ade1cd Author: Myroslav Papirkovskyy Authored: Thu May 14 19:45:09 2015 +0300 Committer: Myroslav Papirkovskyy Committed: Fri May 15 19:14:03 2015 +0300 -- .../apache/ambari/server/orm/DBAccessor.java| 30 ++-- .../server/orm/entities/AlertCurrentEntity.java | 6 ++-- .../orm/helpers/dbms/GenericDbmsHelper.java | 6 ++-- .../server/upgrade/UpgradeCatalog210.java | 15 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +- 5 files changed, 44 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/21a74e9f/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java index 2b01c72..2c9277a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessor.java @@ -23,6 +23,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; +import org.eclipse.persistence.internal.databaseaccess.FieldTypeDefinition; import org.eclipse.persistence.sessions.DatabaseSession; /** @@ -400,11 +401,12 @@ public interface DBAccessor { public class DBColumnInfo { private String name; private Class type; -//private DBColumnType type; private Integer length; private Object defaultValue; private boolean isNullable; +private FieldTypeDefinition dbType = null; + public DBColumnInfo(String name, Class type, Integer length) { this(name, type, length, null, true); } @@ -418,6 +420,18 @@ public interface DBAccessor { isNullable = nullable; } +public DBColumnInfo(String name, FieldTypeDefinition dbType, Integer length, Object defaultValue, boolean isNullable) { + this.name = name; + this.length = length; + this.isNullable = isNullable; + this.defaultValue = defaultValue; + this.dbType = dbType; +} + +public DBColumnInfo(String name, FieldTypeDefinition dbType, Integer length) { + this(name, dbType, length, null, true); +} + public String getName() { return name; } @@ -458,14 +472,12 @@ public interface DBAccessor { isNullable = nullable; } -public enum DBColumnType { - VARCHAR, - CHAR, - INT, - LONG, - BOOL, - TIME, - BLOB +public FieldTypeDefinition getDbType() { + return dbType; +} + +public void setDbType(FieldTypeDefinition dbType) { + this.dbType = dbType; } } http://git-wip-us.apache.org/repos/asf/ambari/blob/21a74e9f/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java index 26e0d00..66b2a83 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/AlertCurrentEntity.java @@ -26,6 +26,7 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; +import javax.persistence.Lob; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; @@ -75,7 +76,8 @@ public class AlertCurrentEntity { @Column(name = "original_timestamp", nullable = false) private Long originalTimestamp; - @Column(name = "latest_text", length = 4000) + @Lob + @Column(name = "latest_text") private String latestText = null; /** @@ -250,4 +252,4 @@ public class AlertCurrentEntity { int result = null != alertId ? alertId.hashCode() : 0; return result; } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/ambari/blob/21a74e9f/ambari-server/src/main/java/org/apache/ambari/server/orm/helpers/dbms/GenericDbmsHelper.java
ambari git commit: AMBARI-11172. After changing YARN container minimum size Hive configs always marked as dirty (onechiporenko)
Repository: ambari Updated Branches: refs/heads/trunk 9085d9ee6 -> 4ade1cd85 AMBARI-11172. After changing YARN container minimum size Hive configs always marked as dirty (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4ade1cd8 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4ade1cd8 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4ade1cd8 Branch: refs/heads/trunk Commit: 4ade1cd8588b385329d1570579a2a49ae2597210 Parents: 9085d9e Author: Oleg Nechiporenko Authored: Fri May 15 18:50:41 2015 +0300 Committer: Oleg Nechiporenko Committed: Fri May 15 18:50:41 2015 +0300 -- .../views/common/configs/widgets/slider_config_widget_view.js| 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/4ade1cd8/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js -- diff --git a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js index 0047893..e618020 100644 --- a/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js +++ b/ambari-web/app/views/common/configs/widgets/slider_config_widget_view.js @@ -239,6 +239,10 @@ App.SliderConfigWidgetView = App.ConfigWidgetView.extend({ slider.setValue(parsed); } } + // avoid precision during restore value + if (parsed == parseFunction(this.widgetValueByConfigAttributes(this.get('config.defaultValue' { +this.set('config.value', this.get('config.defaultValue')); + } } else { this.set('isMirrorValueValid', false); this.set('config.errorMessage', 'Invalid value');
ambari git commit: AMBARI-11168 Zookeeper implicitly depends on HDFS Client (dsen)
Repository: ambari Updated Branches: refs/heads/trunk 46c802dae -> 9085d9ee6 AMBARI-11168 Zookeeper implicitly depends on HDFS Client (dsen) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9085d9ee Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9085d9ee Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9085d9ee Branch: refs/heads/trunk Commit: 9085d9ee66e6f2d174415c26213ba1ce6ec01817 Parents: 46c802d Author: Dmytro Sen Authored: Fri May 15 18:11:51 2015 +0300 Committer: Dmytro Sen Committed: Fri May 15 18:13:27 2015 +0300 -- .../hooks/before-INSTALL/scripts/params.py | 4 +- .../2.0.6/hooks/before-START/scripts/params.py | 5 +- .../scripts/shared_initialization.py| 62 ++-- 3 files changed, 37 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/9085d9ee/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py -- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py index c8ac180..b205f39 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-INSTALL/scripts/params.py @@ -19,8 +19,10 @@ limitations under the License. from ambari_commons.constants import AMBARI_SUDO_BINARY from resource_management.libraries.functions.version import format_hdp_stack_version, compare_versions -from resource_management import * from resource_management.core.system import System +from resource_management.libraries.script.script import Script +from resource_management.libraries.functions import default, format + import json import collections http://git-wip-us.apache.org/repos/asf/ambari/blob/9085d9ee/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py -- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py index 6f5f666..889dbd1 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/params.py @@ -17,11 +17,10 @@ limitations under the License. """ -from resource_management.libraries.functions import conf_select +from resource_management.libraries.functions import conf_select, default, format_jvm_option, format from resource_management.libraries.functions.version import format_hdp_stack_version, compare_versions from ambari_commons.os_check import OSCheck -from resource_management import * -from resource_management.core.system import System +from resource_management.libraries.script.script import Script import os config = Script.get_config() http://git-wip-us.apache.org/repos/asf/ambari/blob/9085d9ee/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py -- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py index 70bd011..dd93818 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/scripts/shared_initialization.py @@ -62,37 +62,38 @@ def setup_hadoop(): else: tc_owner = params.hdfs_user -File(os.path.join(params.hadoop_conf_dir, 'commons-logging.properties'), - owner=tc_owner, - content=Template('commons-logging.properties.j2') -) - -health_check_template_name = "health_check" -File(os.path.join(params.hadoop_conf_dir, health_check_template_name), - owner=tc_owner, - content=Template(health_check_template_name + ".j2") -) +if os.path.exists(params.hadoop_conf_dir): + File(os.path.join(params.hadoop_conf_dir, 'commons-logging.properties'), + owner=tc_owner, + content=Template('commons-logging.properties.j2') + ) -log4j_filename = os.path.join(params.hadoop_conf_dir, "log4j.properties") -if (params.log4j_props != None): - File(log4j_filename, - mode=0644, - group=params.user_group, - owner=params.hdfs_user, - content=p
ambari git commit: AMBARI-9480. Ranger password properties are incorrectly included in Blueprint export. (rnettleton)
Repository: ambari Updated Branches: refs/heads/trunk 0fe39d5e8 -> 46c802dae AMBARI-9480. Ranger password properties are incorrectly included in Blueprint export. (rnettleton) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/46c802da Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/46c802da Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/46c802da Branch: refs/heads/trunk Commit: 46c802daed7ec886da1a678fba4ab361b2800e3d Parents: 0fe39d5 Author: Bob Nettleton Authored: Fri May 15 11:10:42 2015 -0400 Committer: Bob Nettleton Committed: Fri May 15 11:11:51 2015 -0400 -- .../BlueprintConfigurationProcessor.java| 118 +++ .../BlueprintConfigurationProcessorTest.java| 82 + 2 files changed, 200 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/46c802da/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java index aef6664..d7ff543 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java @@ -106,6 +106,13 @@ public class BlueprintConfigurationProcessor { new HashSet(Arrays.asList("fs.defaultFS", "hbase.rootdir", "instance.volumes")); /** + * Statically-defined list of filters to apply on property exports. + * This will initially be used to filter out the Ranger Passwords, but + * could be extended in the future for more generic purposes. + */ + private static final PropertyFilter[] propertyFilters = { new PasswordPropertyFilter() }; + + /** * Configuration properties to be updated */ //private Map> properties; @@ -233,6 +240,39 @@ public class BlueprintConfigurationProcessor { doMultiHostExportUpdate(multiHostTopologyUpdaters, properties); doRemovePropertyExport(removePropertyUpdaters, properties); + + doFilterPriorToExport(properties); +} + } + + /** + * This method iterates over the properties passed in, and applies a + * list of filters to the properties. + * + * If any filter implementations indicate that the property should + * not be included in a collection (a Blueprint export in this case), + * then the property is removed prior to the export. + * + * + * @param properties config properties to process for filtering + */ + private static void doFilterPriorToExport(Map> properties) { +for (String configType : properties.keySet()) { + Map configPropertiesPerType = +properties.get(configType); + + Set propertiesToExclude = new HashSet(); + for (String propertyName : configPropertiesPerType.keySet()) { +if (shouldPropertyBeExcluded(propertyName, configPropertiesPerType.get(propertyName))) { + propertiesToExclude.add(propertyName); +} + } + + if (!propertiesToExclude.isEmpty()) { +for (String propertyName : propertiesToExclude) { + configPropertiesPerType.remove(propertyName); +} + } } } @@ -435,6 +475,29 @@ public class BlueprintConfigurationProcessor { } /** + * Iterates over the list of registered filters for this config processor, and + * queries each filter to determine if a given property should be included + * in a property collection. If any filters return false for the isPropertyIncluded() + * query, then the property should be excluded. + * + * @param propertyName config property name + * @param propertyValue config property value + * @return true if the property should be excluded + * false if the property should not be excluded + */ + private static boolean shouldPropertyBeExcluded(String propertyName, String propertyValue) { +for(PropertyFilter filter : propertyFilters) { + if (!filter.isPropertyIncluded(propertyName, propertyValue)) { +return true; + } +} + +// if no filters require that the property be excluded, +// then allow it to be included in the property collection +return false; + } + + /** * Update single host topology configuration properties for blueprint export. * * @param updatersregistered updaters @@ -1790,4 +1853,59 @@ public class BlueprintConfigurationProcessor { properties.put(property, defaultValue); } } + + + /** + * Defines an interface for querying a fil
ambari git commit: AMBARI-11166 Graph widgets: convert % metrics to show 0 - 100% rather than 0 - 1. (atkach)
Repository: ambari Updated Branches: refs/heads/trunk 52d2cc421 -> 0fe39d5e8 AMBARI-11166 Graph widgets: convert % metrics to show 0 - 100% rather than 0 - 1. (atkach) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/0fe39d5e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/0fe39d5e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/0fe39d5e Branch: refs/heads/trunk Commit: 0fe39d5e856f43ccfca00a70b9354e8bf899e768 Parents: 52d2cc4 Author: Andrii Tkach Authored: Fri May 15 15:03:02 2015 +0300 Committer: Andrii Tkach Committed: Fri May 15 17:54:47 2015 +0300 -- .../service/widgets/create/step2_controller.js | 53 +--- ambari-web/app/messages.js | 1 + .../app/mixins/common/widgets/widget_mixin.js | 11 +- ambari-web/app/routes/add_widget.js | 2 - .../app/styles/enhanced_service_dashboard.less | 16 ++- .../main/service/widgets/create/expression.hbs | 5 + ambari-web/app/utils/number_utils.js| 9 ++ .../views/common/widget/graph_widget_view.js| 28 ++-- .../service/widgets/create/expression_view.js | 134 +++ 9 files changed, 189 insertions(+), 70 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/0fe39d5e/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js -- diff --git a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js b/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js index b6a3782..9c48872 100644 --- a/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js +++ b/ambari-web/app/controllers/main/service/widgets/create/step2_controller.js @@ -343,7 +343,14 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({ value = '${'; expression.data.forEach(function (element) { if (element.isMetric) { - metrics.push(element); + metrics.push({ +"name": element.name, +"service_name": element.serviceName, +"component_name": element.componentName, +"metric_path": element.metricPath, +"host_component_criteria": element.hostComponentCriteria, +"category": element.category + }); } value += element.name; }, this); @@ -463,21 +470,11 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({ var str = ''; var data = []; var id = 0; -var metric; for (var i = 0, l = expression.length; i < l; i++) { if (this.get('OPERATORS').contains(expression[i])) { if (str.trim().length > 0) { - metric = metrics.findProperty('name', str.trim()); - data.pushObject(Em.Object.create({ -id: ++id, -name: str.trim(), -isMetric: true, -componentName: metric.component_name, -serviceName: metric.service_name, -metricPath: metric.metric_path, -hostComponentCriteria: metric.host_component_criteria - })); + data.pushObject(this.getExpressionVariable(str.trim(), id, metrics)); str = ''; } data.pushObject(Em.Object.create({ @@ -490,18 +487,40 @@ App.WidgetWizardStep2Controller = Em.Controller.extend({ } } if (str.trim().length > 0) { - metric = metrics.findProperty('name', str.trim()); - data.pushObject(Em.Object.create({ + data.pushObject(this.getExpressionVariable(str.trim(), id, metrics)); +} +return data; + }, + + /** + * get variable of expression + * could be name of metric "m1" or constant number "1" + * @param {string} name + * @param {Array} metrics + * @param {number} id + * @returns {Em.Object} + */ + getExpressionVariable: function (name, id, metrics) { +var metric; + +if (isNaN(Number(name))) { + metric = metrics.findProperty('name', name); + return Em.Object.create({ id: ++id, -name: str.trim(), +name: metric.name, isMetric: true, componentName: metric.component_name, serviceName: metric.service_name, metricPath: metric.metric_path, hostComponentCriteria: metric.host_component_criteria - })); + }); +} else { + return Em.Object.create({ +id: ++id, +name: name, +isNumber: true + }); } -return data; }, next: function () { http://git-wip-us.apache.org/repos/asf/ambari/blob/0fe39d5e/ambari-web/app/messages.js -- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index d54cdd7..67ad9fd 100644 --- a/ambari-web/app/messages.js
ambari git commit: AMBARI-11116. Upgrade to 2.0.1, unable to RU (can't get installed). (mpapirkovskyy)
Repository: ambari Updated Branches: refs/heads/branch-2.0.maint f4777363e -> b66a5bcd9 AMBARI-6. Upgrade to 2.0.1, unable to RU (can't get installed). (mpapirkovskyy) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b66a5bcd Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b66a5bcd Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b66a5bcd Branch: refs/heads/branch-2.0.maint Commit: b66a5bcd9d5c5c652f4129253d273a44dcc89ea9 Parents: f477736 Author: Myroslav Papirkovskyy Authored: Thu May 14 23:38:43 2015 +0300 Committer: Myroslav Papirkovskyy Committed: Fri May 15 17:41:13 2015 +0300 -- .../DistributeRepositoriesActionListener.java | 1 + .../server/orm/dao/AlertDefinitionDAO.java | 12 +++- .../ambari/server/orm/dao/AlertDispatchDAO.java | 19 +++ .../apache/ambari/server/orm/dao/AlertsDAO.java | 6 ++ .../apache/ambari/server/orm/dao/GroupDAO.java | 2 ++ .../orm/dao/KerberosPrincipalHostDAO.java | 1 + .../apache/ambari/server/orm/dao/MemberDAO.java | 1 + .../ambari/server/orm/dao/PermissionDAO.java| 4 .../ambari/server/orm/dao/PrincipalDAO.java | 4 .../ambari/server/orm/dao/PrincipalTypeDAO.java | 3 +++ .../ambari/server/orm/dao/PrivilegeDAO.java | 6 ++ .../ambari/server/orm/dao/UpgradeDAO.java | 2 ++ .../apache/ambari/server/orm/dao/UserDAO.java | 2 ++ .../apache/ambari/server/orm/dao/ViewDAO.java | 3 +++ .../ambari/server/orm/dao/ViewInstanceDAO.java | 1 + .../AmbariManagementControllerImplTest.java | 20 ++-- .../HostVersionOutOfSyncListenerTest.java | 4 .../server/orm/dao/AlertDefinitionDAOTest.java | 5 + .../server/orm/dao/AlertDispatchDAOTest.java| 5 + .../ambari/server/orm/dao/AlertsDAOTest.java| 6 ++ .../state/cluster/AlertDataManagerTest.java | 5 + .../server/state/cluster/ClusterTest.java | 6 ++ 22 files changed, 115 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java index e4b26b1..bb508b5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/DistributeRepositoriesActionListener.java @@ -162,6 +162,7 @@ public class DistributeRepositoriesActionListener { // If we know exact host stack version, there will be single execution of a code below if (hostVersion.getState() == RepositoryVersionState.INSTALLING) { hostVersion.setState(newHostState); +hostVersionDAO.get().merge(hostVersion); // Update state of a cluster stack version try { http://git-wip-us.apache.org/repos/asf/ambari/blob/b66a5bcd/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java index 659fb21..680bc2a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java @@ -31,6 +31,7 @@ import org.apache.ambari.server.events.AlertDefinitionChangedEvent; import org.apache.ambari.server.events.AlertDefinitionDeleteEvent; import org.apache.ambari.server.events.AlertDefinitionRegistrationEvent; import org.apache.ambari.server.events.publishers.AmbariEventPublisher; +import org.apache.ambari.server.orm.RequiresSession; import org.apache.ambari.server.orm.entities.AlertDefinitionEntity; import org.apache.ambari.server.orm.entities.AlertGroupEntity; import org.apache.ambari.server.state.alert.AlertDefinition; @@ -105,9 +106,10 @@ public class AlertDefinitionDAO { * the ID of the definition to retrieve. * @return the alert definition or {@code null} if none exists. */ + @RequiresSession public AlertDefinitionEntity findById(long definitionId) { return entityManagerProvider.get().find(AlertDefinitionEntity.class, -definitionId); + definitionId); } /** @@ -120,6 +122,
ambari git commit: AMBARI-10818. Hit re-install when performing an RU - UI seems to have stuck at installing even though the request has completed (dlysnichenko)
Repository: ambari Updated Branches: refs/heads/trunk aea31b6b8 -> 52d2cc421 AMBARI-10818. Hit re-install when performing an RU - UI seems to have stuck at installing even though the request has completed (dlysnichenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/52d2cc42 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/52d2cc42 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/52d2cc42 Branch: refs/heads/trunk Commit: 52d2cc421e1ce1b35366d5fd1b9ffa1ac3a0dcbf Parents: aea31b6 Author: Lisnichenko Dmitro Authored: Fri May 15 16:34:39 2015 +0300 Committer: Lisnichenko Dmitro Committed: Fri May 15 16:35:36 2015 +0300 -- .../server/orm/dao/AlertDefinitionDAO.java | 11 ++ .../ambari/server/orm/dao/AlertDispatchDAO.java | 19 .../apache/ambari/server/orm/dao/AlertsDAO.java | 6 + .../ambari/server/orm/dao/ClusterDAO.java | 2 ++ .../apache/ambari/server/orm/dao/GroupDAO.java | 2 ++ .../server/orm/dao/HostRoleCommandDAO.java | 3 ++- .../apache/ambari/server/orm/dao/MemberDAO.java | 1 + .../ambari/server/orm/dao/PermissionDAO.java| 8 +++ .../ambari/server/orm/dao/PrincipalDAO.java | 4 .../ambari/server/orm/dao/PrincipalTypeDAO.java | 4 .../ambari/server/orm/dao/PrivilegeDAO.java | 6 + .../server/orm/dao/RepositoryVersionDAO.java| 2 ++ .../ambari/server/orm/dao/RequestDAO.java | 1 + .../apache/ambari/server/orm/dao/StackDAO.java | 4 .../apache/ambari/server/orm/dao/StageDAO.java | 1 + .../server/orm/dao/TopologyHostTaskDAO.java | 1 + .../ambari/server/orm/dao/UpgradeDAO.java | 2 ++ .../apache/ambari/server/orm/dao/UserDAO.java | 2 ++ .../apache/ambari/server/orm/dao/ViewDAO.java | 4 .../ambari/server/orm/dao/ViewInstanceDAO.java | 2 ++ .../server/orm/dao/AlertDefinitionDAOTest.java | 3 +++ .../server/orm/dao/AlertDispatchDAOTest.java| 5 + .../ambari/server/orm/dao/AlertsDAOTest.java| 23 .../upgrades/UpgradeActionTest.java | 3 +++ .../state/alerts/InitialAlertEventTest.java | 2 ++ .../state/cluster/AlertDataManagerTest.java | 3 +++ .../server/state/cluster/ClusterTest.java | 23 27 files changed, 146 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/52d2cc42/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java index d838d25..d14c6b7 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/AlertDefinitionDAO.java @@ -31,6 +31,7 @@ import org.apache.ambari.server.events.AlertDefinitionChangedEvent; import org.apache.ambari.server.events.AlertDefinitionDeleteEvent; import org.apache.ambari.server.events.AlertDefinitionRegistrationEvent; import org.apache.ambari.server.events.publishers.AmbariEventPublisher; +import org.apache.ambari.server.orm.RequiresSession; import org.apache.ambari.server.orm.entities.AlertDefinitionEntity; import org.apache.ambari.server.orm.entities.AlertGroupEntity; import org.apache.ambari.server.state.alert.AlertDefinition; @@ -105,6 +106,7 @@ public class AlertDefinitionDAO { * the ID of the definition to retrieve. * @return the alert definition or {@code null} if none exists. */ + @RequiresSession public AlertDefinitionEntity findById(long definitionId) { return entityManagerProvider.get().find(AlertDefinitionEntity.class, definitionId); @@ -120,6 +122,7 @@ public class AlertDefinitionDAO { * the name of the definition (not {@code null}). * @return the alert definition or {@code null} if none exists. */ + @RequiresSession public AlertDefinitionEntity findByName(long clusterId, String definitionName) { TypedQuery query = entityManagerProvider.get().createNamedQuery( "AlertDefinitionEntity.findByName", AlertDefinitionEntity.class); @@ -136,6 +139,7 @@ public class AlertDefinitionDAO { * @return all alert definitions or an empty list if none exist (never * {@code null}). */ + @RequiresSession public List findAll() { TypedQuery query = entityManagerProvider.get().createNamedQuery( "AlertDefinitionEntity.findAll", AlertDefinitionEntity.class); @@ -149,6 +153,7 @@ public class AlertDefinitionDAO { * @return all alert definitions or empty list if none exist (never *
ambari git commit: AMBARI-11129 - Set HttpOnly and Secure flags for Ambari session cookies (tbeerbower)
Repository: ambari Updated Branches: refs/heads/trunk a52976e2b -> aea31b6b8 AMBARI-11129 - Set HttpOnly and Secure flags for Ambari session cookies (tbeerbower) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/aea31b6b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/aea31b6b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/aea31b6b Branch: refs/heads/trunk Commit: aea31b6b8c8e26787eeb08ab41ee59ab559364d1 Parents: a52976e Author: tbeerbower Authored: Fri May 15 09:34:57 2015 -0400 Committer: tbeerbower Committed: Fri May 15 09:34:57 2015 -0400 -- ambari-project/pom.xml | 12 +++--- ambari-server/pom.xml | 2 +- .../server/controller/AmbariHandlerList.java| 4 +- .../ambari/server/controller/AmbariServer.java | 30 ++- .../server/controller/AmbariSessionManager.java | 2 +- .../server/controller/ControllerModule.java | 2 +- .../controller/AmbariHandlerListTest.java | 4 +- .../server/controller/AmbariServerTest.java | 40 ++-- .../controller/AmbariSessionManagerTest.java| 10 +++-- 9 files changed, 78 insertions(+), 28 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/aea31b6b/ambari-project/pom.xml -- diff --git a/ambari-project/pom.xml b/ambari-project/pom.xml index 378a998..b1db47b 100644 --- a/ambari-project/pom.xml +++ b/ambari-project/pom.xml @@ -234,22 +234,22 @@ org.eclipse.jetty jetty-server -7.6.7.v20120910 +8.1.17.v20150415 org.eclipse.jetty jetty-security -7.6.7.v20120910 +8.1.17.v20150415 org.eclipse.jetty jetty-servlet -7.6.7.v20120910 +8.1.17.v20150415 org.eclipse.jetty jetty-webapp -7.6.7.v20120910 +8.1.17.v20150415 @@ -295,8 +295,8 @@ javax.servlet -servlet-api -2.5 +javax.servlet-api +3.0.1 com.sun.jersey http://git-wip-us.apache.org/repos/asf/ambari/blob/aea31b6b/ambari-server/pom.xml -- diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml index 8efd1ec..4c34e6a 100644 --- a/ambari-server/pom.xml +++ b/ambari-server/pom.xml @@ -1605,7 +1605,7 @@ javax.servlet - servlet-api + javax.servlet-api com.sun.jersey http://git-wip-us.apache.org/repos/asf/ambari/blob/aea31b6b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariHandlerList.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariHandlerList.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariHandlerList.java index 13fc832..d1a7fde 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariHandlerList.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariHandlerList.java @@ -234,8 +234,8 @@ public class AmbariHandlerList extends HandlerCollection implements ViewInstance webAppContext.setClassLoader(viewInstanceDefinition.getViewEntity().getClassLoader()); webAppContext.setAttribute(ViewContext.CONTEXT_ATTRIBUTE, new ViewContextImpl(viewInstanceDefinition, viewRegistry)); webAppContext.setSessionHandler(new SharedSessionHandler(sessionManager)); -webAppContext.addFilter(new FilterHolder(persistFilter), "/*", 1); -webAppContext.addFilter(new FilterHolder(springSecurityFilter), "/*", 1); +webAppContext.addFilter(new FilterHolder(persistFilter), "/*", AmbariServer.DISPATCHER_TYPES); +webAppContext.addFilter(new FilterHolder(springSecurityFilter), "/*", AmbariServer.DISPATCHER_TYPES); webAppContext.setAllowNullPathInfo(true); return webAppContext; http://git-wip-us.apache.org/repos/asf/ambari/blob/aea31b6b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java index 4a30c0d..8320715 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariServer.java @@ -23,9 +23,11 @@ import java.io.File; import java.net.Authenticator; import java.net.BindException; import java.ne
ambari git commit: AMBARI-11165. Configs: Recommendations API call should not be made if config being changed is empty (onechiporenko)
Repository: ambari Updated Branches: refs/heads/trunk dfc77fb21 -> a52976e2b AMBARI-11165. Configs: Recommendations API call should not be made if config being changed is empty (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a52976e2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a52976e2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a52976e2 Branch: refs/heads/trunk Commit: a52976e2ba62f8ca0a8d664f9994d1e98d418c0b Parents: dfc77fb Author: Oleg Nechiporenko Authored: Fri May 15 14:54:20 2015 +0300 Committer: Oleg Nechiporenko Committed: Fri May 15 14:54:20 2015 +0300 -- ambari-web/app/views/common/controls_view.js | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/a52976e2/ambari-web/app/views/common/controls_view.js -- diff --git a/ambari-web/app/views/common/controls_view.js b/ambari-web/app/views/common/controls_view.js index 3bafde1..6dd82b7 100644 --- a/ambari-web/app/views/common/controls_view.js +++ b/ambari-web/app/views/common/controls_view.js @@ -87,6 +87,7 @@ App.SupportsDependentConfigs = Ember.Mixin.create({ * @returns {$.Deferred} */ sendRequestRorDependentConfigs: function(config) { +if (!config.get('isValid')) return $.Deferred().resolve().promise(); if (App.get('isClusterSupportsEnhancedConfigs') && ['mainServiceInfoConfigsController','wizardStep7Controller'].contains(this.get('controller.name'))) { var name = config.get('name'); var controller = this.get('controller');
ambari git commit: AMBARI-11164. Widgets: Graph legend can be misleading when labels are long (onechiporenko)
Repository: ambari Updated Branches: refs/heads/trunk eef00a9ec -> dfc77fb21 AMBARI-11164. Widgets: Graph legend can be misleading when labels are long (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/dfc77fb2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/dfc77fb2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/dfc77fb2 Branch: refs/heads/trunk Commit: dfc77fb2155ee9d80b1479c0f90aec208aa2f483 Parents: eef00a9 Author: Oleg Nechiporenko Authored: Fri May 15 14:34:54 2015 +0300 Committer: Oleg Nechiporenko Committed: Fri May 15 14:36:23 2015 +0300 -- ambari-web/app/styles/application.less | 1 - .../app/views/common/chart/linear_time.js | 30 +- ambari-web/test/controllers/installer_test.js | 884 ++- 3 files changed, 898 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/dfc77fb2/ambari-web/app/styles/application.less -- diff --git a/ambari-web/app/styles/application.less b/ambari-web/app/styles/application.less index 6261b43..7235c98 100644 --- a/ambari-web/app/styles/application.less +++ b/ambari-web/app/styles/application.less @@ -2141,7 +2141,6 @@ a:focus { width: 60px; } .chart-legend { - left: 60px; top: 245px; } .x_tick { http://git-wip-us.apache.org/repos/asf/ambari/blob/dfc77fb2/ambari-web/app/views/common/chart/linear_time.js -- diff --git a/ambari-web/app/views/common/chart/linear_time.js b/ambari-web/app/views/common/chart/linear_time.js index 5f00cbc..2f0c33a 100644 --- a/ambari-web/app/views/common/chart/linear_time.js +++ b/ambari-web/app/views/common/chart/linear_time.js @@ -451,44 +451,44 @@ App.ChartLinearTimeView = Ember.View.extend({ var palette = new Rickshaw.Color.Palette({ scheme: 'munin'}); // Format series for display var series_min_length = 1; -data.forEach(function (series, index) { +data.forEach(function (series) { var seriesColor = self.colorForSeries(series); - if (seriesColor == null) { + if (Em.isNone(seriesColor)) { seriesColor = palette.color(); } series.color = seriesColor; series.stroke = 'rgba(0,0,0,0.3)'; - if (this.get('isPopup')) { + if (self.get('isPopup')) { // calculate statistic data for popup legend var avg = 0; var min = Number.MAX_VALUE; var max = Number.MIN_VALUE; for (var i = 0; i < series.data.length; i++) { avg += series.data[i]['y']; - if (series.data[i]['y'] < min) { -min = series.data[i]['y']; - } - else { -if (series.data[i]['y'] > max) { - max = series.data[i]['y']; + if (!Em.isNone(series.data[i]['y'])) { +if (series.data[i]['y'] < min) { + min = series.data[i]['y']; } } + if (series.data[i]['y'] > max) { +max = series.data[i]['y']; + } } -series.name = string_utils.pad(series.name, 30, ' ', 2) + +series.name = string_utils.pad(series.name.length > 36 ? series.name.substr(0, 36) + '...' : series.name, 40, ' ', 2) + '| ' + string_utils.pad('min', 5, ' ', 3) + - string_utils.pad(this.get('yAxisFormatter')(min), 12, ' ', 3) + + string_utils.pad(self.get('yAxisFormatter')(min), 12, ' ', 3) + string_utils.pad('avg', 5, ' ', 3) + - string_utils.pad(this.get('yAxisFormatter')(avg/series.data.length), 12, ' ', 3) + + string_utils.pad(self.get('yAxisFormatter')(avg/series.data.compact().length), 12, ' ', 3) + string_utils.pad('max', 12, ' ', 3) + - string_utils.pad(this.get('yAxisFormatter')(max), 5, ' ', 3); + string_utils.pad(self.get('yAxisFormatter')(max), 5, ' ', 3); } if (series.data.length < series_min_length) { series_min_length = series.data.length; } -}.bind(this)); +}); // All series should have equal length -data.forEach(function(series, index) { +data.forEach(function(series) { if (series.data.length > series_min_length) { series.data.length = series_min_length; } http://git-wip-us.apache.org/repos/asf/ambari/blob/dfc77fb2/ambari-web/test/controllers/installer_test.js -- diff --git a/ambari-web/test/controllers/installer_test.js b/ambari-web/test/controllers/installer_test.js index 14a323d..93c
ambari git commit: AMBARI-11149. Widgets: attempted to move/add/delete a widget causes exception (dlysnichenko)
Repository: ambari Updated Branches: refs/heads/trunk c36ec9091 -> eef00a9ec AMBARI-11149. Widgets: attempted to move/add/delete a widget causes exception (dlysnichenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/eef00a9e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/eef00a9e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/eef00a9e Branch: refs/heads/trunk Commit: eef00a9ec7d9561eeac087d743a852e3d34d67ba Parents: c36ec90 Author: Lisnichenko Dmitro Authored: Fri May 15 14:09:51 2015 +0300 Committer: Lisnichenko Dmitro Committed: Fri May 15 14:09:51 2015 +0300 -- .../internal/WidgetLayoutResourceProvider.java | 9 .../entities/WidgetLayoutUserWidgetEntity.java | 8 +++ .../WidgetLayoutResourceProviderTest.java | 23 .../ambari/server/orm/dao/WidgetDAOTest.java| 3 ++- .../server/orm/dao/WidgetLayoutDAOTest.java | 2 -- 5 files changed, 33 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/eef00a9e/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java index 8f068d5..174a106 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProvider.java @@ -286,6 +286,15 @@ public class WidgetLayoutResourceProvider extends AbstractControllerResourceProv Set widgetsSet = (LinkedHashSet) propertyMap.get(WIDGETLAYOUT_WIDGETS_PROPERTY_ID); + //Remove old relations from widget entities + for (WidgetLayoutUserWidgetEntity widgetLayoutUserWidgetEntity : entity.getListWidgetLayoutUserWidgetEntity()) { + widgetLayoutUserWidgetEntity.getWidget().getListWidgetLayoutUserWidgetEntity() +.remove(widgetLayoutUserWidgetEntity); +widgetDAO.merge(widgetLayoutUserWidgetEntity.getWidget()); + } + entity.setListWidgetLayoutUserWidgetEntity(new LinkedList()); + widgetLayoutDAO.merge(entity); + List widgetLayoutUserWidgetEntityList = new LinkedList(); int order=0; for (Object widgetObject : widgetsSet) { http://git-wip-us.apache.org/repos/asf/ambari/blob/eef00a9e/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetLayoutUserWidgetEntity.java -- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetLayoutUserWidgetEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetLayoutUserWidgetEntity.java index 1d6e1b5..dbae31b 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetLayoutUserWidgetEntity.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/WidgetLayoutUserWidgetEntity.java @@ -17,6 +17,7 @@ */ package org.apache.ambari.server.orm.entities; +import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; @@ -43,7 +44,7 @@ public class WidgetLayoutUserWidgetEntity { @JoinColumn(name = "widget_layout_id", referencedColumnName = "id") private WidgetLayoutEntity widgetLayout; - @ManyToOne + @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) @JoinColumn(name = "widget_id", referencedColumnName = "id") private WidgetEntity widget; @@ -97,10 +98,7 @@ public class WidgetLayoutUserWidgetEntity { WidgetLayoutUserWidgetEntity that = (WidgetLayoutUserWidgetEntity) o; -if (widgetLayout.getId() != that.widgetLayout.getId()) return false; -if (widget.getId() != that.widget.getId()) return false; - -return true; +return (widgetLayout.equals(that.widgetLayout) && widget.equals(that.widget)); } @Override http://git-wip-us.apache.org/repos/asf/ambari/blob/eef00a9e/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java -- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/WidgetLayoutResourceProviderTest.java index 1a9e230..8184d34 100644 --
ambari git commit: AMBARI-11162. Ambari should configure NameNode to terminate on OutOfMemoryError. (aonishuk)
Repository: ambari Updated Branches: refs/heads/trunk e10531e27 -> c36ec9091 AMBARI-11162. Ambari should configure NameNode to terminate on OutOfMemoryError. (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c36ec909 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c36ec909 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c36ec909 Branch: refs/heads/trunk Commit: c36ec90919918aeeeb5217f8280d40cc36ae0082 Parents: e10531e Author: Andrew Onishuk Authored: Fri May 15 14:03:37 2015 +0300 Committer: Andrew Onishuk Committed: Fri May 15 14:03:37 2015 +0300 -- .../HDP/2.3/services/HDFS/configuration/hadoop-env.xml | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/c36ec909/ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml -- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml index 108805f..0068e3e 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/HDFS/configuration/hadoop-env.xml @@ -61,16 +61,22 @@ HADOOP_JOBTRACKER_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC HADOOP_TASKTRACKER_OPTS="-server -Xmx{{ttnode_heapsize}} -Dhadoop.security.logger=ERROR,console -Dmapred.audit.logger=ERROR,console ${HADOOP_TASKTRACKER_OPTS}" {% if java_version < 8 %} -export HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}" +SHARED_HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -XX:PermSize={{namenode_opt_permsize}} -XX:MaxPermSize={{namenode_opt_maxpermsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT" +export HADOOP_NAMENODE_OPTS="${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\"/usr/hdp/current/hadoop-hdfs-namenode/bin/kill-name-node\" ${HADOOP_NAMENODE_OPTS}" export HADOOP_DATANODE_OPTS="-server -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m -XX:MaxNewSize=200m -XX:PermSize=128m -XX:MaxPermSize=256m -Xloggc:/var/log/hadoop/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{dtnode_heapsize}} -Xmx{{dtnode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_DATANODE_OPTS}" +export HADOOP_SECONDARYNAMENODE_OPTS="${SHARED_HADOOP_NAMENODE_OPTS} -XX:OnOutOfMemoryError=\"/usr/hdp/current/hadoop-hdfs-secondarynamenode/bin/kill-secondary-name-node\" ${HADOOP_SECONDARYNAMENODE_OPTS}" + # The following applies to multiple commands (fs, dfs, fsck, distcp etc) export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m -XX:MaxPermSize=512m $HADOOP_CLIENT_OPTS" {% else %} -export HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -Xms{{namenode_heapsize}} -Xmx{{namenode_heapsize}} -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT ${HADOOP_NAMENODE_OPTS}" +SHARED_HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8 -XX:+UseConcMarkSweepGC -XX:ErrorFile={{hdfs_log_dir_prefix}}/$USER/hs_err_pid%p.log -XX:NewSize={{namenode_opt_newsize}} -XX:MaxNewSize={{namenode_opt_maxnewsize}} -Xloggc:{{hdfs_log_dir_prefix}}/$USER/gc.log-`date +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetai
ambari git commit: AMBARI-11163. Some upgrade paths are not using su with correct parameters (aonishuk)
Repository: ambari Updated Branches: refs/heads/trunk 8f7fb3d26 -> e10531e27 AMBARI-11163. Some upgrade paths are not using su with correct parameters (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e10531e2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e10531e2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e10531e2 Branch: refs/heads/trunk Commit: e10531e2720bb30f15468d19d4942c4269ee1771 Parents: 8f7fb3d Author: Andrew Onishuk Authored: Fri May 15 13:54:21 2015 +0300 Committer: Andrew Onishuk Committed: Fri May 15 13:54:21 2015 +0300 -- .../HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py | 8 1 file changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/e10531e2/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py -- diff --git a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py index ddd81fc..bc1e3ad 100644 --- a/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py +++ b/ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/scripts/namenode_upgrade.py @@ -44,11 +44,11 @@ def reach_safemode_state(user, safemode_state, in_ha): original_state = SafeMode.UNKNOWN hostname = params.hostname - safemode_check = format("su - {user} -c 'hdfs dfsadmin -safemode get'") + safemode_check = format("hdfs dfsadmin -safemode get") grep_pattern = format("Safe mode is {safemode_state} in {hostname}") if in_ha else format("Safe mode is {safemode_state}") - safemode_check_with_grep = format("su - {user} -c 'hdfs dfsadmin -safemode get | grep \"{grep_pattern}\"'") - code, out = shell.call(safemode_check) + safemode_check_with_grep = format("hdfs dfsadmin -safemode get | grep '{grep_pattern}'") + code, out = shell.call(safemode_check, user=user) Logger.info("Command: %s\nCode: %d." % (safemode_check, code)) if code == 0 and out is not None: Logger.info(out) @@ -67,7 +67,7 @@ def reach_safemode_state(user, safemode_state, in_ha): logoutput=True, path=[params.hadoop_bin_dir]) -code, out = call(safemode_check_with_grep) +code, out = call(safemode_check_with_grep, user=user) Logger.info("Command: %s\nCode: %d. Out: %s" % (safemode_check_with_grep, code, out)) if code == 0: return (True, original_state)
ambari git commit: AMBARI-11161. Changing MapReduce configs put dependencies bar at incorrect location(onechiporenko)
Repository: ambari Updated Branches: refs/heads/trunk 69e112bae -> 8f7fb3d26 AMBARI-11161. Changing MapReduce configs put dependencies bar at incorrect location(onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8f7fb3d2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8f7fb3d2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8f7fb3d2 Branch: refs/heads/trunk Commit: 8f7fb3d263057e23e6adeffcf4203e76169ba183 Parents: 69e112b Author: Oleg Nechiporenko Authored: Fri May 15 13:38:24 2015 +0300 Committer: Oleg Nechiporenko Committed: Fri May 15 13:38:24 2015 +0300 -- .../app/views/main/service/info/configs.js | 57 ++-- .../test/views/main/service/info/config_test.js | 1 + 2 files changed, 41 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/8f7fb3d2/ambari-web/app/views/main/service/info/configs.js -- diff --git a/ambari-web/app/views/main/service/info/configs.js b/ambari-web/app/views/main/service/info/configs.js index c623c4e..f51baa0 100644 --- a/ambari-web/app/views/main/service/info/configs.js +++ b/ambari-web/app/views/main/service/info/configs.js @@ -20,49 +20,72 @@ var App = require('app'); var batchUtils = require('utils/batch_scheduled_requests'); App.MainServiceInfoConfigsView = Em.View.extend({ + templateName: require('templates/main/service/info/configs'), + didInsertElement: function () { -var controller = this.get('controller'); -controller.loadStep(); +this.get('controller').loadStep(); }, + /** + * Number of components that should be restarted + * @type {number} + */ componentsCount: null, + + /** + * Number of hosts with components that should be restarted + * @type {number} + */ hostsCount: null, - isStopCommand:true, + /** + * @type {boolean} + */ + isStopCommand: true, + + /** + * @method updateComponentInformation + */ updateComponentInformation: function() { var hc = this.get('controller.content.restartRequiredHostsAndComponents'); -var hostsCount = 0; var componentsCount = 0; -for (var host in hc) { - hostsCount++; +var hosts = Em.keys(hc); +hosts.forEach(function (host) { componentsCount += hc[host].length; -} -this.set('componentsCount', componentsCount); -this.set('hostsCount', hostsCount); +}); +this.setProperties({ + componentsCount: componentsCount, + hostsCount: hosts.length +}); }.observes('controller.content.restartRequiredHostsAndComponents'), - rollingRestartSlaveComponentName : function() { + /** + * @type {string} + */ + rollingRestartSlaveComponentName: function() { return batchUtils.getRollingRestartComponentName(this.get('controller.content.serviceName')); }.property('controller.content.serviceName'), + /** + * @type {string} + */ rollingRestartActionName : function() { -var label = null; var componentName = this.get('rollingRestartSlaveComponentName'); -if (componentName) { - label = Em.I18n.t('rollingrestart.dialog.title').format(App.format.role(componentName)); -} -return label; +return componentName ? Em.I18n.t('rollingrestart.dialog.title').format(App.format.role(componentName)) : ''; }.property('rollingRestartSlaveComponentName'), /** + * When some config has dependencies and `.dependencies-info-bar` should be shown and should be placed sticky to top * @method onHasChangedDependenciesUpdated */ onHasChangedDependenciesUpdated: function () { if (this.get('controller.hasChangedDependencies')) { - $(".dependencies-info-bar-wrapper").stick_in_parent({parent: '#serviceConfig', offset_top: 60}); Em.run.next(function () { -$(window).scrollTop(window.scrollY + 1); // '.dependencies-info-bar-wrapper' position should be recalculated +$(".dependencies-info-bar-wrapper").stick_in_parent({parent: '#serviceConfig', offset_top: 60}); +Em.run.next(function () { + $(window).scrollTop(window.scrollY + 1); // '.dependencies-info-bar-wrapper' position should be recalculated +}); }); } else { http://git-wip-us.apache.org/repos/asf/ambari/blob/8f7fb3d2/ambari-web/test/views/main/service/info/config_test.js -- diff --git a/ambari-web/test/views/main/service/info/config_test.js b/ambari-web/test/views/main/service/info/config_test.js index fe01e84..583dfa5 100644 --- a/ambari-web/test/views/main/service/info/config_test.js +++ b/ambari-web/test/views/main/service/info/config_test.js @@ -73,4 +73,5 @@ describe('App.MainServiceInfoConfigsView', function()
ambari git commit: AMBARI-11160. New required parameters for Hive and HBase on navigating back to Customize Services page after install failure (onechiporenko)
Repository: ambari Updated Branches: refs/heads/trunk d239381eb -> 69e112bae AMBARI-11160. New required parameters for Hive and HBase on navigating back to Customize Services page after install failure (onechiporenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/69e112ba Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/69e112ba Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/69e112ba Branch: refs/heads/trunk Commit: 69e112bae1bba1c06b7165616a7b59b4f9e22ae9 Parents: d239381 Author: Oleg Nechiporenko Authored: Fri May 15 13:01:15 2015 +0300 Committer: Oleg Nechiporenko Committed: Fri May 15 13:01:15 2015 +0300 -- ambari-web/app/controllers/wizard.js| 1 + .../app/controllers/wizard/step7_controller.js | 60 .../mixins/common/configs/enhanced_configs.js | 9 ++- ambari-web/app/mixins/common/serverValidator.js | 3 - ambari-web/app/utils/config.js | 7 ++- ambari-web/package.json | 2 +- .../test/controllers/wizard/step7_test.js | 43 ++ .../test/controllers/wizard/step8_test.js | 8 ++- 8 files changed, 112 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/69e112ba/ambari-web/app/controllers/wizard.js -- diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js index 87027b9..22d3bbc 100644 --- a/ambari-web/app/controllers/wizard.js +++ b/ambari-web/app/controllers/wizard.js @@ -890,6 +890,7 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM var configProperty = { id: _configProperties.get('id'), name: _configProperties.get('name'), + displayName: _configProperties.get('displayName'), value: _configProperties.get('value'), defaultValue: _configProperties.get('defaultValue'), description: _configProperties.get('description'), http://git-wip-us.apache.org/repos/asf/ambari/blob/69e112ba/ambari-web/app/controllers/wizard/step7_controller.js -- diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js index 4a7c2df..bc716b5 100644 --- a/ambari-web/app/controllers/wizard/step7_controller.js +++ b/ambari-web/app/controllers/wizard/step7_controller.js @@ -265,10 +265,12 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E * @method clearStep */ clearStep: function () { -this.set('configValidationGlobalMessage', []); -this.set('submitButtonClicked', false); -this.set('isSubmitDisabled', true); -this.set('isRecommendedLoaded', false); +this.setProperties({ + configValidationGlobalMessage: [], + submitButtonClicked: false, + isSubmitDisabled: true, + isRecommendedLoaded: false +}); this.get('stepConfigs').clear(); this.set('filter', ''); this.get('filterColumns').setEach('selected', false); @@ -582,6 +584,7 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E } } }, + /** * On load function * @method loadStep @@ -624,8 +627,8 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E if (this.get('allSelectedServiceNames').contains('YARN')) { configs = App.config.fileConfigsIntoTextarea(configs, 'capacity-scheduler.xml'); } -var dependendServices = ["STORM", "YARN"]; -dependendServices.forEach(function (serviceName) { +var dependedServices = ["STORM", "YARN"]; +dependedServices.forEach(function (serviceName) { if (this.get('allSelectedServiceNames').contains(serviceName)) { this.resolveServiceDependencyConfigs(serviceName, configs); } @@ -639,11 +642,22 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E self.addKerberosDescriptorConfigs(configs, self.get('wizardController.kerberosDescriptorConfigs') || []); } self.setStepConfigs(configs, storedConfigs); + + var serviceConfigProperties = (self.get('content.serviceConfigProperties') || []).mapProperty('name'); + var recommendedToDelete = self.get('_dependentConfigValues').filterProperty('toDelete'); + recommendedToDelete.forEach(function (c) { +var name = Em.get(c, 'propertyName'); +if (serviceConfigProperties.contains(name)) { + Em.set(self.get('_dependentConfigValues').findProperty('propertyName', name), 'toDelete', false); +} + }); + self.updateDependentConfigs(); self.clearDependentConfigs(
[5/6] ambari git commit: AMBARI-11135. Kerberos: Selecting "Manual" option and then going back to "Existing KDC" option loses KDC host field and connection tester (alexantonenko)
AMBARI-11135. Kerberos: Selecting "Manual" option and then going back to "Existing KDC" option loses KDC host field and connection tester (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d239381e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d239381e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d239381e Branch: refs/heads/trunk Commit: d239381ebce715e56ab840a227dc32c333b7e493 Parents: ea8a804 Author: Alex Antonenko Authored: Fri May 15 12:40:40 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 12:53:46 2015 +0300 -- .../main/admin/kerberos/step2_controller.js | 28 .../main/admin/kerberos/wizard_controller.js| 15 ++- ambari-web/app/routes/add_kerberos_routes.js| 2 ++ .../configs/service_configs_by_category_view.js | 4 --- 4 files changed, 27 insertions(+), 22 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/d239381e/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js index eca8ab2..947ea12 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/step2_controller.js @@ -91,15 +91,15 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({ //STEP 2: Load on-site configs by service from local DB var storedConfigs = this.get('content.serviceConfigProperties'); //STEP 3: Merge pre-defined configs with loaded on-site configs -var configs = App.config.mergePreDefinedWithStored( +this.set('configs', App.config.mergePreDefinedWithStored( storedConfigs, advancedConfigs, - this.get('selectedServiceNames')); + this.get('selectedServiceNames'))); App.config.setPreDefinedServiceConfigs(this.get('addMiscTabToPage')); //STEP 4: Add advanced configs -App.config.addAdvancedConfigs(configs, advancedConfigs); -this.filterConfigs(configs); -this.applyServicesConfigs(configs, storedConfigs); +App.config.addAdvancedConfigs(this.get('configs'), advancedConfigs); +this.filterConfigs(this.get('configs')); +this.applyServicesConfigs(this.get('configs'), storedConfigs); }, /** @@ -109,15 +109,21 @@ App.KerberosWizardStep2Controller = App.WizardStep7Controller.extend({ filterConfigs: function (configs) { var kdcType = this.get('content.kerberosOption'); var configNames = ['ldap_url', 'container_dn', 'create_attributes_template']; +var kerberosWizardController = this.controllers.get('kerberosWizardController'); + +if (kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.manual')) { + if (kerberosWizardController.get('skipClientInstall')) { +kerberosWizardController.overrideVisibility(configs, false, kerberosWizardController.get('exceptionsOnSkipClient')); + } + return; +} + configNames.forEach(function (_configName) { var config = configs.findProperty('name', _configName); - config.isVisible = kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.ad'); + if (config) { +config.isVisible = kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.ad'); + } }, this); -if (kdcType === Em.I18n.t('admin.kerberos.wizard.step1.option.manual')) { - var host = configs.findProperty('name', 'kdc_host'); - host.isRequiredByAgent = false; - host.isVisible = false; -} }, submit: function () { http://git-wip-us.apache.org/repos/asf/ambari/blob/d239381e/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js index 10046eb..738af3f 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/wizard_controller.js @@ -179,14 +179,15 @@ App.KerberosWizardController = App.WizardController.extend({ * @param {Array} itemsArray * @param newValue */ - overrideVisibility: function (itemsArray, newValue) { -var self = this; -newValue = newValue || false; + overrideVisibility: function (itemsArray, newValue, exceptions) { +newValue = newValue || false -for (var i=0; i < itemsArray.length; i += 1) { - var isException = self.get('exceptionsOnSkipClient').filterProperty(itemsArray[i].get('category'), itemsArray[i].get('name')); - if (!isException.length
[2/6] ambari git commit: AMBARI-11155. Bulk Stop shows 'Nothing to Do' when there are components in started state (alexantonenko)
AMBARI-11155. Bulk Stop shows 'Nothing to Do' when there are components in started state (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5e8e7ac7 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5e8e7ac7 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5e8e7ac7 Branch: refs/heads/trunk Commit: 5e8e7ac789ab02ca99e1ef78a21005c761d194d6 Parents: 94ba7c0 Author: Alex Antonenko Authored: Fri May 15 10:57:45 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 12:53:45 2015 +0300 -- ambari-web/app/controllers/main/host.js | 42 ++-- 1 file changed, 21 insertions(+), 21 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/5e8e7ac7/ambari-web/app/controllers/main/host.js -- diff --git a/ambari-web/app/controllers/main/host.js b/ambari-web/app/controllers/main/host.js index 02ca468..e5f08b3 100644 --- a/ambari-web/app/controllers/main/host.js +++ b/ambari-web/app/controllers/main/host.js @@ -209,7 +209,6 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { skipNonFilterProperties = skipNonFilterProperties || false; var queryParams = [], savedFilterConditions = App.db.getFilterConditions(this.get('name')) || [], - savedSortConditions = App.db.getSortingStatuses(this.get('name')) || [], colPropAssoc = this.get('colPropAssoc'), filterProperties = this.get('filterProperties'), sortProperties = this.get('sortProps'), @@ -597,8 +596,6 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { var query = []; var hostNames = []; var hostsMap = {}; -var context = this, -shouldRun = false; data.items.forEach(function (host) { host.host_components.forEach(function (hostComponent) { @@ -610,28 +607,20 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { } } }); - hostsMap[host.Hosts.host_name].healthStatus = context.dataSource.filterProperty('hostName', host.Hosts.host_name)[0].get('healthStatus'); }); for (var hostName in hostsMap) { var subQuery = '(HostRoles/component_name.in(%@)&HostRoles/host_name=' + hostName + ')'; var components = hostsMap[hostName]; - var action = operationData.get('action'), - healthStatus = hostsMap[hostName].healthStatus; if (components.length) { query.push(subQuery.fmt(components.join(','))); } hostNames.push(hostName); - - if ((action === App.HostComponentStatus.started && healthStatus !== 'HEALTHY') || // start all and already started - (action === App.HostComponentStatus.stopped && healthStatus !== 'UNHEALTHY')) { // stop all and already stopped -shouldRun = true; - } } hostNames = hostNames.join(","); -if (query.length && shouldRun) { +if (query.length) { query = query.join('|'); App.ajax.send({ name: 'common.host_components.update', @@ -642,7 +631,8 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { state: operationData.action }, context: operationData.message, - hostName: hostNames + hostName: hostNames, + noOpsMessage: Em.I18n.t('hosts.host.maintainance.allComponents.context') }, success: 'bulkOperationForHostComponentsSuccessCallback' }); @@ -751,7 +741,8 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { }, query: 'HostRoles/component_name=' + operationData.componentName + '&HostRoles/host_name.in(' + hostsWithComponentInProperState.join(',') + ')&HostRoles/maintenance_state=OFF', context: operationData.message + ' ' + operationData.componentNameFormatted, -level: 'SERVICE' +level: 'SERVICE', +noOpsMessage: operationData.componentNameFormatted }, success: 'bulkOperationForHostComponentsSuccessCallback' }); @@ -841,7 +832,8 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { context: Em.I18n.t(contextString), serviceName: service.get('serviceName'), componentName: operationData.componentName, - parameters: parameters + parameters: parameters, + noOpsMessage: operationData.componentNameFormatted }, success: 'bulkOperationForHostComponentsSuccessCallback' }); @@ -937,12 +929,20 @@ App.MainHostController = Em.ArrayController.extend(App.TableServerMixin, { /** * Show BO popup after bulk request */ -
[4/6] ambari git commit: AMBARI-11159. Kerberos: Add kerberos-setup.sh script back to the resources/scripts directory with appropriate changes (alexantonenko)
AMBARI-11159. Kerberos: Add kerberos-setup.sh script back to the resources/scripts directory with appropriate changes (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/ea8a8046 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/ea8a8046 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/ea8a8046 Branch: refs/heads/trunk Commit: ea8a8046da69a266c267ef299389d43d825505ae Parents: 3ccfc42 Author: Alex Antonenko Authored: Fri May 15 12:37:50 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 12:53:46 2015 +0300 -- .../main/resources/scripts/kerberos-setup.sh| 366 +++ 1 file changed, 366 insertions(+) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/ea8a8046/ambari-server/src/main/resources/scripts/kerberos-setup.sh -- diff --git a/ambari-server/src/main/resources/scripts/kerberos-setup.sh b/ambari-server/src/main/resources/scripts/kerberos-setup.sh new file mode 100644 index 000..8641616 --- /dev/null +++ b/ambari-server/src/main/resources/scripts/kerberos-setup.sh @@ -0,0 +1,366 @@ +#!/bin/bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +# +# This script is provided as an example of how to parse the Kerberos CSV file. +# It is for illustrative purposes only and should not be used for any other purpose. +# + + +## NOTE: +## 1) This script should be executed on NameNode host as that host is guaranteed to have all the users needed while creating keytab file +## 2) The script has been verified to work in gce environment and +## vagrant environment documented at ambari wiki: https://cwiki.apache.org/confluence/display/AMBARI/Quick+Start+Guide +### + +usage () { +echo "Usage: keytabs.sh "; +echo " : CSV file generated by 'Enable Security Wizard' of Ambari"; +echo " : File path to the ssh login key for root user"; +exit 1; +} + +### +## processCSVFile() +### +processCSVFile () { +csvFile=$1; +csvFile=$(printf '%q' "$csvFile") +# Remove blank lines +sed -i '/^\s*$/d' $csvFile +touch generate_keytabs.sh; +chmod 755 generate_keytabs.sh; + +echo "#!/bin/bash" > generate_keytabs.sh; +echo "###" >> generate_keytabs.sh; +echo "###" >> generate_keytabs.sh; +echo "## " >> generate_keytabs.sh; +echo "## Ambari Security Script Generator" >> generate_keytabs.sh; +echo "## " >> generate_keytabs.sh; +echo "## Ambari security script is generated which should be run on the" >> generate_keytabs.sh; +echo "## Kerberos server machine." >> generate_keytabs.sh; +echo "## " >> generate_keytabs.sh; +echo "## Running the generated script will create host specific keytabs folders." >> generate_keytabs.sh; +echo "## Each of those folders will contain service specific keytab files with " >> generate_keytabs.sh; +echo "## appropriate permissions. There folders should be copied as the appropriate" >> generate_keytabs.sh; +echo "## host's '/etc/security/keytabs' folder" >> generate_keytabs.sh; +echo "###" >> generate_keytabs.sh; +echo "###" >> generate_keytabs.sh; + +rm -f commands.mkdir; +rm -f commands.chmod; +rm -f commands.addprinc; +rm -f commands.xst +rm -f commands.xst.cp +rm -f commands.chown.1 +rm -f commands.chmod.1 +rm -f commands.chmod.2 +rm -f commands.tar + +seenHosts=""; +seenPrincipals=""; + +echo "mkdir -p ./tmp_keytabs" >> commands.mkdir; +sed 1d $csvFile | while read line; do +hostName=`echo $line|cut -d , -f 1`; +service=`echo $line|cut -d , -f 2`; +princ
[3/6] ambari git commit: AMBARI-11158. Kerberos: Improve Review page content (alexantonenko)
AMBARI-11158. Kerberos: Improve Review page content (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3ccfc42b Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3ccfc42b Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3ccfc42b Branch: refs/heads/trunk Commit: 3ccfc42bda19d5f2e642f81ca020674b2ca1590c Parents: 8dbdf1d Author: Alex Antonenko Authored: Fri May 15 12:27:53 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 12:53:46 2015 +0300 -- .../main/admin/kerberos/step5_controller.js | 31 +++- ambari-web/app/messages.js | 5 .../app/templates/main/admin/kerberos/step5.hbs | 6 ++-- 3 files changed, 37 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/3ccfc42b/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js -- diff --git a/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js b/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js index 7cad80f..c6cbf0f 100644 --- a/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js +++ b/ambari-web/app/controllers/main/admin/kerberos/step5_controller.js @@ -139,5 +139,34 @@ App.KerberosWizardStep5Controller = App.KerberosProgressPageController.extend({ isSubmitDisabled: function () { return !["COMPLETED", "FAILED"].contains(this.get('status')); - }.property('status') + }.property('status'), + + confirmProperties: function () { +var kdc_type = App.router.kerberosWizardController.content.serviceConfigProperties.findProperty('name','kdc_type').value, + filterObject = [ +{ + key: Em.I18n.t('admin.kerberos.wizard.step1.option.kdc'), + properties: ['kdc_type','kdc_host','realm','executable_search_paths'] +}, +{ + key: Em.I18n.t('admin.kerberos.wizard.step1.option.ad'), + properties: ['kdc_type','kdc_host','realm','ldap_url','container_dn','executable_search_paths'] +}, +{ + key: Em.I18n.t('admin.kerberos.wizard.step1.option.manual'), + properties: ['kdc_type','realm','executable_search_paths'] +} + ], + kdcTypeProperties = filterObject.filter(function(item) { +return item.key === kdc_type; + }), + filterBy = kdcTypeProperties.length ? kdcTypeProperties[0].properties : [], + returnArray = App.router.kerberosWizardController.content.serviceConfigProperties.filter(function(item) { +return filterBy.contains(item.name); + }).map(function(item) { +item['label'] = Em.I18n.t('admin.kerberos.wizard.step5.'+item['name']+'.label'); +return item; + }); +return returnArray; + }.property('App.router.kerberosWizardController.content.@each.serviceConfigProperties') }); http://git-wip-us.apache.org/repos/asf/ambari/blob/3ccfc42b/ambari-web/app/messages.js -- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 0fbdcec..d54cdd7 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1026,7 +1026,12 @@ Em.I18n.translations = { 'admin.kerberos.wizard.step5.info.body': 'Please review the configuration before continuing the setup process', 'admin.kerberos.wizard.step5.moreInfoNonManual.body': 'Using the Download CSV button, you can download a csv file which contains a list of the principals and keytabs that will automatically be created by Ambari.', 'admin.kerberos.wizard.step5.moreInfoManual.body': 'Important: Use the Download CSV button to obtain a list of the required principals and keytabs that are needed by Ambari to enable Kerberos in the cluster. Do not proceed until you have manually created and distributed the principals and keytabs to the cluster hosts.', + 'admin.kerberos.wizard.step5.kdc_type.label': 'KDC Type', + 'admin.kerberos.wizard.step5.kdc_host.label': 'KDC Host', 'admin.kerberos.wizard.step5.realm.label': 'Realm Name', + 'admin.kerberos.wizard.step5.ldap_url.label': 'LDAP URL', + 'admin.kerberos.wizard.step5.container_dn.label': 'Container DN', + 'admin.kerberos.wizard.step5.executable_search_paths.label': 'Executable path', 'admin.kerberos.wizard.step5.exitWizard': 'Exit Wizard', 'admin.kerberos.wizard.step5.downloadCSV': 'Download CSV', 'admin.kerberos.wizard.step6.task0.title' : 'Stop Services', http://git-wip-us.apache.org/repos/asf/ambari/blob/3ccfc42b/ambari-web/app/templates/main/admin/kerberos/step5.hbs -- diff --git a/ambari-web/app/templates/main/admin/kerberos/step5.hbs b/ambari-web/app/templates/
[1/6] ambari git commit: AMBARI-11156. Ranger Yarn Plugin Status - to be shown in Summary for Ranger (alexantonenko)
Repository: ambari Updated Branches: refs/heads/trunk 94ba7c0f9 -> d239381eb AMBARI-11156. Ranger Yarn Plugin Status - to be shown in Summary for Ranger (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/68d02943 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/68d02943 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/68d02943 Branch: refs/heads/trunk Commit: 68d02943a9d5df28587a7f89a900b4a9d746226a Parents: 5e8e7ac Author: Alex Antonenko Authored: Fri May 15 11:01:51 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 12:53:45 2015 +0300 -- .../controllers/main/service/info/summary.js| 8 - .../main/service/info/summary_test.js | 34 2 files changed, 34 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/68d02943/ambari-web/app/controllers/main/service/info/summary.js -- diff --git a/ambari-web/app/controllers/main/service/info/summary.js b/ambari-web/app/controllers/main/service/info/summary.js index 137b5e4..ca661d3 100644 --- a/ambari-web/app/controllers/main/service/info/summary.js +++ b/ambari-web/app/controllers/main/service/info/summary.js @@ -73,6 +73,11 @@ App.MainServiceInfoSummaryController = Em.Controller.extend(App.WidgetSectionMix serviceName: 'STORM', type: 'ranger-storm-plugin-properties', propertyName: 'ranger-storm-plugin-enabled' +}, +{ + serviceName: 'YARN', + type: 'ranger-yarn-plugin-properties', + propertyName: 'ranger-yarn-plugin-enabled' } ], @@ -95,7 +100,8 @@ App.MainServiceInfoSummaryController = Em.Controller.extend(App.WidgetSectionMix var displayName = (stackService) ? stackService.get('displayName') : item.serviceName; return $.extend(item, { pluginTitle: Em.I18n.t('services.service.summary.ranger.plugin.title').format(displayName), -isDisplayed: App.Service.find().someProperty('serviceName', item.serviceName), +isDisplayed: App.Service.find().someProperty('serviceName', item.serviceName) && + stackService.get('configTypes').hasOwnProperty(item.type), status: Em.I18n.t('services.service.summary.ranger.plugin.loadingStatus') }); }), http://git-wip-us.apache.org/repos/asf/ambari/blob/68d02943/ambari-web/test/controllers/main/service/info/summary_test.js -- diff --git a/ambari-web/test/controllers/main/service/info/summary_test.js b/ambari-web/test/controllers/main/service/info/summary_test.js index 18ef3c4..695dbad 100644 --- a/ambari-web/test/controllers/main/service/info/summary_test.js +++ b/ambari-web/test/controllers/main/service/info/summary_test.js @@ -62,29 +62,49 @@ describe('App.MainServiceInfoSummaryController', function () { serviceName: 'HDFS' }), Em.Object.create({ - serviceName: 'HIVE' + serviceName: 'YARN' }) ]); sinon.stub(App.StackService, 'find').returns([ Em.Object.create({ serviceName: 'HDFS', - displayNName: 'HDFS' + displayName: 'HDFS', + configTypes: { +'ranger-hdfs-plugin-properties': {} + } }), Em.Object.create({ serviceName: 'HIVE', - displayNName: 'Hive' + displayName: 'Hive', + configTypes: { +'ranger-hive-plugin-properties': {} + } }), Em.Object.create({ serviceName: 'HBASE', - displayNName: 'HBase' + displayName: 'HBase', + configTypes: { +'ranger-hbase-plugin-properties': {} + } }), Em.Object.create({ serviceName: 'KNOX', - displayNName: 'Knox' + displayName: 'Knox', + configTypes: { +'ranger-knox-plugin-properties': {} + } }), Em.Object.create({ serviceName: 'STORM', - displayNName: 'Storm' + displayName: 'Storm', + configTypes: { +'ranger-storm-plugin-properties': {} + } +}), +Em.Object.create({ + serviceName: 'YARN', + displayName: 'YARN', + configTypes: {} }) ]); }); @@ -99,7 +119,7 @@ describe('App.MainServiceInfoSummaryController', function () { controller.set('isRangerPluginsArraySet', item.isRangerPluginsArraySet); App.set('router.clusterController.isLoaded', item.isLoaded); expect(controller.get('isRangerPluginsArraySet')).to.equal(item.expectedIsRangerPluginsArraySet); - e
[6/6] ambari git commit: AMBARI-11157. Add host kerberos client install does not have command text (alexantonenko)
AMBARI-11157. Add host kerberos client install does not have command text (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8dbdf1d0 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8dbdf1d0 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8dbdf1d0 Branch: refs/heads/trunk Commit: 8dbdf1d003b0ab62cd73a928ebe765e047072094 Parents: 68d0294 Author: Alex Antonenko Authored: Fri May 15 12:21:48 2015 +0300 Committer: Alex Antonenko Committed: Fri May 15 12:53:46 2015 +0300 -- .../app/templates/wizard/step9/step9HostTasksLogPopup.hbs | 6 -- ambari-web/app/utils/ajax/ajax.js | 2 +- ambari-web/app/views/wizard/step9/hostLogPopupBody_view.js | 1 + .../test/views/wizard/step9/hostLogPopupBody_view_test.js | 4 +++- 4 files changed, 9 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/ambari/blob/8dbdf1d0/ambari-web/app/templates/wizard/step9/step9HostTasksLogPopup.hbs -- diff --git a/ambari-web/app/templates/wizard/step9/step9HostTasksLogPopup.hbs b/ambari-web/app/templates/wizard/step9/step9HostTasksLogPopup.hbs index daa082e..9886a3a 100644 --- a/ambari-web/app/templates/wizard/step9/step9HostTasksLogPopup.hbs +++ b/ambari-web/app/templates/wizard/step9/step9HostTasksLogPopup.hbs @@ -44,7 +44,7 @@ - {{taskInfo.role}} {{taskInfo.command}} + {{taskInfo.commandDetail}} @@ -68,7 +68,9 @@ {{t common.copy}} {{t common.open}} - {{view.openedTask.role}} {{view.openedTask.command}} + +{{view.openedTask.commandDetail}} + http://git-wip-us.apache.org/repos/asf/ambari/blob/8dbdf1d0/ambari-web/app/utils/ajax/ajax.js -- diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js index 8998158..dab402d 100644 --- a/ambari-web/app/utils/ajax/ajax.js +++ b/ambari-web/app/utils/ajax/ajax.js @@ -1675,7 +1675,7 @@ var urls = { 'mock': '/data/wizard/deploy/5_hosts/get_host_state.json' }, 'wizard.step9.load_log': { -'real': '/clusters/{cluster}/requests/{requestId}?fields=tasks/Tasks/command,tasks/Tasks/exit_code,tasks/Tasks/start_time,tasks/Tasks/end_time,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status&minimal_response=true', +'real': '/clusters/{cluster}/requests/{requestId}?fields=tasks/Tasks/command,tasks/Tasks/command_detail,tasks/Tasks/exit_code,tasks/Tasks/start_time,tasks/Tasks/end_time,tasks/Tasks/host_name,tasks/Tasks/id,tasks/Tasks/role,tasks/Tasks/status&minimal_response=true', 'mock': '/data/wizard/deploy/5_hosts/poll_{numPolls}.json', 'format': function () { return { http://git-wip-us.apache.org/repos/asf/ambari/blob/8dbdf1d0/ambari-web/app/views/wizard/step9/hostLogPopupBody_view.js -- diff --git a/ambari-web/app/views/wizard/step9/hostLogPopupBody_view.js b/ambari-web/app/views/wizard/step9/hostLogPopupBody_view.js index c81230d..301c403 100644 --- a/ambari-web/app/views/wizard/step9/hostLogPopupBody_view.js +++ b/ambari-web/app/views/wizard/step9/hostLogPopupBody_view.js @@ -138,6 +138,7 @@ App.WizardStep9HostLogPopupBodyView = Em.View.extend({ taskInfo.set('id', _task.Tasks.id); taskInfo.set('requestId', _task.Tasks.request_id); taskInfo.set('command', _task.Tasks.command.toLowerCase() === 'service_check' ? '' : _task.Tasks.command.toLowerCase()); +taskInfo.set('commandDetail', App.format.commandDetail(_task.Tasks.command_detail, _task.Tasks.request_inputs)); taskInfo.set('status', App.format.taskStatus(_task.Tasks.status)); taskInfo.set('role', App.format.role(_task.Tasks.role)); taskInfo.set('stderr', _task.Tasks.stderr); http://git-wip-us.apache.org/repos/asf/ambari/blob/8dbdf1d0/ambari-web/test/views/wizard/step9/hostLogPopupBody_view_test.js -- diff --git a/ambari-web/test/views/wizard/step9/hostLogPopupBody_view_test.js b/ambari-web/test/views/wizard/step9/hostLogPopupBody_view_test.js index 530727c..c039c0a 100644 --- a/ambari-web/test/views/wizard/step9/hostLogPopupBody_view_test.js +++ b/ambari-web/test/views/wizard/step9/hostLogPopupBody_view_test.js @@ -152,7 +152,8 @@ describe('App.WizardStep9HostLogPopupBodyView', function() { stderr: 'stderr', stdout: 'stdout', host_name: 'host1', -command: 'Cmd' +