svn commit: r26609 - in /release/ambari: ambari-2.6.1/ ambari-2.6.2/ ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.asc ambari-2.6.2/apache-ambari-2.6.2-src.ta
Author: swapan Date: Mon Apr 30 21:18:17 2018 New Revision: 26609 Log: Committing Release 2.6.2 Added: release/ambari/ambari-2.6.2/ release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz (with props) release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.asc release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.sh1 Removed: release/ambari/ambari-2.6.1/ Added: release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz == Binary file - no diff available. Propchange: release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz -- svn:mime-type = application/octet-stream Added: release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.asc == --- release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.asc (added) +++ release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.asc Mon Apr 30 21:18:17 2018 @@ -0,0 +1,11 @@ +-BEGIN PGP SIGNATURE- + +iQEzBAABCAAdFiEEIC+QKneR09EnEC9kvMXqJdAgOxgFAlriVKcACgkQvMXqJdAg +OxjS2Af/eG26rmRBalNcsGjqGoKn7bsGu7zwMgMvmsoRP/Dh4o+vcilhuaxMirU2 +NQjwt2vhJP0t1T7jM1UHMnZ2+NNLW5wixtWr1HUx8Jjt7k5fT8VvV3JYv6hE/pIw +K8TRdfjA0f1wCgd9smLRANi+G5jDcN3Vfff+oOa9gGI0LW//JkmjJlK9/h+owScK +4nC1W+FCnSdFAvgl1KCE+thOxYcAtVBJBepGbT9l2q3NsLN0gxMV3meqem39Df/P +RS5JHeWZN0noUjQ4a7H/uBkhKd+VQzQ2028DvGp/uDh8cG2BoXYVGNLk1/S8C2jh +17+pDcuNDKnm+ZPm4qQ9FCO1+wP08Q== +=a+22 +-END PGP SIGNATURE- Added: release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.sh1 == --- release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.sh1 (added) +++ release/ambari/ambari-2.6.2/apache-ambari-2.6.2-src.tar.gz.sh1 Mon Apr 30 21:18:17 2018 @@ -0,0 +1 @@ +SHA512(apache-ambari-2.6.2-src.tar.gz)= 5ac79574622628ce63d62df595e9b3c4003247284789018af717866cd4115880e8ed9db4081a6a12f68768506ea20b748440f78ef11328364d1141c78fda7df1
[ambari] branch trunk updated: [AMBARI-23727] Predicate evaluation does not work as expected for RequestResourceFilters. (swagle) (#1139)
This is an automated email from the ASF dual-hosted git repository. swagle pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 154b361 [AMBARI-23727] Predicate evaluation does not work as expected for RequestResourceFilters. (swagle) (#1139) 154b361 is described below commit 154b3610f75013350990ff4543900a1a19977854 Author: SiddharthAuthorDate: Mon Apr 30 12:18:18 2018 -0700 [AMBARI-23727] Predicate evaluation does not work as expected for RequestResourceFilters. (swagle) (#1139) --- .../internal/RequestResourceProvider.java | 73 ++ .../internal/RequestResourceProviderTest.java | 19 +- 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java index c4ef23b..48a9432 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java @@ -43,17 +43,18 @@ import org.apache.ambari.server.controller.AmbariManagementController; import org.apache.ambari.server.controller.ExecuteActionRequest; import org.apache.ambari.server.controller.RequestRequest; import org.apache.ambari.server.controller.RequestStatusResponse; +import org.apache.ambari.server.controller.spi.ClusterController; import org.apache.ambari.server.controller.spi.NoSuchParentResourceException; import org.apache.ambari.server.controller.spi.NoSuchResourceException; import org.apache.ambari.server.controller.spi.Predicate; +import org.apache.ambari.server.controller.spi.QueryResponse; import org.apache.ambari.server.controller.spi.Request; import org.apache.ambari.server.controller.spi.RequestStatus; import org.apache.ambari.server.controller.spi.Resource; import org.apache.ambari.server.controller.spi.ResourceAlreadyExistsException; -import org.apache.ambari.server.controller.spi.ResourceProvider; import org.apache.ambari.server.controller.spi.SystemException; import org.apache.ambari.server.controller.spi.UnsupportedPropertyException; -import org.apache.ambari.server.controller.utilities.PredicateBuilder; +import org.apache.ambari.server.controller.utilities.ClusterControllerHelper; import org.apache.ambari.server.controller.utilities.PropertyHelper; import org.apache.ambari.server.customactions.ActionDefinition; import org.apache.ambari.server.orm.dao.HostRoleCommandDAO; @@ -536,52 +537,46 @@ public class RequestResourceProvider extends AbstractControllerResourceProvider throw new SystemException(msg, e); } - ResourceProvider resourceProvider = getResourceProvider(Resource.Type.HostComponent); - Set propertyIds = new HashSet<>(); propertyIds.add(CLUSTER_NAME); propertyIds.add(SERVICE_NAME); propertyIds.add(COMPONENT_NAME); Request request = PropertyHelper.getReadRequest(propertyIds); - - Predicate finalPredicate = new PredicateBuilder(filterPredicate) -.property(CLUSTER_NAME).equals(clusterName).and() -.property(SERVICE_NAME).equals(serviceName).and() -.property(COMPONENT_NAME).equals(componentName) -.toPredicate(); - + try { -Set resources = resourceProvider.getResources(request, finalPredicate); - -if (resources != null && !resources.isEmpty()) { - // Allow request to span services / components using just the predicate - Map dupleListMap = new HashMap<>(); - for (Resource resource : resources) { -String hostnameStr = (String) resource.getPropertyValue(HOST_NAME); -if (hostnameStr != null) { - String computedServiceName = (String) resource.getPropertyValue(SERVICE_NAME); - String computedComponentName = (String) resource.getPropertyValue(COMPONENT_NAME); - ServiceComponentTuple duple = -new ServiceComponentTuple(computedServiceName, computedComponentName); - - if (!dupleListMap.containsKey(duple)) { -hostList = new ArrayList<>(); -hostList.add(hostnameStr); -dupleListMap.put(duple, hostList); - } else { -dupleListMap.get(duple).add(hostnameStr); - } +ClusterController clusterController = ClusterControllerHelper.getClusterController(); +QueryResponse queryResponse = clusterController.getResources( + Resource.Type.HostComponent, request, filterPredicate); +Iterable resourceIterable = clusterController.getIterable( + Resource.Type.HostComponent, queryResponse, request, +
[ambari] branch trunk updated: Revert "AMBARI-23565. Restore configs does not work. (#1130)"
This is an automated email from the ASF dual-hosted git repository. avijayan pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new bf55629 Revert "AMBARI-23565. Restore configs does not work. (#1130)" bf55629 is described below commit bf55629ce21a7da27778e252e67fd0a3841adc27 Author: Aravindan VijayanAuthorDate: Mon Apr 30 10:34:27 2018 -0700 Revert "AMBARI-23565. Restore configs does not work. (#1130)" This reverts commit 43cff24fc62604dee9726349e34ff72f83c43cc4. --- .../controller/AmbariManagementControllerImpl.java | 6 +- .../internal/ConfigGroupResourceProvider.java | 17 .../apache/ambari/server/state/ConfigHelper.java | 111 +++-- .../apache/ambari/server/state/UpgradeHelper.java | 12 +-- .../ambari/server/state/cluster/ClusterImpl.java | 5 +- .../ambari/server/state/cluster/ClustersImpl.java | 18 .../server/upgrade/AbstractUpgradeCatalog.java | 10 +- .../AmbariCustomCommandExecutionHelperTest.java| 12 --- .../AmbariManagementControllerImplTest.java| 8 ++ .../internal/ConfigGroupResourceProviderTest.java | 18 +--- .../ambari/server/state/cluster/ClusterTest.java | 8 ++ .../server/upgrade/UpgradeCatalog252Test.java | 16 +-- .../server/upgrade/UpgradeCatalog260Test.java | 29 +++--- .../server/upgrade/UpgradeCatalog270Test.java | 13 +-- 14 files changed, 71 insertions(+), 212 deletions(-) diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java index 20f9b8e..ba2ba3a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java @@ -1868,6 +1868,8 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle } } } + m_metadataHolder.get().updateData(getClusterMetadataOnConfigsUpdate(cluster)); +m_agentConfigsHolder.get().updateData(cluster.getClusterId(), null); StackId currentVersion = cluster.getCurrentStackVersion(); StackId desiredVersion = cluster.getDesiredStackVersion(); @@ -2012,10 +2014,6 @@ public class AmbariManagementControllerImpl implements AmbariManagementControlle } } } -if (serviceConfigVersionResponse != null) { - configHelper.updateAgentConfigs(Collections.singletonMap(cluster.getClusterName(), - Collections.singleton(serviceConfigVersionResponse.getServiceName(; -} if (requestStageContainer != null) { requestStageContainer.persist(); diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java index ff25e30..6c55c85 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ConfigGroupResourceProvider.java @@ -58,7 +58,6 @@ import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.ConfigFactory; -import org.apache.ambari.server.state.ConfigHelper; import org.apache.ambari.server.state.Host; import org.apache.ambari.server.state.configgroup.ConfigGroup; import org.apache.ambari.server.state.configgroup.ConfigGroupFactory; @@ -70,7 +69,6 @@ import org.slf4j.LoggerFactory; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import com.google.inject.Inject; -import com.google.inject.Provider; @StaticallyInject public class ConfigGroupResourceProvider extends @@ -143,9 +141,6 @@ public class ConfigGroupResourceProvider extends @Inject private static ConfigFactory configFactory; - @Inject - private static Provider m_configHelper; - /** * Create a new resource provider for the given management controller. * @@ -519,9 +514,6 @@ public class ConfigGroupResourceProvider extends cluster.getClusterName(), getManagementController().getAuthName(), configGroup.getName(), request.getId()); cluster.deleteConfigGroup(request.getId()); - - m_configHelper.get().updateAgentConfigs(Collections.singletonMap(request.getClusterName(), -Collections.singleton(configGroup.getServiceName(; } private void validateRequest(ConfigGroupRequest request) { @@ -555,7 +547,6 @@ public class ConfigGroupResourceProvider extends ConfigGroupFactory configGroupFactory =
[ambari] branch trunk updated: AMBARI-23627. Update Spring dependencies to fix CVE-2018-1270. (mpapirkovskyy) (#1135)
This is an automated email from the ASF dual-hosted git repository. mpapirkovskyy pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 145ff84 AMBARI-23627. Update Spring dependencies to fix CVE-2018-1270. (mpapirkovskyy) (#1135) 145ff84 is described below commit 145ff84abf6ea04ff6a6a9596573522f81a4afcd Author: Myroslav PapirkovskyiAuthorDate: Mon Apr 30 21:33:50 2018 +0300 AMBARI-23627. Update Spring dependencies to fix CVE-2018-1270. (mpapirkovskyy) (#1135) --- ambari-project/pom.xml | 7 ++- ambari-server/pom.xml | 5 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ambari-project/pom.xml b/ambari-project/pom.xml index 4a98bda..93ffd4b 100644 --- a/ambari-project/pom.xml +++ b/ambari-project/pom.xml @@ -37,7 +37,7 @@ 3.1.4 1.7.20 4.1.0 -4.3.7.RELEASE +4.3.16.RELEASE 2.9.5 4 false @@ -476,6 +476,11 @@ org.springframework +spring-expression +${spring.version} + + +org.springframework spring-messaging ${spring.version} diff --git a/ambari-server/pom.xml b/ambari-server/pom.xml index 71034d2..8083880 100644 --- a/ambari-server/pom.xml +++ b/ambari-server/pom.xml @@ -1462,6 +1462,11 @@ + org.springframework + spring-expression + + + com.sun.jersey.contribs jersey-spring 1.19 -- To stop receiving notification emails like this one, please contact mpapirkovs...@apache.org.
[ambari] branch trunk updated: [AMBARI-23711] Customize Services - The selected service/Modified con… (#1117)
This is an automated email from the ASF dual-hosted git repository. ishanbha pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 05bc12d [AMBARI-23711] Customize Services - The selected service/Modified con… (#1117) 05bc12d is described below commit 05bc12d4590970017575bb1b51f144219fd055bd Author: Ishan BhattAuthorDate: Mon Apr 30 12:55:07 2018 -0400 [AMBARI-23711] Customize Services - The selected service/Modified con… (#1117) * [AMBARI-23711] Customize Services - The selected service/Modified configurations are not remembered when navigating away/to the configuration tabs. * Removed logger --- ambari-web/app/controllers/wizard.js | 11 ++-- .../app/controllers/wizard/step7_controller.js | 16 ++- ambari-web/app/messages.js | 2 +- ambari-web/app/routes/add_host_routes.js | 9 +- ambari-web/app/routes/add_service_routes.js| 17 --- ambari-web/app/routes/installer.js | 6 ++-- .../app/views/wizard/step7/directories_tab_view.js | 8 +- ambari-web/app/views/wizard/step7_view.js | 1 + ambari-web/test/controllers/wizard/step7_test.js | 33 +- 9 files changed, 89 insertions(+), 14 deletions(-) diff --git a/ambari-web/app/controllers/wizard.js b/ambari-web/app/controllers/wizard.js index eb1de68..979806a 100644 --- a/ambari-web/app/controllers/wizard.js +++ b/ambari-web/app/controllers/wizard.js @@ -238,9 +238,11 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM if (this.get('isStepDisabled').findProperty('step', step).get('value') !== false) { return false; } +var currentStep = this.get('currentStep'); +var currentControllerName = this.get('content.controllerName'); // if going back from Step 9 in Install Wizard, delete the checkpoint so that the user is not redirected // to Step 9 -if (this.get('content.controllerName') === 'installerController' && this.get('currentStep') === '9' && step < 9) { +if (currentControllerName === 'installerController' && currentStep === '9' && step < 9) { App.clusterStatus.setClusterStatus({ clusterName: this.get('clusterName'), clusterState: 'CLUSTER_NOT_CREATED_1', @@ -248,7 +250,12 @@ App.WizardController = Em.Controller.extend(App.LocalStorage, App.ThemesMappingM localdb: {} }); } -if ((this.get('currentStep') - step) > 1 && !disableNaviWarning) { +var isCustomizeServicesStep = false; +if ((currentControllerName === 'installerController' && currentStep === '7') || ((currentControllerName === 'addServiceController'|| currentControllerName === 'addHostController' ) && currentStep === '4')) { + isCustomizeServicesStep = true; +} +var stepDiff = currentStep - step; +if (!disableNaviWarning && (stepDiff > 1 || (isCustomizeServicesStep && stepDiff > 0))) { App.ModalPopup.show({ header: Em.I18n.t('installer.navigation.warning.header'), onPrimary: function () { diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js index 855817d..30131a8 100644 --- a/ambari-web/app/controllers/wizard/step7_controller.js +++ b/ambari-web/app/controllers/wizard/step7_controller.js @@ -360,6 +360,10 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E this.get('filterColumns').setEach('selected', false); }, + clearLastSelectedService: function () { + this.get('tabs').filterProperty('selectedServiceName').setEach('selectedServiceName', null); + }, + /** * Generate "finger-print" for current stepConfigs[0] * Used to determine, if user has some unsaved changes (comparing with hash) @@ -1087,12 +1091,17 @@ App.WizardStep7Controller = Em.Controller.extend(App.ServerValidatorMixin, App.E }, /** + * Select previously selected service if not within the tab for the first time * Select first addable service for addServiceWizard * Select first service at all in other cases * @method selectProperService */ selectProperService: function () { -if (this.get('wizardController.name') === 'addServiceController') { +var tabSelectedServiceName = this.get('tabs').findProperty('isActive', true).get('selectedServiceName'); +var lastSelectedService = tabSelectedServiceName ? this.get('stepConfigs').findProperty('serviceName', tabSelectedServiceName) : null +if(tabSelectedServiceName && lastSelectedService) { + this.set('selectedService', lastSelectedService); +} else if (this.get('wizardController.name') === 'addServiceController') { this.set('selectedService', this.get('stepConfigs').filterProperty('selected',
[ambari] branch trunk updated: AMBARI-23730 When Spark2 is selected in left pane, Spark also gets selected along with it. (ababiichuk)
This is an automated email from the ASF dual-hosted git repository. ababiichuk pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new cab7384 AMBARI-23730 When Spark2 is selected in left pane, Spark also gets selected along with it. (ababiichuk) cab7384 is described below commit cab73841d296042d549509b419de83ed1d4358fe Author: ababiichukAuthorDate: Mon Apr 30 17:38:55 2018 +0300 AMBARI-23730 When Spark2 is selected in left pane, Spark also gets selected along with it. (ababiichuk) --- ambari-web/vendor/scripts/theme/bootstrap-ambari.js | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ambari-web/vendor/scripts/theme/bootstrap-ambari.js b/ambari-web/vendor/scripts/theme/bootstrap-ambari.js index 6102bc3..1059ab3 100644 --- a/ambari-web/vendor/scripts/theme/bootstrap-ambari.js +++ b/ambari-web/vendor/scripts/theme/bootstrap-ambari.js @@ -86,10 +86,14 @@ $(document).ready(function () { function popStateHandler() { var path = window.location.pathname + window.location.hash; +if (path[path.length - 1] !== '/') { + path += '/'; +} $navigationContainer.find('li a').each(function (index, link) { var $link = $(link); var href = $link.attr('data-href') || $link.attr('href'); - if (path.indexOf(href) !== -1 && ['', '#'].indexOf(href) === -1) { + var hrefWithSlash = href == null || href[href.length - 1] === '/' ? href : href + '/'; + if (path.indexOf(hrefWithSlash) !== -1 && ['', '#'].indexOf(href) === -1) { $link.parent().addClass('active'); } else { $link.parent().removeClass('active'); -- To stop receiving notification emails like this one, please contact ababiic...@apache.org.
[ambari] branch trunk updated: [AMBARI-23530] Document enabling SSO via CLI
This is an automated email from the ASF dual-hosted git repository. rlevas pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new b90128b [AMBARI-23530] Document enabling SSO via CLI b90128b is described below commit b90128bca4e8c47101c95541b500e3753f5b70a5 Author: Robert LevasAuthorDate: Mon Apr 30 07:08:57 2018 -0400 [AMBARI-23530] Document enabling SSO via CLI --- ambari-server/docs/security/sso/index.md | 541 +++ 1 file changed, 541 insertions(+) diff --git a/ambari-server/docs/security/sso/index.md b/ambari-server/docs/security/sso/index.md new file mode 100644 index 000..9e3a5bc --- /dev/null +++ b/ambari-server/docs/security/sso/index.md @@ -0,0 +1,541 @@ + + +Ambari Single Sign-on Configuration += + +- [Introduction](#introduction) +- [How it Works](#how-it-works) +- [Setting SSO Configuration Using the CLI](#setup-using-cli) + - [Silent Mode](#setup-using-cli-silent) + - [Interactive Mode](#setup-using-cli-interactive) +- [Managing SSO Configuration Using the REST API](#setup-using-api) + - [Getting the SSO Configuration](#setup-using-api-get) + - [Setting the SSO Configuration](#setup-using-api-post) + - [Updating the SSO Configuration](#setup-using-api-put) + - [Deleting the SSO Configuration](#setup-using-api-delete) +- [Implementation Details](#implementation-details) + - [Configuration Data](#implementation-details-data) + - [Stack Advisor](#implementation-details-stack-advisor) +- [AmbariConfiguration class](#implementation-details-stack-advisor-ambariconfiguration) +- [AmbariSSODetails class](#implementation-details-stack-advisor-ambarissodetails) +- [Example](#implementation-details-stack-advisor-example) + + +## Introduction + +Ambari has a feature to integrate with [Apache Knox](https://knox.apache.org/) to +provide single sign-on (SSO) services. To set this up, the Ambari Server CLI may be used by executing +the following on the command line: + +``` +ambari-server setup-sso +``` + +After answering a few prompts, the CLI utility would update the `/etc/ambari-server/conf/ambari.properties` +file with the appropriate properties so that when Ambari was restarted, it would rely on Knox for +authentication. One caveat is that both Ambari and Knox would need to know about the same set of users. +This is typically done by having both Ambari and Knox sync with the same LDAP server. + +See [Setting up Knox SSO for Ambari](https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.1/bk_security/content/setting_up_knox_sso_for_ambari.html) +for more details on how it *used* to work. + +One issue with this feature is that it only sets up Ambari to use Knox. However, other services have +the ability to integrate with Knox and each requires the user to configure separately. This is +inconvenient and error prone for the user. + +As of Ambari 2.7.0, Ambari has the ability to collect SSO configuration details and configure itself, +as well as, any eligible services for SSO. This is done using the Ambari Server CLI, as before; however, +once complete, the collected information is stored in the Ambari database and then used to configure +selected service. Any altered configurations would cause the relevant services to request to be +restarted. Ambari, on the other hand, will load the SSO configuration automatically and change its +behavior without needing to be restarted. + + +## How it works + +Ambari, by default, is eligible to be configured for SSO. Any other service that is to be eligible +for SSO configuration by Ambari needs to declare this by adding an "sso" declaration in its service +definition's `metainfo.xml` file. The declaration is as follows: + +``` + + ... + + +... + +true +config-type/property_name + +... + + + +``` + +Inside the `` block, the `` element with the value of "true" tells Ambari that this +service is eligible to be configured for SSO. The `enabledConfiguration` is a property specification +that indicates a boolean property to check to tell whether the service has been configured for SSO +or not. + +For example, in the `metainfo.xml` file for Atlas: + +``` + + true + application-properties/atlas.sso.knox.enabled + +``` + +Support is enabled and the property value for `atlas.sso.knox.enabled` in the `application-properties` +configuration type is used to tell if SSO has been enabled for Atlas or not. + +Once support is declared by a service **and** it is installed, it will be listed as an eligible service +while selecting services for which to enable SSO via the Ambari Server CLI. + +Example: +``` +# ambari-server setup-sso +... +Manage SSO configurations for eligible services [y/n] (n)? y + Use SSO for all services [y/n] (n)? n + Use SSO for ATLAS
[ambari] branch trunk updated: AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 9ccad63 AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko) 9ccad63 is described below commit 9ccad6359549f03f9e2f4e0b1ca244aaac88e3f6 Author: Aleksandr KovalenkoAuthorDate: Mon Apr 30 17:43:28 2018 +0300 AMBARI-23729. Start Namenodes takes a very long time when adding a namespace (akovalenko) --- .../main/admin/federation/step1_controller.js | 2 +- .../main/admin/federation/step4_controller.js | 25 +- ambari-web/app/messages.js | 20 + 3 files changed, 36 insertions(+), 11 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js index e7730a4..63b9ca8 100644 --- a/ambari-web/app/controllers/main/admin/federation/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -37,7 +37,7 @@ App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ }.property('content.nameServiceId', 'existingNameServices.length'), next: function () { -if (this.get('isNameServiceIdValid')) { +if (!this.get('isNameServiceIdError')) { App.router.send('next'); } } diff --git a/ambari-web/app/controllers/main/admin/federation/step4_controller.js b/ambari-web/app/controllers/main/admin/federation/step4_controller.js index b1606f3..7bc3a0a 100644 --- a/ambari-web/app/controllers/main/admin/federation/step4_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step4_controller.js @@ -22,10 +22,25 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo name: "nameNodeFederationWizardStep4Controller", - commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], + commands: ['stopRequiredServices', 'reconfigureServices', 'installNameNode', 'installZKFC', 'startJournalNodes', 'startInfraSolr', 'startRanger', 'startNameNodes', 'formatNameNode', 'formatZKFC', 'startZKFC', 'startNameNode', 'bootstrapNameNode', 'startZKFC2', 'startNameNode2', 'restartAllServices'], tasksMessagesPrefix: 'admin.nameNodeFederation.wizard.step', + initializeTasks: function () { +this._super(); +this.removeUnneededTasks(); + }, + + removeUnneededTasks: function () { +var installedServices = App.Service.find().mapProperty('serviceName'); +if (!installedServices.contains('RANGER')) { + this.removeTasks(['startInfraSolr', 'startRanger']); +} +if (!installedServices.contains('AMBARI_INFRA_SOLR')) { + this.removeTasks(['startInfraSolr']); +} + }, + newNameNodeHosts: function () { return this.get('content.masterComponentHosts').filterProperty('component', 'NAMENODE').filterProperty('isInstalled', false).mapProperty('hostName'); }.property('content.masterComponentHosts.@each.hostName'), @@ -114,6 +129,14 @@ App.NameNodeFederationWizardStep4Controller = App.HighAvailabilityProgressPageCo this.updateComponent('ZKFC', this.get('newNameNodeHosts')[0], "HDFS", "Start"); }, + startInfraSolr: function () { +this.startServices(false, ['AMBARI_INFRA_SOLR'], true); + }, + + startRanger: function () { +this.startServices(false, ['RANGER'], true); + }, + startNameNode: function () { this.updateComponent('NAMENODE', this.get('newNameNodeHosts')[0], "HDFS", "Start"); }, diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index 899504c..3849fac 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1692,15 +1692,17 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step4.task2.title': 'Install Additional NameNodes', 'admin.nameNodeFederation.wizard.step4.task3.title': 'Install Additional ZKFCs', 'admin.nameNodeFederation.wizard.step4.task4.title': 'Start JournalNodes', - 'admin.nameNodeFederation.wizard.step4.task5.title': 'Start NameNodes', - 'admin.nameNodeFederation.wizard.step4.task6.title': 'Format NameNode', - 'admin.nameNodeFederation.wizard.step4.task7.title': 'Format ZKFC', - 'admin.nameNodeFederation.wizard.step4.task8.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task9.title': 'Start NameNode', - 'admin.nameNodeFederation.wizard.step4.task10.title': 'Bootstrap NameNode', - 'admin.nameNodeFederation.wizard.step4.task11.title': 'Start ZKFC', - 'admin.nameNodeFederation.wizard.step4.task12.title': 'Start NameNode', -
[ambari] branch trunk updated: AMBARI-23715 Config Version Comparison tool shows diff text merging into each other if config values are long.
This is an automated email from the ASF dual-hosted git repository. atkach pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 12501aa AMBARI-23715 Config Version Comparison tool shows diff text merging into each other if config values are long. 12501aa is described below commit 12501aab230ecb3d72a5ab1c26f2ebdf3aafd988 Author: Andrii TkachAuthorDate: Fri Apr 27 13:56:39 2018 +0300 AMBARI-23715 Config Version Comparison tool shows diff text merging into each other if config values are long. --- ambari-web/app/styles/service_configurations.less | 5 + .../templates/common/configs/service_config.hbs| 25 -- .../views/common/configs/service_config_view.js| 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/ambari-web/app/styles/service_configurations.less b/ambari-web/app/styles/service_configurations.less index 0497172..8d7989c 100644 --- a/ambari-web/app/styles/service_configurations.less +++ b/ambari-web/app/styles/service_configurations.less @@ -32,10 +32,15 @@ } .property-value-column { +word-break: break-all; overflow: auto; max-height: 300px; } + .accordion-without-tabs { +margin-top: 50px; + } + .comparison-row { margin-left: -25px; padding: 10px 0; diff --git a/ambari-web/app/templates/common/configs/service_config.hbs b/ambari-web/app/templates/common/configs/service_config.hbs index e6a15ea..29f07dd 100644 --- a/ambari-web/app/templates/common/configs/service_config.hbs +++ b/ambari-web/app/templates/common/configs/service_config.hbs @@ -138,7 +138,7 @@ {{#each tab in view.tabs}} - + {{#if tab.isAdvanced}} {{#if tab.isRendered}} {{#if isCompareMode}} @@ -177,7 +177,28 @@ {{/each}} {{else}} -{{view App.ConfigCategoryContainerView categoriesBinding="selectedService.configCategories" canEditBinding="view.canEdit" serviceBinding="selectedService" serviceConfigsBinding="selectedService.configs" supportsHostOverridesBinding="view.supportsHostOverrides"}} + + {{#if isCompareMode}} + + {{t common.propertyName}} + +{{t common.version}}{{selectedVersionRecord.version}} +{{#if selectedVersionRecord.isCurrent}} + {{t common.current}} +{{/if}} + + +{{t common.version}}{{compareServiceVersion.version}} +{{#if compareServiceVersion.isCurrent}} + {{t common.current}} +{{/if}} + + + {{/if}} + {{view App.ConfigCategoryContainerView categoriesBinding="selectedService.configCategories" + canEditBinding="view.canEdit" serviceBinding="selectedService" + serviceConfigsBinding="selectedService.configs" supportsHostOverridesBinding="view.supportsHostOverrides"}} + {{/if}} {{#if view.isAllConfigsHidden}} diff --git a/ambari-web/app/views/common/configs/service_config_view.js b/ambari-web/app/views/common/configs/service_config_view.js index 58ccf12..590c0bc 100644 --- a/ambari-web/app/views/common/configs/service_config_view.js +++ b/ambari-web/app/views/common/configs/service_config_view.js @@ -75,7 +75,7 @@ App.ServiceConfigView = Em.View.extend({ */ isOnTheServicePage: Em.computed.equal('controller.name', 'mainServiceInfoConfigsController'), - classNameBindings: ['isOnTheServicePage:serviceConfigs'], + classNameBindings: ['isOnTheServicePage:serviceConfigs', 'controller.isCompareMode:settings-compare-layout'], /** * flag defines if any config match filter -- To stop receiving notification emails like this one, please contact atk...@apache.org.
[ambari] branch trunk updated: AMBARI-23720 Ambari UI trying to create GPL repo with empty base url for the rest repos
This is an automated email from the ASF dual-hosted git repository. atkach pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 67ff53b AMBARI-23720 Ambari UI trying to create GPL repo with empty base url for the rest repos 67ff53b is described below commit 67ff53b6daeeac41476567d1084ac90223999fc7 Author: Andrii TkachAuthorDate: Fri Apr 27 18:53:29 2018 +0300 AMBARI-23720 Ambari UI trying to create GPL repo with empty base url for the rest repos --- ambari-web/app/controllers/installer.js| 26 +- .../app/controllers/wizard/step1_controller.js | 7 +- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ambari-web/app/controllers/installer.js b/ambari-web/app/controllers/installer.js index 14010b6..9da077b 100644 --- a/ambari-web/app/controllers/installer.js +++ b/ambari-web/app/controllers/installer.js @@ -322,7 +322,9 @@ App.InstallerController = App.WizardController.extend(App.Persist, { var _oses = oses || []; var _stacks = stacks || []; _repos.forEach(function (repo) { - App.Repository.find().findProperty('id', repo.id).set('baseUrl', repo.base_url); + if (App.Repository.find(repo.id).get('isLoaded')) { +App.Repository.find(repo.id).set('baseUrl', repo.base_url); + } }); _oses.forEach(function (os) { if (App.OperatingSystem.find().findProperty('id', os.id)) { @@ -823,16 +825,18 @@ App.InstallerController = App.WizardController.extend(App.Persist, { "repositories": [] }); os.get('repositories').forEach(function (repository) { - repoVersion.operating_systems[k].repositories.push({ -"Repositories": { - "base_url": repository.get('baseUrl'), - "repo_id": repository.get('repoId'), - "repo_name": repository.get('repoName'), - "components": repository.get('components'), - "tags": repository.get('tags'), - "distribution": repository.get('distribution') -} - }); + if (!(repository.get('isGPL') && _.isEmpty(repository.get('baseUrl' { +repoVersion.operating_systems[k].repositories.push({ + "Repositories": { +"base_url": repository.get('baseUrl'), +"repo_id": repository.get('repoId'), +"repo_name": repository.get('repoName'), +"components": repository.get('components'), +"tags": repository.get('tags'), +"distribution": repository.get('distribution') + } +}); + } }); k++; } diff --git a/ambari-web/app/controllers/wizard/step1_controller.js b/ambari-web/app/controllers/wizard/step1_controller.js index c137d96..d731a43 100644 --- a/ambari-web/app/controllers/wizard/step1_controller.js +++ b/ambari-web/app/controllers/wizard/step1_controller.js @@ -61,7 +61,12 @@ App.WizardStep1Controller = Em.Controller.extend({ * * @type {boolean} */ - networkIssuesExist: Em.computed.everyBy('content.stacks', 'stackDefault', true), + networkIssuesExist: function() { +if (this.get('content.stacks') && this.get('content.stacks.length') > 1) { + return this.get('content.stacks').everyProperty('stackDefault', true); +} +return false; + }.property('content.stacks.@each.stackDefault'), /** * No stacks have repo update URL section (aka "latest") defined in repoinfo.xml -- To stop receiving notification emails like this one, please contact atk...@apache.org.
[ambari] branch trunk updated: AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko)
This is an automated email from the ASF dual-hosted git repository. akovalenko pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ambari.git The following commit(s) were added to refs/heads/trunk by this push: new 0fb38a0 AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko) 0fb38a0 is described below commit 0fb38a0312d485ccad2ec065c72e69a08c4083ff Author: Aleksandr KovalenkoAuthorDate: Fri Apr 27 21:38:04 2018 +0300 AMBARI-23722. Ambari allows namespace name to be reused for new namespaces (akovalenko) --- .../controllers/main/admin/federation/step1_controller.js | 15 ++- ambari-web/app/messages.js| 2 +- ambari-web/app/templates/main/admin/federation/step1.hbs | 8 ambari-web/app/views/main/admin/federation/step1_view.js | 4 +--- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/ambari-web/app/controllers/main/admin/federation/step1_controller.js b/ambari-web/app/controllers/main/admin/federation/step1_controller.js index 67c45f4..e7730a4 100644 --- a/ambari-web/app/controllers/main/admin/federation/step1_controller.js +++ b/ambari-web/app/controllers/main/admin/federation/step1_controller.js @@ -24,12 +24,17 @@ App.NameNodeFederationWizardStep1Controller = Em.Controller.extend({ existingNameServices: function () { var isMetricsLoaded = App.router.get('clusterController.isHostComponentMetricsLoaded'); -return isMetricsLoaded ? App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name').join(', ') : ''; - }.property('App.router.clusterController.isHostComponentMetricsLoaded'), +return isMetricsLoaded ? App.HDFSService.find().objectAt(0).get('masterComponentGroups').mapProperty('name') : []; + }.property('App.router.clusterController.isHDFSNameSpacesLoaded'), - isNameServiceIdValid: function () { -return validator.isValidNameServiceId(this.get('content.nameServiceId')); - }.property('content.nameServiceId'), + existingNameServicesString: function () { +return this.get('existingNameServices').join(', '); + }.property('existingNameServices.length'), + + isNameServiceIdError: function () { +var nameServiceId = this.get('content.nameServiceId'); +return !nameServiceId || this.get('existingNameServices').contains(nameServiceId) || !validator.isValidNameServiceId(nameServiceId); + }.property('content.nameServiceId', 'existingNameServices.length'), next: function () { if (this.get('isNameServiceIdValid')) { diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index edd0d15..899504c 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1675,7 +1675,7 @@ Em.I18n.translations = { 'admin.nameNodeFederation.wizard.step1.alert':'You should plan a cluster maintenance window and prepare for cluster downtime when adding a new HDFS Namespace as this Wizard will restart all services.', 'admin.nameNodeFederation.wizard.step1.nameserviceid':'New Nameservice ID', 'admin.nameNodeFederation.wizard.step1.nameserviceid.existing':'Existing Nameservice ID', - 'admin.nameNodeFederation.wizard.step1.nameserviceid.error':'Must consist of letters, numbers, and hyphens. Cannot begin or end with a hyphen.', + 'admin.nameNodeFederation.wizard.step1.nameserviceid.error':'Must be unique and consist of letters, numbers, and hyphens. Cannot begin or end with a hyphen.', 'admin.nameNodeFederation.wizard.step2.header': 'Select Hosts', 'admin.nameNodeFederation.wizard.step2.body': 'Select hosts running the NameNodes for {0}', 'admin.nameNodeFederation.wizard.step3.header': 'Review', diff --git a/ambari-web/app/templates/main/admin/federation/step1.hbs b/ambari-web/app/templates/main/admin/federation/step1.hbs index e6b9d08..7477169 100644 --- a/ambari-web/app/templates/main/admin/federation/step1.hbs +++ b/ambari-web/app/templates/main/admin/federation/step1.hbs @@ -25,13 +25,13 @@ - + {{t admin.nameNodeFederation.wizard.step1.nameserviceid.existing}}: -{{controller.existingNameServices}} +{{controller.existingNameServicesString}} @@ -42,7 +42,7 @@ {{view Ember.TextField valueBinding="content.nameServiceId" classNames="form-control"}} - + {{t admin.nameNodeFederation.wizard.step1.nameserviceid.error}} @@ -53,7 +53,7 @@ -{{t common.next}} +{{t common.next}} diff --git a/ambari-web/app/views/main/admin/federation/step1_view.js b/ambari-web/app/views/main/admin/federation/step1_view.js index a988f78..148a0ee 100644 --- a/ambari-web/app/views/main/admin/federation/step1_view.js +++ b/ambari-web/app/views/main/admin/federation/step1_view.js @@ -25,8