-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/42582/
-----------------------------------------------------------
Review request for Ambari, Alejandro Fernandez, Jaimin Jetly, jun aoki, Jayush
Luniya, Oleksandr Diachenko, Richard Zang, Sumit Mohanty, and Yusaku Sako.
Bugs: AMBARI-14749
https://issues.apache.org/jira/browse/AMBARI-14749
Repository: ambari
Description
-------
This patch introduces another high availability wizard which adds HAWQ Standby
component to the HAWQ cluster.
Why it is required?
Apache HAWQ database has the below components.
- Master
- Standby
- Segments
At any point of time, database connections are only accepted by the master and
it is the single point of entry for read and write operations. In the
background, there is a sync-up process which ensures that standby component is
in sync with master, so that in case master goes down, HAWQ standby can be
promoted to perform the role of master and there is minimum downtime.
However, in order to enable High Availability operation for HAWQ, HAWQ standby
must be configured to the cluster and required configuration changes must be
done to ensure that HAWQ Standby is operational and in sync.
After HAWQ Standby is added and if it has been promoted / activated to take the
role of the HAWQ Master, the HAWQ cluster now operates in non-HA mode. The old
HAWQ master is out of the cluster and cannot be transitioned to the role of
Standby. In order to get back to HA state, a standby has to be added to the
cluster.
In this patch, the functionality to add HAWQ Standby Master has been introduced
which performs the following functions:
- Disable / Enable "Add HAWQ Standby" option depending on the state of the
cluster. If HAWQ Standby is configured, this option is not visible. If HAWQ
Standby is not configured and the cluster is not single node, the option is
visible.
- When the action is triggered, "Add HAWQ Standby" wizard comes into role - -
The wizard contains of 4 pages which does a dedicated job
Page 1: It gives information to the user for the activities which will be
carried out by the wizard
Page 2: It lets' the user chose the host on which standby should be installed
Page 3: Informs the user about the configuration changes which will take place
based on the inputs on Page 2
Page 4: Below list of operations are carried.
1. Stop HAWQ Service
2. Install HAWQ Standby Component
3. Reconfigure HAWQ Service to add required properties
4. Start HAWQ service. During this step, hawq standby is initialized
and started.
- After the wizard completes, HAWQ standby is added to the cluster and now HAWQ
is operational in HA mode.
Diffs
-----
ambari-web/app/assets/test/tests.js 2b801f0
ambari-web/app/controllers.js 5f3f841
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step1_controller.js
PRE-CREATION
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step2_controller.js
PRE-CREATION
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step3_controller.js
PRE-CREATION
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/step4_controller.js
PRE-CREATION
ambari-web/app/controllers/main/admin/highAvailability/hawq/addStandby/wizard_controller.js
PRE-CREATION
ambari-web/app/controllers/main/admin/highAvailability_controller.js 9fe9bbb
ambari-web/app/controllers/main/service/item.js 59559eb
ambari-web/app/data/HDP2.3/hawq_ha_properties.js PRE-CREATION
ambari-web/app/data/HDP2/hawq_ha_properties.js PRE-CREATION
ambari-web/app/data/controller_route.js dea5ace
ambari-web/app/messages.js fac2893
ambari-web/app/mixins/wizard/assign_master_components.js 5545e92
ambari-web/app/mixins/wizard/wizardProgressPageController.js d9c5747
ambari-web/app/models/host_component.js 0c013b1
ambari-web/app/models/service.js 27647a0
ambari-web/app/routes/add_hawq_standby_routes.js PRE-CREATION
ambari-web/app/routes/main.js 70714b9
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/step1.hbs
PRE-CREATION
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/step3.hbs
PRE-CREATION
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/step4.hbs
PRE-CREATION
ambari-web/app/templates/main/admin/highAvailability/hawq/addStandby/wizard.hbs
PRE-CREATION
ambari-web/app/utils/configs/hawq_ha_config_initializer.js PRE-CREATION
ambari-web/app/utils/db.js 858675f
ambari-web/app/views.js 293d223
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step1_view.js
PRE-CREATION
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step2_view.js
PRE-CREATION
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step3_view.js
PRE-CREATION
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/step4_view.js
PRE-CREATION
ambari-web/app/views/main/admin/highAvailability/hawq/addStandby/wizard_view.js
PRE-CREATION
ambari-web/app/views/main/service/item.js 659a0a5
ambari-web/test/controllers/main/admin/highAvailability/hawq/addStandby/step3_controller_test.js
PRE-CREATION
Diff: https://reviews.apache.org/r/42582/diff/
Testing
-------
Thanks,
bhuvnesh chaudhary