----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/55376/ -----------------------------------------------------------
Review request for Ambari and Oleg Nechiporenko. Bugs: AMBARI-19441 https://issues.apache.org/jira/browse/AMBARI-19441 Repository: ambari Description ------- That issue demonstrates that is is possible, during a UI cluster deployment, to select "LogSearch" as a service, but not select "Ambari-Infra". The UI then continues through the wizard, without requiring any additional LogSearch configuration. LogSearch has been updated to allow for external SolrCloud deployments as well as internally-managed SolrCloud deployments, so the original dependency in the stack had to be removed to support this deployment mode. That being said, the default behavior in the UI deployment should still encourage most users to accept the default behavior, meaning that the Ambari-Infra service should be included. Currently, if Ambari-Infra is not selected, the deployment will fail, since the wizard does not require either selecting Ambari-Infra or configuring the location of the external SolrCloud instance. I ran a test by selecting Atlas without selecting Ambari-Infra (which is a similar deployment case, since Atlas can use an internal or external SolrCloud deployment), and found that in the Atlas case the UI pops up a "Limited Functionality Warning" if Ambari-Infra is not selected. We should implement this for LogSearch as well, so that if the user selects LogSearch, but does not select Ambari-Infra, then a LogSearch-specific limited functionality warning pops up, to let the user know that this is not default scenario, and will require further configuration. This work would involve two tasks: 1. If the user selects LogSearch, then Ambari-Infra should be auto-selected by default. 2. Adding the "Limited Warning Functionality" popup to the wizard, if LogSearch is selected without Ambari-Infra. 3. If the user receives this popup and chooses to proceed anyway, the configuration wizard should enforce the configuration of the external SolrCloud instance. I took a quick look at the ambari-web code, and it looks like something similar to #2 is implemented in the step4_controller.js: var atlasService = this.findProperty('serviceName', 'ATLAS'); var ambariInfraService = this.findProperty('serviceName', 'AMBARI_INFRA'); if (atlasService && atlasService.get('isSelected') && ambariInfraService && !ambariInfraService.get('isSelected')) { this.serviceValidation(callback, 'AMBARI_INFRA', 'ambariInfraCheck'); } It's likely that we can reuse this approach for LogSearch as well. Diffs ----- ambari-web/app/controllers/wizard.js b4fc8c5 ambari-web/app/controllers/wizard/step4_controller.js 317c548 ambari-web/app/controllers/wizard/step7_controller.js 0d30d12 ambari-web/app/mappers/stack_service_mapper.js c0454b0 ambari-web/app/messages.js 0c3e10a ambari-web/app/utils/configs/theme/theme.js c3b312a ambari-web/test/controllers/wizard/step4_test.js b9b21cf ambari-web/test/utils/configs/theme/theme_test.js c9abf78 Diff: https://reviews.apache.org/r/55376/diff/ Testing ------- 20212 passing (36s) 153 pending Thanks, Andrii Tkach