Ambari Change Log

Notes:
 - Committers should be listed using their login and non-committers
should be listed by their full name.
 - Please keep the file to a max of 80 characters wide.
 - Put latest commits first in each section.

Trunk (unreleased changes):

 INCOMPATIBLE CHANGES 

 NEW FEATURES

 AMBARI-1704. Add ability for host components to provide their current actual configs. (ncole)

 AMBARI-1422. Allow client to specify a "context" value for asynchronous requests (jspeidel)

 AMBARI-1599. Add ability to report actual configuration applied to a host. (ncole)

 AMBARI-1406. Provide API support for including query string in http message body. (jspeidel)

 AMBARI-1592. Change how configurations are propagated (ncole)

 AMBARI-1593. Change host override JSON to include version tag (ncole)

 AMBARI-1568. Update the version of ambari artifacts to 1.3.0 snapshot (ncole)

 AMBARI-1553. List cluster-level configurations with host-level, if any (ncole)

 AMBARI-1528. Upgrade request support at Ambari. (Sumit Mohanty via swagle)

 AMBARI-1541. Upgrade task support in agent. (Sumit Mohanty via swagle)

 AMBARI-1540. Reassign Master Wizard - Steps 3 and 4 (reconfigure
 component and review). (yusaku)

 AMBARI-1538. Stack Upgrade Wizard - Step 3 (Progress and Retry). (yusaku) 

 AMBARI-1509. Frontend: For service configurations provide ability to 
 enter host level exceptions (srimanth)

 AMBARI-1508. Introduce a new section "Capacity scheduler" under MapReduce
 Service in step7 (Configure services) of Installer and Service 
 Reconfig. (jaimin)

 AMBARI-1490. Implement initial layout for "Add security" wizard. (jaimin)

 AMBARI-1483. Reassign Master Wizard - Step 2. (yusaku)

 AMBARI-1482. Reassign Master Wizard - Step 1. (yusaku)

 AMBARI-1481. Stack Upgrade Wizard - Step 2 (confirm and check all master
 components are running). (yusaku)

 AMBARI-1469. Allow user to add multiple HBase masters in Install Wizard.
 (yusaku)

 AMBARI-1468. Stack Upgrade Wizard - Step 1 (show services and versions).
 (yusaku)

 AMBARI-1459. Add Admin > Cluster page. (yusaku)

 AMBARI-1454. Service page: add "Reassign <Master Component>" action items
 to "Maintenance" pulldown. (yusaku)

 AMBARI-1349. Expose host-specific Nagios alerts in Ambari Web. (yusaku)

 AMBARI-1294. Add isEmpty() query operator support. (jspeidel)

 AMBARI-1280. Support explicit predicate grouping in API queries. (jspeidel)

 AMBARI-1180. Display host check status results given by the agent as part
 of host registration. (yusaku)

 AMBARI-1252. Fetch Nagios alerts through Ambari Server and not directly
 from Nagios Server. (srimanth via yusaku)

 AMBARI-1237. Expose Nagios alerts via Rest API. (Nate Cole via jspeidel)

 AMBARI-1163. During agent registration and heartbeat, send information about
 various hadoop artifacts back to Ambari. (Nate Cole via mahadev)

 AMBARI-1194. API support for cascade delete of a specified cluster
 (Tom Beerbower via mahadev)

 AMBARI-1255. Make the agent hostname determination scriptable. 
 (mahadev)

 AMBARI-1267. Store example Hive Queries somewhere in Ambari that's easily
 accessible for demo/test purposes. (mahadev)

 AMBARI-1447. Report current Stack version for all host components.
 (Sumit Mohanty via mahadev)

 IMPROVEMENTS

 AMBARI-2110. Update hive-site.xml, set fs.file.impl.disable.cache=true.
 (mahadev)

 AMBARI-2070. Changing service directories should popup a confirmation/warning
 dialog upon save. (yusaku)

 AMBARI-2061. HBase Heatmaps: clean up labels and units. (yusaku)

 AMBARI-2042. Update Ambari logo. (yusaku)

 AMBARI-2040. Customize Services page: reduce padding to prevent tabs from
 wrapping. (yusaku)

 AMBARI-1388. Document management API. (tbeerbower)

 AMBARI-2030. Make frontend changes to account for the host component status
 UNKNOWN. (yusaku)

 AMBARI-2028. Customize Services: make the services display consistent.
 (yusaku)

 AMBARI-2027. Add validation checks for Add Property on custom site configs.
 (yusaku)

 AMBARI-2017. Admin Misc page tweaks. (yusaku)

 AMBARI-2022. Service Component metric collection API takes over a minute
 on large cluster. (tbeerbower)

 AMBARI-2005. When adding a component to a host (after cluster deployment),
 UI should warn that nagios server need to be restarted. (yusaku)

 AMBARI-2004. Background Operation Popup needs label/styling fixes.
 (yusaku)

 AMBARI-2003. Hosts tab: clicking on red badge should not toggle "Alerts"
 filter. (yusaku)

 AMBARI-2002. Dashboard: remove "Version" row from HDFS, MapReduce, and
 HBase dashboard summary. (yusaku)

 AMBARI-1982. Disallow editing Hadoop log/PID directories post install.
 (yusaku)

 AMBARI-1981. Expose ability to customize the username for running
 Ganglia daemons. (yusaku)

 AMBARI-1987. Add unit tests for admin/cluster page and cluster loading.
 (yusaku)

 AMBARI-1929. Make the default stack and version configurable via mvn build.
 (yusaku)

 AMBARI-1967. Add smoke test user customization toggle via App.supports.
 (yusaku)

 AMBARI-1964. Add ability to toggle on/off assigning masters for new hosts
 being added via Add Host wizard. (yusaku)

 AMBARI-1958. Update alert icon legend on Hosts page. (yusaku)

 AMBARI-1955. Add ability to turn on/off HUE support. (yusaku)

 AMBARI-1941. Create a flag to toggle the support for multiple
 HBase Masters. (jaimin)

 AMBARI-1940. Create a flag to toggle the support for additional database 
 support in Hive and Oozie. (jaimin)

 AMBARI-1928. Make experimental Ambari Web features toggleable
 via mvn build. (yusaku via jaimin)
 
 AMBARI-1906. Make experimental Ambari Web features toggleable 
 (turned on/off via config file). (yusaku via jaimin)

 AMBARI-1905. Test mode is broken. (yusaku via jaimin)

 AMBARI-1904. Update default stack version to 1.3.0. (yusaku via jaimin)

 AMBARI-1921. Change tasks order in popup on deploy page. (jaimin)

 AMBARI-1913. Security Wizard - "Kerberos security is disabled on the cluster"
 should not be shown in red. (jaimin)

 AMBARI-1403. Remove SPI dependencies on other code. (tbeerbower)

 AMBARI-1892. Restrict user on a Disable security popup while the poccessi
 is in progress. (jaimin)

 AMBARI-1879. Show error message when hostname is undefined for quick_links.
 (yusaku)

 AMBARI-1877. Reassign Master Wizard, Step 2: prevent proceed next without
 changing target host. (yusaku)

 AMBARI-1876. Capacity Scheduler: implement user/group and admin user/group
 validation rules. (yusaku)

 AMBARI-1864. Remove package dependency on mocha-phantomjs. (yusaku)

 AMBARI-1844. Need ability to update multiple hosts in 1 PUT call.
 (tbeerbower)

 AMBARI-1845. Server log is being flooded with log messages.
 (tbeerbower)

 AMBARI-1825. Minor label change for the buttons to start/stop all services
 in the side nav. (yusaku)

 AMBARI-1824. Background operations popup: progress bar styling. (yusaku)

 AMBARI-1823. Add hover tooltip for the green host health status icon in
 Hosts page and Host Detail page. (yusaku)

 AMBARI-1815. After modifying custom configs, properties are shown as blank,
 leading to corrupt core-site.xml upon save. (yusaku)

 AMBARI-1814. Refactor configurations functionality. (yusaku)

 AMBARI-1809. Specify request context for Smoke test. (yusaku)

 AMBARI-1808. Add ability to customize the smoke test user (frontend changes).
 (yusaku)

 AMBARI-1807. Disallow $ from usernames created via Misc in Install Wizard.
 (yusaku)

 AMBARI-1805. Minor text change in the Assign Masters page. (yusaku)

 AMBARI-1798. Explicitly state that FQDNs need to be used when specifying
 hosts to add to the cluster. (yusaku)

 AMBARI-1785. Provide restart service indicator to all services. (srimanth
 via yusaku)

 AMBARI-1773. Integrate MySQL/Oracle options for Hive and Oozie. (Xi Wang via
 yusaku)

 AMBARI-1758. Reassign Master Wizard: Integration and hardening. 
 (srimanth via yusaku)

 AMBARI-1743. Stack Upgade Wizard - integrate with Ambari 1.3.0 repo.
 (srimanth via yusaku)

 AMBARI-1741. Exceptions thrown when using host overrides during install.
 (srimanth via yusaku)

 AMBARI-1740. Provide restart message in service config page. (srimanth via
 yusaku)

 AMBARI-1722. Frontend support for LDAP Group to Ambari Role Mapping.
 (srimanth via yusaku)

 AMBARI-1718. If there is no HBase master in active status, show proper
 error message. (jaimin via yusaku)

 AMBARI-1701. Stack Upgrade Wizard: Integrate with API. (yusaku)
 
 AMBARI-1700. HDFS Mirroring: Display Jobs table (refactor). (yusaku)

 AMBARI-1697. UI changes on HBase service page for HBase Multi-master/HA.
 (yusaku)

 AMBARI-1782. Security wizard navigation: Restrict user on step3 until
 the decision of the step is reached. (jaimin)

 AMBARI-1652. Background operation display enhancements. (yusaku)

 AMBARI-1686. Implement Test IvoryService to functional test mirroring API.
 (tbeerbower)

 AMBARI-1672. Security Wizard - integrate with cluster-level config API. (jaimin)

 AMBARI-1669. Security Wizard UI tweaks. (jaimin)

 AMBARI-1630. Expose HUE config parameters through Ambari Web. (yusaku)

 AMBARI-1595. Add Oracle option for Hive Metastore during Ambari
 cluster install. (Xi Wang via yusaku)

 AMBARI-1632. Provide property filtering capability on service config
 sections. (yusaku)

 AMBARI-1631. Security Wizard - integrate host progress popup. (yusaku)

 AMBARI-1604. Refactor wizard classes. (yusaku)

 AMBARI-1583. Add unit tests for various Ambari Web components. (yusaku)

 AMBARI-1491. Add task plots to job swimlane diagram. (billie via yusaku)

 AMBARI-1584. Stack Upgrade Wizard - integrate host progress popup.
 (yusaku)

 AMBARI-1581. Host progress popup - generic component for showing progress
 on async operations. (yusaku)

 AMBARI-1542. Provide remove, restore default, and cancel actions for
 service config properties. (srimanth via yusaku)

 AMBARI-1580. Stack Upgrade Wizard - resume upon page refresh / login.
 (yusaku)

 AMBARI-1578. Add host wizard - support assignment of "ZooKeeper Server"
 and "HBase Master". (yusaku)

 AMBARI-1546. Improve Cluster Management loading screen. (Xi Wang via yusaku)

 AMBARI-1890. Add configuration to test_api.sh script (ncole)

 AMBARI-2026. Add WebHCat to live status checks. (ncole)

 AMBARI-1975. Add Clover coverage (ncole)

 AMBARI-1537. Constrain the width of all wizard popups. (Xi Wang via yusaku)

 AMBARI-1536. Hosts page layout fixes. (Xi Wang via yusaku)

 AMBARI-1502. Add the ability to assign configuration to a cluster. (Nate Cole via tbeerbower)

 AMBARI-1505. Hosts page: add filtering by host status. (yusaku)

 AMBARI-1496. Make all service properties reconfigurable. (jaimin)

 AMBARI-1477. Improve performance for App.statusMapper. (yusaku)

 AMBARI-1484. Reintroduce client-side paging for Hosts table. (yusaku)

 AMBARI-1473. Further optimization of querying host information from the
 server. (yusaku)

 AMBARI-1472. Update HBase service/host health status. (yusaku)

 AMBARI-1471. Refactor ajax calls. (yusaku)

 AMBARI-1461. Optimize query for getting service and host component status back
 from the server. (yusaku)

 AMBARI-1460. Optimize query call for retrieving host information. (yusaku)

 AMBARI-1470. Refactor confirmation popups. (yusaku)

 AMBARI-1414. Expose fine grained HDFS capacity metrics in API. (tbeerbower)

 AMBARI-1444. Make install, service & host configuration pages reuse same
 configuration code. (srimanth via yusaku)

 AMBARI-1457. Improve Job Diagnostics. (Billie Rinaldi via yusaku)
 
 AMBARI-1453. Move Ambari Web application config from initialize.js to
 another config file. (yusaku)

 AMBARI-1450. Remove hard-coded stack version. (yusaku)

 AMABRI-1458. Externalize strings from views to messages.js. (yusaku)

 AMBARI-1437. Update stack version. (yusaku)

 AMBARI-1429. Update API docs. (jspeidel)

 AMBARI-1430. Increase UI timeout for long running API operations. (yusaku)

 AMBARI-1427. Add ability to increase the time range for the zoomed-in graphs
 beyond last one hour. (yusaku) 

 AMBARI-1375. Remove text from templates (main). (jaimin)

 AMBARI-1374. Add filter by alerts on the Hosts page. (jaimin)

 AMBARI-1373. Since there is the ability to log in to Ambari Web as 
 different users the current user should be indicated. (jaimin)

 AMBARI-1366. Nagios alert tweaks. (jaimin)

 AMBARI-1365. Make Hosts table update dynamically. (jaimin)

 AMBARI-1361. Install progress dialog WARN icon + color. (jaimin)

 AMBARI-1347. Expose host-level alerts via nagios_alerts.php with associated
 service component names. (yusaku)
   
 AMBARI-1348. Externalize strings to messages.js. (yusaku)

 AMBARI-1342. Hive client is not installed on Nagios server host.
 (jaimin)

 AMBARI-1341. Add Hosts: update the API call for new operator precedence.
 (yusaku) 

 AMBARI-1340. Enhance Install/Start/Test progress display. (yusaku) 

 AMBARI-1339. Validate usernames in Misc section of Customize Services step
 in Install Wizard. (yusaku)

 AMBARI-1335. Show validation error when the user specifies target hosts that
 are already part of the cluster. (yusaku)

 AMBARI-1337. Refactor Job Browser filter. (yusaku)

 AMBARI-1336. Externalize text to messages.js. (yusaku)

 AMBARI-1334. Show hosts that have failed install tasks as "red" to allow the
 user to easily identify source of failure. (yusaku)

 AMBARI-1333. Add username validation for Ambari local users. (yusaku) 

 AMBARI-1329. Adjust job browser column sizing. (yusaku)
 
 AMBARI-1327. Add Hosts. Remove existig hosts display. (Alexandr Antonenko via jspeidel)

 AMBARI-1326. Remake clearFilters function in app_view (part 3). (srimanth)
 
 AMBARI-1305. Make sure that Ambari Web renders all elements correctly when
 the browser width is 1024px or narrower (refactor). (Arun Kandregula via 
 yusaku) 

 AMBARI-1312. Remake clearFilters function in app_view (part2). (Arun Kandregula
 via yusaku) 
 
 AMBARI-1309. Remove all text from Apps views, controllers, templates to 
 messages.js. (Arun Kandregula via yusaku)

 AMBARI-1308. Properly display Apps page aggregate summary and data table when
 there are no data to be show. (Arun Kandregula via yusaku)

 AMBARI-1306. Change color of rack_local_map to #66B366. (yusaku)

 AMBARI-1311. Host health indicator should have a tooltip showing few details - 
 refactoring. (Arun Kandregula via yusaku)

 AMBARI-1303. Remake clearFilters function in app_view. (Arun Kandregula via
 yusaku)

 AMBARI-1302. Minor label cleanup on Jobs Charts popup. (Arun Kandregula via
 yusaku)

 AMBARI-1296. Task log popup footer should be statically placed only the
 content should scroll vertically. (Jaimin Jetly via yusaku)

 AMBARI-1295. Move cluster name display from the main nav to the top nav.
 (Jaimin Jetly via yusaku)

 AMBARI-1268. Improve DAG UI. (billie via yusaku)

 AMBARI-1289. App page: remove old ode and fix test mode. (srimanth via
 yusaku)

 AMBARI-1279. Make sure that Ambari Web renders all elements correctly when
 the browser width is 1024px or narrower. (srimanth via yusaku)

 AMBARI-1274. Shrink top nav height. (srimanth)
 
 AMBARI-1272. Controller javascripts need comments. (srimanth)
 
 AMBARI-1271. On Confirm Hosts page, add a link to show the Host Checks popup 
 in the success message. (yusaku via srimanth)

 AMBARI-1193. If Install fails, allow user to go back to any previous step so 
 that the user can retry install with different configuration parameters.
 (yusaku via srimanth)

 AMBARI-1265. Job Browser - Filter by Input, output and duration. (yusaku)

 AMBARI-1263. Refactoring of User Management code. (yusaku)

 AMBARI-1254. Modify App Browser to use server-side paging/sorting/filtering.
 (yusaku)

 AMBARI-1258. Minor refactoring of User Management code. (yusaku)

 AMBARI-1253. Use ember-precompiler-brunch npm plugin. (yusaku)

 AMBARI-1236. Display a progress bar during deploy prep. (yusaku)

 AMBARI-1249. Update mock data to make App.testMode work. (yusaku)

 AMBARI-1239. Host health status should show orange when there is at least one
 slave component on the host with state!=STARTED. (yusaku)

 AMBARI-1248. Refactoring of update, services and hosts mapper. (yusaku)

 AMBARI-1247. Disable links for previous steps in left nav on Summary step.
 (yusaku)

 AMBARI-1246. Add user minor improvements. (yusaku)

 AMBARI-1245. Do not let the user go back to the previous step while host
 bootstrap is in progress. (yusaku)

 AMBARI-1244. Install Options - line up the Target Hosts section with the rest
 of the page. (yusaku)

 AMBARI-1235. Host health indicator should have a tooltip showing details.
 (yusaku)
 
 AMBARI-1234. On Heatmap host hover, including list of components running.
 (yusaku)

 AMBARI-1229. Dashboard - make disk usage pie chart in HDFS summary easier
 to understand. (yusaku)

 AMBARI-1228. During Install, show "warn" on hosts that have tasks cancelled.
 (yusaku)

 AMBARI-1225. Add Hosts wizard popup is too small. (yusaku)

 AMBARI-1224. Drop the "all" option from Hosts > Component Filter and
 Jobs > Users Filter. (yusaku)

 AMBARI-1223. Confirm Hosts page: It looks like hosts disappear if you are
 on "Fail" filter and click on "Retry Failed" button. (yusaku)

 AMBARI-1222. DAG, Jobs Timeline, and Tasks graphs UI cleanup. (yusaku)

 AMBARI-1221. There is no default sort order on Hosts table and the order
 changes on every page refresh - should sort by hostname. (yusaku)

 AMBARI-1220. Oozie service summary update. (yusaku)

 AMBARI-1218. Refactor Job Browser User filter. (yusaku)

 AMBARI-1217. Tighten up spacing for the rows in the Hosts table. (yusaku)

 AMBARI-1216. Add filters module. (yusaku)

 AMBARI-1215. Refactor hostComponent isSlaves and isMaster and add update
 methods for server mapper. (yusaku)

 AMBARI-1214. In any starts fails, "warn" the host and the overall install.
 (yusaku)

 AMBARI-1204. Install Wizard: Re-enable configuration of user/group names for
 master component daemons. (yusaku)

 AMBARI-1197. Refactor code for graphs. (yusaku)

 AMBARI-1196. Automatically update host-level popup info/logs. (yusaku)

 AMBARI-1189. Add App.Job class. (yusaku)

 AMBARI-1188. Refactor isClient computed property for HostComponent class.
 (yusaku)

 AMBARI-1186. Add Run class to represent a job run. (yusaku)

 AMBARI-1185. Refactor the method to check if the user is an admin.
 (yusaku)

 AMBARI-1183. Directories in the service config textarea should not wrap.
 (yusaku)

 AMBARI-1182. Clean up table header UI for sorting and filter clear "x" for
 Jobs table. (yusaku)

 AMBARI-1181. Clean up table header UI for sorting and filter clear "x" for
 Hosts table. (yusaku)

 AMBARI-1198. Ambari API Performance: Parsing of Ganglia json data is slow.
 (jspeidel via mahadev)

 AMBARI-1213. Cleanup python test cases and introduce third party library for
 mock testing python code. (mahadev)

 AMBARI-1206. Expose missing metrics on host components. (tbeerbower via
 mahadev)

 AMBARI-1205. Cannot persist service configuration when service is started
 (Siddharth Wagle via mahadev)

 AMBARI-1262. Apache Ambari point to dev url, need fix in pom.xml. 
 (mahadev)

 AMBARI-1207. Remove /hdp as the httpd conf for any of the nagios urls -
 should replace it with ambarinagios or something else.
 (mahadev)

 AMBARI-1277. Failing build due to url moved on Suse. (mahadev)

 AMBARI-1288. Change "authorization" to "authentication" in props setup for
 LDAP. (mahadev)

 AMBARI-1269. Refactor ResourceProvider SPI. (tbeerbower)
 
 AMBARI-1270. Add predicate objects for checking empty resource category.
 (tbeerbower)

 AMBARI-1286. Set version number property in gsInstaller cluster resource
 provider. (tbeerbower)

 AMBARI-1287. Monitor for component/service state for gsInstaller resource provider. (tbeerbower)

 AMBARI-1260. Remove hard coded JMX port mappings. (Siddharth Wagle via
 mahadev)

 AMBARI-1411. Missing unit test coverage for resource providers. (tbeerbower)

 AMBARI-1433. Allow capacity scheduler to be configurable via the API's.
 (mahadev)

 AMBARI-1435. L2 Cache does not work due to Eclipse Link exception.
 (Sid Wagle via mahadev)

 AMBARI-1436. Threads blocking on ClustersImpl.getHost for several minutes.
 (Sid Wagle via mahadev)

 AMBARI-1438. Add new stack definition for new stacks. (mahadev)

 AMBARI-1448. Enabling stack upgrade via Ambari Server. (mahadev)

 AMBARI-1439. rrd file location should be read from global config. (Siddharth
 Wagle via mahadev).

 AMBARI-1357. Smoke Tests failing on secure cluster. (Siddharth Wagle via
 mahadev)

 AMBARI-1343. Service Check fails after secure install due to wrong kinit
 path. (Siddharth Wagle via mahadev) 
 
 AMBARI-1465. Minimize Read and Write locks for createHosts. (Siddharth Wagle
 via mahadev)

 AMBARI-1466. Optimize ganglia rrd script to be able to respond within
 reasonable time to queries made by the UI. (mahadev)

 AMBARI-1474. Upgrade stack definition for HBase for 1.2.2 since the version
 is upgraded. (mahadev)

 AMBARI-1475. Update the version of ambari artifacts to 1.2.2 snapshot.
 (mahadev)

 AMBARI-1489. Add hadoop-lzo to be one of the rpms to check for before
 installation. (mahadev)

 BUG FIXES

 AMBARI-2336. Datanode start failed (with Oracle DB) due to RCA setup.
 (swagle)

 AMBARI-2124. Hive client is not getting reconfigured when it is co-hosted 
 with hive server/metastore. (swagle)

 AMBARI-2072. Fix to remove actual_configs from cluster response. (ncole)

 AMBARI-2036. Fix to send global configs with status_commands to agents. (ncole)

 AMBARI-2025. Fix to restrict how UNKNOWN is assigned to a host-component. (ncole)

 AMBARI-2013. Fix to delete cluster with components in unknown state. (ncole)

 AMBARI-1977. Honor service configs when there are no matching cluster configs (ncole)

 AMBARI-1976. When host expires, update each component for host with unknown state. (ncole)

 AMBARI-1980. Fix for nagios_alerts element when there is an error. (ncole)

 AMBARI-1865. Fix for upgrade script to copy configurations. (ncole)

 AMBARI-1703. Fix for smoke tests getting configurations. (ncole)

 AMBARI-1678. Fix when there are no service overrides. (ncole)

 AMBARI-1655. DELETE is not successful against ClusterStateEntity (ncole)

 AMBARI-1627. Fix to remove host configuration overrides. (ncole)

 AMBARI-1592. Fix configuration propagation.

 AMBARI-1619. Fix for category path separators.

 AMBARI-1612. Parameterizing nagios and ganglia monitoring rpm version.
 (Ashish Singh via yusaku)

 AMBARI-1586. Upgrade of Ambari DB on upgrade to 1.2.2 should restore/keep 
 the configuration data for MAPREDUCE. (Sumit Mohanty via swagle)

 AMBARI-1594. Ambari UI shows failed services while processes are running 
 on the server. (swagle) 

 AMBARI-1582. Cannot start hadoop services after hdfs re-configuration 
 and amabri server restart. (swagle)

 AMBARI-1570. Dashboard - missing translations. (Xi Wang via yusaku)

 AMBARI-1569. Add AMBARI-1536 and 1537 back. (Xi Wang via yusaku)

 AMBARI-1579. Admin page side nav does not use the correct style and does
 not highlight selection. (yusaku)

 AMBARI-1552. Missing translations on Dashboard. (Xi Wang via yusaku)

 AMBARI-1549. Cluster name displayed incorrectly in the top nav. (Xi Wang
 via yusaku) 

 AMBARI-1559. Jobs failed count always returns 0 in the jobtracker API metrics.
 (tbeerbower)

 AMBARI-1577. Apply stage of security wizard throws javascript error 
 for loadStep function. (jaimin)

 AMBARI-1575. Service should be shown red when any of its master component 
 is in START_FAILED status. (jaimin)

 AMBARI-1565. Ambari server throws EntityExistsException on transitioning 
 from INIT to INSTALLED state. (Sumit Mohanty via swagle)

 AMBARI-1564. TestActionManager is failing on master branch. (swagle)

 AMBARI-1561. API should return nagios_alerts as a JSON, not a 
 stringified JSON. (swagle)

 AMBARI-1492. Add init.d scripts for Ambari server + agent. (swagle)

 AMBARI-1548. Implement Stacks API using the consistent API framework in 
 Ambari Server with all the get/predicates working. (swagle)

 AMBARI-1544. AmbariManagementControllerTest has extra import that cannot 
 be resolved. (swagle)

 AMBARI-1539. Stage creation takes on an average 1.5 minutes on large 
 cluster. (swagle) 

 AMBARI-1485. Server throws exception when trying to stop a service which is 
 in stopping state. (swagle) 

 AMBARI-1526. State fields are not returned by default for services.
 (tbeerbower)

 AMBARI-1527. Allow loading of custom configurations in
 step7 : "Customize Services" (regression). (jaimin)

 AMBARI-1525. ambari.properties file has an invalid character causing
 ambari-server setup to fail. (jaimin)

 AMBARI-1524. Service summary for Hive does not display clients properly.
 (yusaku)

 AMBARI-1520. Alerts take around 20-30 seconds to show up everytime you
 refresh the dashboad. (srimanth via yusaku)

 AMBARI-1523. Ambari API: Resources doesn't always honor partial response
 fields restrictions. (tbeerbower)

 AMBARI-1519. Ambari Web goes back and forth between frozen and usable state
 peridocially on a large cluster. (yusaku)

 AMBARI-1499. Add hosts is broken. (yusaku)

 AMBARI-1501. Nagios alerts do not update automatically. (yusaku)

 AMBARI-1503. Ajax call sometimes adds multiple question marks in the query
 causing bad requests. (yusaku)

 AMBARI-1463. State of HBase region server not updated when instance is shut
 down on a cluster not installed via Ambari. (tbeerbower)
 
 AMBARI-1494. Browser memory consumption issues. (jaimin)

 AMBARI-1480. Comparison predicate should account for null values. (tbeerbower)

 AMBARI-1467. UI should block on cluster metric api call before making
 subsequent one. (yusaku)

 AMBARI-1462. PB (petabytes) is shown as "undefined". (yusaku)

 AMBARI-1455. Setting App.testMode=true, alwaysGoToInstaller=true does not
 render the Dashboard properly upon login. (yusaku)

 AMBARI-1452. Graphs look broken when network connectivity is lost between
 Ambari Web and Ambari Server. (yusaku)

 AMBARI-1441. Validation for username used in service configs is broken.
 (yusaku)

 AMBARI-1456. Cannot proceed after bootstrapping in some cases due to a
 run-time error while running host checks. (yusaku)

 AMBARI-1449. Failure popup shown for reconfiguring HDFS when MapReduce 
 is not selected. (jaimin)

 AMBARI-1445. Redirect to main app page when testMode flag is set True and
 alwaysGoToInstaller flag is set False. (jaimin)

 AMBARI-1439. rrd file location should be configurable through UI. (jaimin)

 AMBARI-1479. Query Lexer sometimes fails to properly parse query strings with
              ignored properties such as 'fields' present. (jspeidel)
 
 AMBARI-1446. URL used by API to invoke Ganglia rrd script may exceed max length 
              for query string for large clusters. (jspeidel)

 AMBARI-1431. Hosts table no longer allows sorting. (yusaku)

 AMBARI-1376. Wrong calculation of duration filter on apps page. (jaimin via
 yusaku)

 AMBARI-1165. Change the dashboard graph for HBase since its using cumulative
 metrics. (yusaku)

 AMBARI-1372. three sorting states on jobs table. (jaimin)
 
 AMBARI-1350. UI screen shifts left-right depending on scrollbar. (jaimin)

 AMBARI-1367. Job# for Mapreduce jobs is seen as x. (jaimin)

 AMBARI-1363. Graphs jump around upon loading. (jaimin)

 AMBARI-1362. Alerts for the hosts with ZooKeeper Server grows on every poll. (jaimin)

 AMBARI-1360. Mouse cursor hover behavior is strange on Job Browser. (jaimin) 

 AMBARI-1359. App Browser rows colours should alternate from dark grey to light 
 grey and back. (jaimin)

 AMBARI-1356. Error in filtering Configuration properties maintained at UI for 
 WebHcat service. (jaimin)

 AMBARI-1352. Host-level alert badges should only show the total number
 of CRIT and WARN alerts for the host excluding OK. (jaimin)

 AMBARI-1355. Inconsistent casing and component name for alert title. (jaimin)

 AMBARI-1354. "No alerts" badge on the Host Detail page should be green, not red. (jaimin)

 AMBARI-1353. "Missing translation" shown in Job Browser. (jaimin)

 AMBARI-1351. Provide consistent ordering of hosts in heatmap. (jaimin)

 AMBARI_1344. mapred.tasktracker.reduce.tasks.maximum in mapred-site.xml is not
 taking effect. (yusaku)

 AMBARI-1345. Alerts are not showing up at all in Service pages. (yusaku)

 AMBARI-1346. The number of task trackers does not reflect the actual number
 in MapReduce service summary after new TaskTrackers have been added until
 page refresh. (yusaku)

 AMBARI-1331. Step 8 hangs on deploy task 2 of 59, server has exception (tbeerbower)

 AMBARI-1164. Disk info ganglia metrics is broken for some OS. (Dmytro Shkvyra via jspeidel)

 AMBARI-1325. Left border is missing from the main nav. (srimanth)
 
 AMBARI-1324. Job Browser default sort order should be Run Date DESC. (srimanth)
 
 AMBARI-1323. Job Browser's column sizing needs to be improved on Firefox. (srimanth)

 AMBARI-1321. Switching out of Jobs page does not launch popup anymore.
 (srimanth via yusaku) 

 AMBARI-1313. Alert time jumps between 'less than a minute ago' and 'about a
 minute ago'. (srimanth via yusaku) 

 AMBARI-1304. When switching jobs in timeline + tasks charts, blank charts show.
 (Arun Kandregula via yusaku) 

 AMBARI-1317. Deploy progress returns to deploy screen (momentarily).
 (Arun Kandregula via yusaku) 

 AMBARI-1316. Vertical scrollbar shows regardless of how tall the browser height
 is (content height is always slightly taller than viewport). (Arun Kandregula
 via yusaku)

 AMBARI-1315. Inconsistent error/warning status in Deploy step; install
 stalls. (Arun Kandregula via yusaku)

 AMBARI-1281. Heatmap does not show up if the cluster was installed by going
 back to a previous step from the Deploy step after an install failure.
 (yusaku)

 AMBARI-1300. Service status / host component status can get stuck in the
 green blinking state if stop fails - no further operation can be performed.
 (srimanth via yusaku) 

 AMBARI-1297. Edit User: if "old password" is not specified and "new
 password" is specified, password update silently fails. (Jaimin Jetly via
 yusaku)

 AMBARI-1282. Admin user can lose its own admin privilege. (Jaimin Jetly
 via yusaku)

 AMBARI-1292. Add hosts should skip host checks on existing list of cluster
 nodes. (srimanth via yusaku)

 AMBARI-1290. Left border is missing from the summary section on Jobs page.
 (srimanth via yusaku)

 AMBARI-1278. Cannot proceed from Step 3 to Step 4 in App.testMode (Next 
 button is disabled). (srimanth)

 AMBARI-1276. Job Graphs need to show x-axis ticks for elapsed time since 
 submission. (srimanth)

 AMBARI-1275. Incorrect displaying "Background operations" window after 
 changing state of component. (srimanth)

 AMBARI-1273. Edit User: No error message is shown when the user does not 
 enter the correct "old password". (srimanth)

 AMBARI-1172. Alert status change does not change time for the alerts.
 (srimanth via yusaku) 

 AMBARI-1264. Service graphs refresh with spinners. (yusaku)

 AMBARI-1257. Separator missing in between Oozie and ZooKeeper. (yusaku)

 AMBARI-1251. Fix routing issues on Add Host Wizard. (yusaku)

 AMBARI-1230. There is a big gap in the lower part of the Jobs table header.
 (yusaku)

 AMBARI-1212. After successful install with Ambari, the user is taken to the
 welcome page of the Install Wizard upon browser relaunch if the HTTP session
 is expired. (yusaku)

 AMBARI-1227. Host-level task popup is not showing the display name for
 components. (yusaku)

 AMBARI-1226. On Dashboard, links to host components are missing. (yusaku)

 AMBARI-1219. After adding hosts, the number of live TaskTrackers is not
 updated. (yusaku)

 AMBARI-1176. In some cases, once Add Hosts wizard has run once, it requires
 a log out before the Add Hosts wizard can be run again. (yusaku)

 AMBARI-1203. mapred-site.xml default system directory is not set
 to /mapred/system. (yusaku)

 AMBARI-1200. On some clusters, Nagios alerts show up about 30 seconds after
 page load, while on others the alerts show up immediately. (srimanth via
 yusaku)

 AMBARI-1190. Detailed log view dialogs are not center-aligned. (yusaku)

 AMBARI-1187. Dashboard > MapReduce mini chart sometimes shows partial graph and hides recent data. (yusaku)

 AMBARI-1184. After adding hosts, the host count shown in the Dashboard is
 incorrect. (yusaku)

 AMBARI-1178. Fix use of use ip address for JMX metrics request. (tbeerbower
 via mahadev)

 AMBARI-1191. Datatable API needs work. (Billie Rinaldi via mahadev)

 AMBARI-1211. Ability to configure the same username for all the services in
 Ambari. (mahadev)

 AMBARI-1231. Replace sudo with su in the ambari setup script since ambari
 server setup is already run as root. (mahadev)

 AMBARI-1201. Improve Agent Registration and Heartbeat json. (Nate Cole via
 mahadev)

 AMBARI-1238. AmbariMetaInfoTest getServices() acceptance test failure. 
 (Siddharth Wagle via mahadev)

 AMBARI-1243. Remove unwanted import causing the builds to fail on linux.
 (mahadev)

 AMBARI-1233.  Directory permissions on httpd /var/www/cgi-bin should not be
 touched by Ambari. (mahadev)

 AMBARI-1170. For live status checks we should only look at the run
 directories that we get from the server (only for hadoop and its eco system)
 and not all. (mahadev)

 AMBARI-1250. Upgrade the posgres connector to 9.1.
 (mahadev)

 AMBARI-1259. Fix the host roles live status not go back to INSTALLED if it
 was in START_FAILED state. (mahadev)

 AMBARI-1210. Allow capacity scheduler to be attached to host role configs for
 CS configurability in the API's. (mahadev)

 AMBARI-1256. Host registration can fail due to mount point info not fitting
 ambari.hosts::disks_info column. (Sumit Mohanty via mahadev)

 AMBARI-1266. Agent checks packages as part of host check but doesn't tell
 which ones are needed or conflicting. (mahadev)

 AMBARI-1291. Incorrect directory for MySQL component on SLES-11.1sp1.
 (mahadev)

 AMBARI-1301. Live status checks dont get triggered on server restart.
 (mahadev)

 AMBARI-1285. Some host Ganglia metrics may be missing in some cases. (tbeerbower)

 AMBARI-1310. Get rid of mvn warnings. (Arun Kumar via mahadev)

 AMBARI-1314. Hostname test is failing in some environments. (Nate Cole via
 mahadev) 

 AMBARI-1330. Cluster missing hosts after successful install and restart.
 (mahadev)

 AMBARI-1358. Clean up alert messages. (Yusaku Sako via mahadev)

 AMBARI-1432. Ambari Agent registration hangs due to Acceptor bug in Jetty for
 not reading through accepted connections. (mahadev)

 AMBARI-1434. Change state to installed from start_failed if there is any
 issue in starting a host component. (mahadev)

 AMBARI-1476. Change webhcat-env.sh to export HADOOP_HOME
 (mahadev)

 AMBARI-1486. Fix TestHostName to take care of issues when gethostname and
 getfqdn do not match. (mahadev)

 AMBARI-1495. Out of Memory Issues on Ambari Server when server is running on
 single core. (mahadev)

 AMBARI-1487. Fix alerts at host level if MapReduce is not selected not to
 alert for tasktrackers not running. (mahadev)

 AMBARI-1488. Nagios script causes unwanted Datanode logs. (mahadev)

 AMBARI-1497. Fix start up option for ambari-server where there is a missing
 space. (mahadev)

 AMBARI-1498. Hive service check fails on secure HDP cluster. (Siddharth Wagle
 via mahadev)

 AMBARI-1299. Bootstrap can hang indefinitely. (mahadev)

 AMBARI-1547. Fix ambari agent test cases that are failing due to missing
 directory. (mahadev)

AMBARI-1.2.0 branch:

 INCOMPATIBLE CHANGES
 
 NEW FEATURES

 AMBARI-1108. PUT call to change the state on host_components collection
 returns 200 (no op), even though GET with the same predicate returns a number
 of host_components. (Tom Beerbower via mahadev)

 AMBARI-1114. BootStrap fails but the api says thats its done and exit status
 is 0. (Nate Cole via mahadev)

 AMBARI-1136. Add gsInstaller resource provider. (Tom Beerbower via mahadev)

 AMBARI-1202. Unncessary use of xml tree python library in ambari-server
 setup. Its not being used. (Siddharth Wagle via mahadev)

 IMPROVEMENTS

 BUG FIXES

 AMBARI-1613.  ConfigurationResourceProvider doesn't properly handle OR
               predicate. (jspeidel) 

 AMBARI-1179. ambari-web does not compile due to less-brunch package update.
 (yusaku)

 AMBARI-1126. Change SUSE lzo dependency to only lzo-devel. (nate cole via
 mahadev)

AMBARI-666 branch:

  INCOMPATIBLE CHANGES

  NEW FEATURES

  AMBARI-1147. Handling Hive/HCat/WebHCat configuration parameters with
  Ambari Web. (yusaku)

  AMBARI-946. Support retrieving information for multiple requests.
  (hitesh via mahadev)

  AMBARI-1065. Provide Datanode decommission & recommission capability in UI.
  (Srimanth Gunturi via mahadev)

  AMBARI-985. Support OR in API query. (Tom Beerbower via mahadev)

  AMBARI-1029. Add api support for updating multiple host_component resources
  for multiple hosts in a single request. (John Speidel via mahadev)

  AMBARI-1018. Add API support for creating multiple sub-resources to
  multiple resources in a single request. (John Speidel via mahadev)

  AMBARI-950. Provide API support for 'OR' predicate. (John Speidel via
  mahadev)

  AMBARI-935. Provide API support for updates of multiple resources in a
  single request. (John Speidel via mahadev)

  AMBARI-926. Provide API support for asynchronous requests.
  (John Speidel via mahadev)

  AMBARI-1054. Implement retrying of bootstrap on confirm host page.
  (Jaimin Jetly via yusaku)

  AMBARI-1048. Integrate slave configuration parameters with respective
  service on step7 of installer wizard. (Jaimin Jetly via yusaku)

  AMBARI-1031. Check for host registration at step3 of installer wizard 
  and retrieve information for RAM and no. of cores. (Jaimin Jetly via
  yusaku)

  AMBARI-1022. Integrate Heatmap UI to backend API. (Srimanth
  Gunturi via yusaku)

  AMBARI-1015. Create HBase summary section in Dashboard & Service
  pages. (Srimanth Gunturi via yusaku)

  AMBARI-1014. Hook service summary sections in service pages to API.
  (Srimanth Gunturi via yusaku)

  AMBARI-1008. Populate dashboard>MapReduce section with API data.
  (Srimanth Gunturi via yusaku)

  AMBARI-1006. Populate dashboard>HDFS section with API data.
  (Srimanth Gunturi via yusaku)

  AMBARI-1004. Allow properties entered in custom config
  (ex: hdfs-site.xml) to override existing or create new properties.
  (Jaimin Jetly via yusaku)

  AMBARI-1002. Integrate Installer with config APIs. (Jaimin Jetly
  via yusaku)

  AMBARI-989. Show task logs for each host in the Deploy step of the
  wizard. (yusaku)

  AMBARI-976.  Hook HDFS/MapReduce/HBase/Host graphs to backend API
  (Srimanth Gunturi via yusaku)

  AMBARI-964. Implement summary page of installer wizard. (Jaimin Jetly
  via yusaku)

  AMBARI-974. Decommissioning of datanodes. (Jitendra Pandey via mahadev)

  AMBARI-975. Fix support for cascading updates to configs. (Hitesh Shah
  via mahadev)

  AMBARI-971. Add api support for creating multiple resources in a single
  request. (John Speidel via mahadev)

  AMBARI-970. Add additional Ganglia metrics and JMX properties. (Tom
  Beerbower via mahadev)

  AMBARI-967. Enhance predicate comparison. (Tom Beerbower via mahadev)

  AMBARI-954. Support installation of Ganglia master and slaves via
  Ambari Web. (yusaku)

  AMBARI-980. Allow installation of various service components. (yusaku)

  AMBARI-949. Provide metric graphs for individual hosts. (Srimanth
  Gunturi via yusaku)

  AMBARI-948. Invoke service starts after services are installed in the
  wizard. (yusaku)

  AMBARI-942. Integrate Install and Start APIs with the installer wizard.
  (Jaimin Jetly via yusaku)

  AMBARI-936. Provide HBase service specific graphs. (Srimanth Gunturi
  via yusaku)

  AMBARI-933. Provide service-specific alerts in the service summary
  pages. (Srimanth Gunturi via yusaku)

  AMBARI-938. Hardcode service name and client component mapping while
  awaiting meta data integration. (hitesh)

  AMBARI-927. Provide metrics graphs on the MapReduce services page. 
  (Srimanth Gunturi via yusaku)

  AMBARI-916. Provide metrics graphs in HDFS services page. (Srimanth
  Gunturi via yusaku)

  AMBARI-908. Add ui option to either create a Postgres database for Hive
  and Oozie or choose existing database. (Jaimin Jetly via yusaku)

  AMBARI-915. Implement App Browser for displaying and navigating Pig/Hive
  workflows. (yusaku)

  AMBARI-907. Add support for getting multiple objects in controller.
  (hitesh)

  AMBARI-906. Util to extract hosts for various components. (jitendra)

  AMBARI-903. Various fixes for config handling integration. (Hitesh Shah via 
  mahadev)

  AMBARI-900. Add configuration mapping support. (Nate Cole via mahadev)

  AMBARI-895. Need name consistency for metrics. (Tom Beerbower via mahadev)

  AMBARI-893. provide api support for temporal queries. (John Speidel via 
  mahadev)

  AMBARI-897. Operations request object and skeleton management methods.
  (jitendra)

  AMBARI-894. TestHeartBeatMonitor fails intermittently. (jitendra)

  AMBARI-892. Add puppet executor at the agent to be able to run various
  commands from the server. (mahadev)

  AMBARI-887. Ability to save configuration. (Nate Cole via mahadev)

  AMBARI-877. Refactor resource provider implementation for changes to
  management interface. (Tom Beerbower via mahadev)

  AMBARI-876. Put metrics under metrics category. (Tom Beerbower via 
  mahadev)

  AMBARI-890. Add client library option to step6 (Assign slaves) of
  installer wizard. Also add indicator and popovers for hosts with
  master component. (Jaimin Jetly via yusaku)  

  AMBARI-889. Provide cluster metric graphs on Ambari main dashboard.
  (Srimanth Gunturi via yusaku)

  AMBARI-886. Support filters in controller get* apis. (hitesh)

  AMBARI-880. Implement Review Page (Step 8) for the Ambari Installer
  Wizard. (Jaimin Jetly via yusaku)

  AMBARI-872. Hookup Nagios alerts section in Ambari UI to backend
  server. (Srimanth Gunturi via yusaku)

  AMBARI-871. Integrate basic set of rest APIs with ambari-web
  installer wizardi. (Jaimin Jetly via yusaku)

  AMBARI-884. Implement Dashboard/Service summary. (yusaku)

  AMBARI-882. Group-based DataNode/TaskTracker/RegionServer overrides.
  (yusaku)

  AMBARI-881. Implement Add Hosts Wizard. (yusaku)

  AMBARI-869. Util to deserialize ExecutionCommand. (jitendra)

  AMBARI-874. Fix hostinfo reporting at the server and add a unit test for
  deserilization for the host information from agent. (mahadev)

  AMBARI-873. Support for multiple objects' updates in controller. (hitesh)

  AMBARI-870. Support metric types other than string (Tom Beerbower via
  mahadev)

  AMBARI-868. Clean up site.pp generation on the agent and remove the imports
  in the sample site.pp. (mahadev)

  AMBARI-862. API query against /clusters doesn't return any data.
  (John Speidel via mahadev)

  AMBARI-866. Add ORM layer for the FSM's in the server. (mahadev)

  AMBARI-853. Add more complete JMX metrics. (Tom Beerbower via mahadev)

  AMBARI-852. Improve REST API functionality regarding query and partial
  response (John Speidel via mahadev)

  AMBARI-865. Add unit test for action queue on the agent. (mahadev)

  AMBARI-851. Hook up Ganglia property provider. (Tom Beerbower via mahadev)

  AMBARI-863. Fix mvn tests to be able to run the python tests cleanly.
  (mahadev)

  AMBARI-849. Stage planner implementation. (jitendra)

  AMBARI-860. Remove code that adds fake stages for testing. (jitendra)

  AMBARI-856. Add cluster heatmap. (yusaku)

  AMBARI-855. Create the skeleton for a custom data adapter in Ambari Web.
  (yusaku)

  AMBARI-854. Serve ambari-web from jetty. (Jaimin Jely via yusaku)
 
  AMBARI-850. Flatten ExecutionCommand structure. (jitendra)
  
  AMBARI-848. Various tests for FSM and Controller impl. (hitesh)

  AMBARI-847. Run pyunit tests from maven test target and also autogenerated
  openssl passphrase. (mahadev)

  AMBARI-845. Fix NPE in the server to be able to run the server api's.
  (mahadev)

  AMBARI-844. Mock JMX provider for manual tests. (Tom Beerbower via mahadev)

  AMBARI-841. Fix comparison predicates in case where resource does not have
  property value. (Tom Beerbower via mahadev)

  AMBARI-833. Add missing Path annotation to rest services for
  put/post/delete. (John Speidel via mahadev)

  AMBARI-838. HACK: Add a thread in server to inject requests for testing.
  (Jitendra via mahadev)

  AMBARI-835. Update JMXPropertyProvider. (Tom Beerbower via hitesh)

  AMBARI-832. Merge ambari-api with ambari-server (mahadev)

  AMBARI-822. Implement an agent simulator for unit testing. (jitendra)
  
  AMBARI-829. Add unit tests for ResourceProviderImpl. (Tom Beerbower via
  mahadev)

  AMBARI-831. Move manifest generation into the ambari agent directory.
  (mahadev)

  AMBARI-828. Manifest generation for various actions from the server.
  (mahadev)

  AMBARI-827. Add clusterName to the status of the commands run by the agent.
  (mahadev)

  AMBARI-824. Provide basic management functionality (create/update) in the
  rest api (John Speidel via mahadev)

  AMBARI-826. Bug in processing command reports. (jitendra)

  AMBARI-825. Controller layer implementation part 3. (hitesh)

  AMBARI-823. Fix security filter on the server agent ports and remove
  duplication on servlet contexts for certs signing. (mahadev)

  AMBARI-821. Implement basic service state update and verify flow to
  ActionManager. (hitesh)

  AMBARI-812. In API , improve partial response support to drill down n levels
  (John Spiedel)

  AMBARI-791. Add unit tests and java docs for SPI code. (Tom Beerbower)

  AMBARI-820. Remove JAXB dependencies in Server Agent protocol and move to
  POJO based jackson serializer. (mahadev)

  AMBARI-819. Management controller implemenation work. (hitesh)

  AMBARI-811. Bug fix in jaxb serialization for maps. (jitendra)

  AMBARI-810. Controller layer implementation part 1. (hitesh)

  AMBARI-807. Fix Action scheduler tests because of fsm interface changes.
  (jitendra)

  AMBARI-806. Remove State object as configs/stack version/running state are
  handled as standalone entities. (hitesh)

  AMBARI-805. Add requestId tracking objects for management spi. (hitesh)

  AMBARI-803. FSM initial refactoring for eventual live/desired objects. (hitesh)

  AMBARI-800. Hack to add a stage for testing in in-memory db. (jitendra)
  
  AMBARI-801. Fix heartbeat message from the agent which is causing NPE at the
  server. (mahadev)

  AMBARI-778. Ensure data flows across all steps in installer wizard.
  (Jaimin Jetly via yusaku)

  AMBARI-799. Prototype for management spi part 3. (hitesh)

  AMBARI-797. Prototype for management spi interface continued. (hitesh)

  AMBARI-795. Fix failing tests for AgentResource and BootStrap. (mahadev)

  AMBARI-793. Make MapReduce, Nagios, and Ganglia optional during cluster
  install. (yusaku)

  AMBARI-794. Add log4j properties for logging at the server. (mahadev)

  AMBARI-790. OK in registration response. (jitendra)

  AMBARI-787. Registration throws HostNotFoundException for new hosts. (jitendra)
  
  AMBARI-788. Fix server and agent startup for end to end testing. (mahadev)

  AMBARI-785. Action response unit test. (jitendra)

  AMBARI-783. Fix guice injection in the server. (mahadev)

  AMBARI-784. Add Resource download API on the server. (mahadev)

  AMBARI-781. Registration unit test. (jitendra)

  AMBARI-754. Heartbeat handler: Registration response should query component 
  status. (jitendra)

  AMBARI-755. Heartbeat handler: Update state as reported in heartbeat. 
  (jitendra)

  AMBARI-756. Heartbeat handler: Handle heartbeat timeout. (jitendra)

  AMBARI-767. Add bootstrap script to ssh in parallel and setup agents on a
  list of hosts. (mahadev)

  AMBARI-764. Integrate REST API (Tom Beerbower via mahadev)

  AMBARI-762. Implement Confirm Hosts page for Ambari installer
  (Jaimin Jetly via yusaku)

  AMBARI-763. Implement Installer Step 6 (Assign Slaves). (yusaku)

  AMBARI-760. Fix injection in data access objects to use guice provider.
  (mahadev)

  AMBARI-759. Add puppet scripts to the agent for configuring/installing
  various services and add security aspects to api's and server/agent.
  (mahadev)

  AMBARI-749. Complete Java side implementation of bootstrapping agent hosts.
  (mahadev)

  AMBARI-757. Implement Installer Step 4 (Select Services). (yusaku)

  AMBARI-751. Re-structure servicecomponenthost fsm layout. (hitesh)

  AMBARI-732. Action scheduler unit tests. (jitendra)

  AMBARI-739. Cluster fsm implementation. (hitesh)

  AMBARI-738. s/Node/Host/g. (hitesh)

  AMBARI-737. ServiceComponentNode FSM implementation. (hitesh)

  AMBARI-722. Action scheduler implementation. (jitendra)
  
  AMBARI-733. Add Jersey Resource for BootStrapping and JAXB elements for API
  entities. (mahadev)

  AMBARI-730. Add unit tests for jersey apis on the server. (mahadev)

  AMBARI-725. Add commandstatus/result/error objects into the rest API between
  server and agent. (mahadev)

  AMBARI-723. Implement Installer Welcome page and Install Options page
 (Jaimin Jetly via yusaku)

  AMBARI-726. ORM-based data access layer for new design (Jaimin Jetly via hitesh)

  AMBARI-728. Initial work on ServiceComponentNode FSM. (hitesh)

  AMBARI-724. Add tabs, dynamic form generation, validation errors, and info
  popovers for Customize Services page in Installer (yusaku) 

  AMBARI-714. Job FSM Impl and tests. (hitesh)

  AMBARI-721. Remove Hardwareprofile class since its not needed anymore.
  (mahadev)

  AMBARI-720. Tweak basic styles for Installer. (yusaku)

  AMBARI-719. Enable Responsive Design. (yusaku)

  AMBARI-716. Add back TestNodeImpl and fix memory types and disk info
  serialization. (mahadev)

  AMBARI-717. Starter implementation for Installer Customize Services page.
  Stylize top nav and implement static footer.  Stylize login page. (yusaku)

  AMBARI-711. Create utility functions related to localStorage for first two
  steps: cluster name and Install options. Also develop view logic with
  preliminary validations for these two steps. (Jaimin Jetly via yusaku)

  AMBARI-715. Integrate domain objects and Rest serialized objects. (mahadev)

  AMBARI-713. Initial work on Job FSM. (hitesh)

  AMBARI-712. Action manager skeleton. (jitendra)

  AMBARI-710. Basic registration and heartbeat protocol implementation between
  the server and the agent. (mahadev)

  AMBARI-709. Getting hardware info on disks/cpu/others using facter and using
  it during registeration. (mahadev)

  AMBARI-707. More work on Node FSM and additional tests/cleanup. (hitesh)

  AMBARI-706. Basic tests for Node FSM. (hitesh)

  AMBARI-705. Initial work on Node FSM. (hitesh)

  AMBARI-703. Heartbeat handler classes. (jitendra)

  AMBARI-702. Add skeleton for Ambari agent that talks to the server and
  collects information for host. (mahadev)

  AMBARI-696. Add interface for ActionManager to access live state. (hitesh)

  AMBARI-698. Add a simple server and artifact generation to run a server with
  a simple api check. (mahadev)

  AMBARI-697. Ambari Web (browser-based UI) skeleton. (Jaimin Jetly and yusaku)

  AMBARI-695. More basic class restructuring for new design. (hitesh)

  AMBARI-694. Class to encapsulate stage. (jitendra)

  AMBARI-691. More basic classes for new design. (hitesh)

  AMBARI-693. Classes for request objects. (jitendra)

  AMBARI-685. Basic classes. (hitesh via jitendra)

  AMBARI-676. Seperate directory for ambari-server. (jitendra)

  IMPROVEMENTS

  AMBARI-1159. Check the log/run dir locations to make sure its an abs path.
  (yusaku)

  AMBARI-1156. Dashboard > HDFS pie chart should hover with details. (yusaku)

  AMBARI-1154. The check boxes to check/uncheck one of the members in a multi
  artifact graphs is not very readable. It should be more apparent on which
  one the user clicked on. (yusaku)

  AMBARI-1106. User-specified custom configs (such as hdfs-site.xml overrides)
  should be persisted to maintain what the user specified.
  (Jaimin Jetly via yusaku)

  AMBARI-1103. Need to be able to reliably recover from the case when the browser
  is closed during deploy (Step 8 post submission, Step 9) of the wizard.
  (Arun Kandregula via yusaku)

  AMBARI-1099. Hive Service Summary needs to show service components better.
  (Srimanth Gunturi via yusaku)

  AMBARI-1097.  Restrict user to proceed ahead of step 7 (Service configuration)
  when properties specified in custom-box are already exposed on the page.
  (Jaimin Jetly via yusaku)

  AMBARI-1102. Error handling when errors are encountered during preparation
  for deploy. (Arun Kandregula via yusaku)

  AMBARI-1096. Create heatmap legend entries for missing data/invalid hosts.
  (Srimanth Gunturi via yusaku)

  AMBARI-1078. Improve graph message when data is not available.
  (Srimanth Gunturi via yusaku)
 
  AMBARI-1146. Exclude hosts and include hosts config parameters need 
  clarification. (yusaku)
  
  AMBARI-1074. CPU Usage chart needs better idle time display. (Srimanth
  Gunturi via yusaku)

  AMBARI-1072. Change text on alerts "about XX hours ago". (Srimanth Gunturi
  via yusaku)

  AMBARI-1145. Cluster Management refactoring. (yusaku)

  AMBARI-984. Add support for exposing filesystem type for mount points
  at host level. (hitesh via mahadev)

  AMBARI-973. Ensure zookeeper service check run after zookeeper start.
  (hitesh via mahadev)

  AMBARI-965. Stop events should be handled at all valid points for safe
  recovery. (hitesh via mahadev)

  AMBARI-959. Handle passing repo information from server to agent.
  (hitesh via mahadev)

  AMBARI-951. Integrate meta data to be able to run service checks after
  a start of a service. (hitesh via mahadev)

  AMBARI-932. Add initial hooks to trigger smoke tests on service starts.
  (hitesh via mahadev)

  AMBARI-924. Rename job to action. (hitesh via mahadev)

  AMBARI-922. Use stack name and version in fsm layer. (hitesh via mahadev)

  AMBARI-982. Add ability to set rack info for a host.
  (Nate Cole via mahadev)

  AMBARI-981. Add configuration to host_component request.
  (Nate Cole via mahadev)

  AMBARI-931. Support for /hosts end point. (Nate Cole via mahadev)

  AMBARI-912. Test case for ConfigurationService.
  (Nate Cole via mahadev)

  AMBARI-1021. Ambari-agent init script needs to be aware of already
  running/not running agent process. (Pramod Thangali via mahadev)

  AMBARI-1019. Add methods to get postgres user name/password or any
  regex validated string input from user.
  (Pramod Thangali via mahadev)

  AMBARI-1007. Add aggregate IO stats to workflow data web service
  (Pramod Thangali via mahadev)

  AMBARI-1000. Use FQDN instead of hostname when registering an agent with
  Ambari server. (Pramod Thangali via mahadev)

  AMBARI-1066. Rename Charts section to Heatmaps. (Srimanth Gunturi via
  mahadev)

  AMBARI-1056. Expose CapacityRemaining JMX metric to NAMENODE
  ServiceComponentInfo. (Tom Beerbower via mahadev)

  AMBARI-1055. Refactor SPI Request interface to remove PropertyId.
  (Tom Beerbower via mahadev)

  AMBARI-1049. Tune Ganglia request. (Tom Beerbower via mahadev)

  AMBARI-1037. Implement an efficient way to provide Ganglia data for
  heatmap and other cluster visualization tools.
  (Tom Beerbower via mahadev)

  AMBARI-1001. Cluster level Network, Load, CPU and Memory metrics in API
  needed for dashboard page. (Tom Beerbower via mahadev)

  AMBARI-996. Expose metrics and properties for UI. (Tom Beerbower via mahadev)

  AMBARI-972. Refactor resource provider implementation to move inner classes.
  (Tom Beerbower via mahadev)

  AMBARI-943. Add Host metrics. (Tom Beerbower via mahadev)

  AMBARI-929. Show HBASE_REGIONSERVER metrics. (Tom Beerbower via mahadev)

  AMBARI-928. Enable end to end testing of Request and Task resources.
  (Tom Beerbower via mahadev)

  AMBARI-925. Return RequestStatus through ClusterController.
  (Tom Beerbower via mahadev)

  AMBARI-923. ResourceProvider changes for Request and Task resources.
  (Tom Beerbower via mahadev)

  AMBARI-911. Implement an efficient way to provide Ganglia data for heatmap
  and other cluster visualization tools. (Tom Beerbower via mahadev)

  AMBARI-930. Map update to PUT and create to POST.
  (John Speidel via mahadev)

  AMBARI-1053. Dashboard page loads very slow due to hosts?fields=* API call
  (Srimanth Gunturi via yusaku)

  AMBARI-1051. Dashboard page takes long time to load. (Srimanth Gunturi via
  yusaku)

  AMBARI-1041. Additional metrics need to be added to Heatmap UI. (Srimanth
  Gunturi via yusaku)

  AMBARI-1040. Cluster heatmap: green should always mean "good". (Srimanth
  Gunturi via yusaku)

  AMBARI-1039. Improve Nagios alerts time display. (Srimanth Gunturi via yusaku)

  AMBARI-1036. Service Info/Quick Links do not display external hostnames.
  (Srimanth Gunturi via yusaku)

  AMBARI-1035. Aggregate creation of multiple services and assignment of host
  to cluster. (Jaimin Jetly via yusaku)

  AMBARI-1034. Metric Charts - display local time rather than UTC.
  (Srimanth Gunturi via yusaku)

  AMBARI-1033. Nagios and Ganglia links should use public host names in URLs.
  (Srimanth Gunturi via yusaku)

  AMBARI-1030. Metrics links in web ui should link to Ganglia UI. (Srimanth
  Gunturi via yusaku)

  AMBARI-1025. Display total install and start services time on summary page
  and polish summary page ui. (Jaimin Jetly via yusaku)

  AMBARI-1023. Dashboard page should handle API sending JSON as strings and
  object. (Srimanth Gunturi via yusaku)

  AMBARI-1011. Create 2 missing HDFS service graphs. (Srimanth Gunturi via
  yusaku)

  AMBARI-1003. Nagios sections should use backend API to populate. (Srimanth
  Gunturi via yusaku)

  AMBARI-1062. Convert Apache license header comment style in Handlebars files
  to Handlebars comments rather than JavaScript comments. (yusaku)

  AMBARI-1061. Data loading refactoring for cluster management. (yusaku)

  AMBARI-1060. Data loading for App Browser. (yusaku)

  AMBARI-993. Hook up login with server authentication. (yusaku)

  AMBARI-1059. Refactor cluster management. (yusaku)

  AMBARI-1058. Implement data loading. (yusaku)

  AMBARI-956. On unavailability of non-master components, host with least
  number of master components should install all slave and client components. 
  (Jaimin Jetly via yusaku)
 
  AMBARI-990. Refactor App Browser. (yusaku)

  AMBARI-979. More refactoring of App Browser code. (yusaku)

  AMBARI-947. Make it easier to test Deploy (Install, Start + Test) step
  of the wizard. (yusaku)

  AMBARI-978. Refactor App Browser code. (yusaku)

  AMBARI-977. Refactor Wizard and Cluster Management code. (yusaku)

  AMBARI-941. More refactoring of Wizards in Ambari Web. (yusaku)

  AMBARI-919. Partial refactoring and consolidation of code for various
  wizards. (yusaku)

  AMBARI-918. Update styles in Cluster Management. (yusaku)

  AMBARI-917. Update layout and flow for App Browser. (yusaku)

  AMBARI-888. Add more tests for controller implementation. (hitesh)

  AMBARI-891. Initial work to refactor the Wizards in Ambari Web. (yusaku)

  AMBARI-883. Improve user interactions on Confirm Hosts page of the
  Installer. (yusaku)

  AMBARI-859. Tighten up the layout for the Install page of the Installer.
  (yusaku)

  AMBARI-857. Refactor Install Options page for the Install Wizard. (yusaku)

  OPTIMIZATIONS

  BUG FIXES

  AMBARI-1160. Cannot add a hostname that has a number next to . in it.
  (yusaku)

  AMBARI-1139. Disable Misc section in Customize Services page of the Install
  Wizard. (Srimanth Gunturi via yusaku) 

  AMBARI-1158. Fiters are not working correctly on Hosts page. (yusaku)

  AMBARI-1157. Host component operation causes lags in status/action pulldown
  update. (yusaku)

  AMBARI-1144. Cannot save changes to ZooKeeper configuration.
  (Arun Kandregula via yusaku)

  AMBARI-1155. Change "Save and apply changes" button on configs section to
  "Save". (yusaku)

  AMBARI-1153. Host jams in status 'Preparing' if host name is wrong.
  (Arun Kandregula via yusaku)

  AMBARI-1132. Stopping service doesn't cause blinking status until refresh.
  (Srimanth Gunturi via yusaku)

  AMBARI-1143. tmpfs filesystem being added to the list in the dir used by
  Ambari. (Arun Kandregula via yusaku) 

  AMBARI-1142. On Notification Popup, clicking "go to nagios UI" doesn't
  load nagios UI. (Arun Kandregula via yusaku)

  AMBARI-1125. Graphs "degrade" over time. (Srimanth Gunturi via yusaku)

  AMBARI-1124. Boxes on services page need min height or something to keep
  it from visually cutting off info. (Srimanth Gunturi via yusaku)

  AMBARI-1123. Ambari heatmaps and host information shows infinity for disk
  space used. (Srimanth Gunturi via yusaku)

  AMBARI-1141. In some cases, clicking "Register and Confirm" button does
  not do anything. (Arun Kandregula via yusaku)
 
  AMBARI-1140. Resuming deploy for Installer/Add Hosts does not work if the
  browser is shut down during the start phase of deploy.
  (Arun Kandregula via yusaku)
  
  AMBARI-1120. Key spikes in HDFS IO missing from IO summary graphs.
  (Srimanth Gunturi via yusaku)

  AMBARI-1119. Service Summary pages no longer show service-specific info.
  (Srimanth Gunturi via yusaku)

  AMBARI-1118. Dashboard > HDFS title's free capacity doesn't match summary.
  (Srimanth Gunturi via yusaku)

  AMBARI-1115. Host component live status is broken. (Srimanth Gunturi via
  yusaku)

  AMBARI-1113. Install Wizard: Confirm host stuck at Preparing stage.
  (Arun Kandregula via yusaku)

  AMBARI-1112. Add hosts fails second time around. (Srimanth Gunturi via
  yusaku)

  AMBARI-1111. Install wizard step 9 gets stuck at 0% and other issues on
  page refresh. (Srimanth Gunturi via yusaku)

  AMBARI-1110. After clicking the deploy button on the Add Hosts wizard, the
  user is always taken to the Installer Wizard Step 8 upon login.
  (Arun Kandregula via yusaku)

  AMBARI-1152. Add Hosts wizard - Retry button does not trigger call to
  backend. (yusaku)

  AMBARI-1104. Webhcat configuration not setting templeton-libjars.
  (Jaimin Jetly via yusaku)

  AMBARI-1151. Reconfigure fails silently; it's not firing any API calls due
  to a JS error. (yusaku)

  AMBARI-1098. Switching services does not update various UI elements.
  (Srimanth Gunturi via yusaku)

  AMBARI-1150. Installer Wizard - Retry feature in Deploy step (Step 9) is
  broken. (yusaku)

  AMBARI-1092. dashboard > Summary > capacity pie chart keeps changing colors.
  (Srimanth Gunturi via yusaku)

  AMBARI-1091. 2 parallel requests for service information resulting in JS
  exception. (Srimanth Gunturi via yusaku)

  AMBARI-1090. Restrict user to apply service configuration when custom box
  properties are already exposed on the management config page.
  (Jaimin Jetly via yusaku)

  AMBARI-1149. HIVE_METASTORE needs to be started as a Hive component.
  (yusaku)

  AMBARI-1088. HDFS capacity chart numbers are incorrect. (Srimanth Gunturi
  via yusaku)

  AMBARI-1084. Heatmap displays NaN. (Srimanth Gunturi via yusaku)

  AMBARI-1081. HDFS disk capacity on dashboard is seen as negative number.
  (Srimanth Gunturi via yusaku)

  AMBARI-1148. Fix incorrect labels for configuration parameters. (yusaku)

  AMBARI-1080. Host disk & memory graphs have incorrect values.
  (Srimanth Gunturi via yusaku)

  AMBARI-1077. The value for dead nodes is not getting populated on UI.
  (Srimanth Gunturi via yusaku)

  AMBARI-1073. Remove cluster name entry from top titlebar. (Srimanth Gunturi
  via yusaku)

  AMBARI-1071. Nagios alerts not updating in UI. (Srimanth Gunturi via yusaku)

  AMBARI-1063. Workflow Web Service potentially leaks DB connections upon
  exceptions. (yusaku)

  AMBARI-962. Update of host components fail when service name is not passed
  in. (hitesh via mahadev)

  AMBARI-945. Fix 500 errors on get resources api. (hitesh via mahadev)

  AMBARI-944. Fixes for meta info layer. (hitesh via mahadev)

  AMBARI-913. Fix all apis to return correctly filled status response.
  (hitesh via mahadev)

  AMBARI-999. RUBYLIB env variable expanding forever. (Pramod Thangali via
  mahadev)

  AMBARI-1069. HDFS Disk Capacity in HDFS Service Summary is totally off.
  (Srimanth Gunturi via mahadev)

  AMBARI-1068. Dashboard cluster level graphs showing only 45 minutes of data.
  (Srimanth Gunturi via mahadev)

  AMBARI-1067. Service > MapReduce map slots reserved / occupied are backwards.
  (Srimanth Gunturi via mahadev)

  AMBARI-1057. Can't reset ambari-server due to fail drop/create database DDLs.
  (Tom Beerbower via mahadev)

  AMBARI-1052. UnsupportedPropertyException thrown from update.
  (Tom Beerbower via mahadev)

  AMBARI-1050. Host metric values coming in with 0 values.
  (Tom Beerbower via mahadev)

  AMBARI-1047. Create Configuration API call is throwing 500:
  UnsupportedPropertyException. (Tom Beerbower via mahadev)

  AMBARI-1044. API is not returning Ganglia metrics for one of the hosts
  in the cluster. (Tom Beerbower via mahadev)

  AMBARI-1043. Updates with queries that contain non primary key fields
  may update resources that don't satisfy the query.
  (Tom Beerbower via mahadev)

  AMBARI-1038. Ganglia setup does not allow for subsequent changes to the
  cluster. (Tom Beerbower via mahadev)

  AMBARI-1027. Fix missing block metrics for NAMENODE.
  (Tom Beerbower via mahadev)

  AMBARI-1026. Resolve overlap between JMX and Ganglia metrics.
  (Tom Beerbower via mahadev)

  AMBARI-1020. Start time, end time and resolution not set correctly for
  rrd.py call in Ganglia property. (Tom Beerbower via mahadev)

  AMBARI-1016. Initial API calls after Ambari Web install resulted in 500
  (ArrayIndexOutOfBoundsException); Ambari Web stuck at "Loading..."
  (Tom Beerbower via mahadev)

  AMBARI-1012. Fix race condition in DefaultProviderModule.
  (Tom Beerbower via mahadev)

  AMBARI-1010. Fix extra comma in rrd.py output. (Tom Beerbower via mahadev)

  AMBARI-1005. No Ganglia/JMX metrics data are coming through.
  (Tom Beerbower via mahadev)

  AMBARI-997. Fix HBASE JMX properties. (Tom Beerbower via mahadev)

  AMBARI-994. Host metrics API servlet not filtering on given fields.
  (Tom Beerbower via mahadev)

  AMBARI-988. Update resource drops property values.
  (Tom Beerbower via mahadev)

  AMBARI-969. GET on temporal data throws 500. (Tom Beerbower via mahadev)

  AMBARI-968. Task resources not returned under request resources.
  (Tom Beerbower via mahadev)

  AMBARI-961. Sub-resources and metrics through API are broken.
  (Tom Beerbower via mahadev)

  AMBARI-1046. Heatmap with no numbers on the hover. (Srimanth Gunturi via
  yusaku)

  AMBARI-1045. Service summary sections have incorrect values displayed.
  (Srimanth Gunturi via yusaku)

  AMBARI-1042. Heatmap UI fluctuates between white and green colors
  intermittently. (Srimanth Gunturi via yusaku)

  AMBARI-1032. Host hover in cluster heatmap showing mock data. (Srimanth
  Gunturi via yusaku)
 
  AMBARI-1028. MapReduce & HDFS summaries should use ServiceComponentInfo
  values. (Srimanth Gunturi via yusaku)

  AMBARI-1017. Alerts not showing up in Ambari UI due to model refactoring.
  (Srimanth Gunturi via yusaku)

  AMBARI-1013. Host metrics charts should use live data. (Srimanth Gunturi
  via yusaku)

  AMBARI-1009. Cluster level graphs need to use API for data. (Srimanth
  Gunturi via yusaku)

  AMBARI-1064. App Browser fixes. (yusaku)

  AMBARI-995. Deploy logs not shown for failed tasks. (yusaku)

  AMBARI-992. Logout does not clean application state properly. (yusaku)

  AMBARI-957. Adding a host whose hostname is the same as the one the user 
  is accessing Ambari Web with breaks the Installer. (yusaku)

  AMBARI-953. Fix navigation issues in installer wizard due to regression.
  (Jaimin Jetly via yusaku)

  AMBARI-899. Use slf4j-api 1.5.5 rather than 1.6.6. (yusaku)

  AMBARI-902. Fix ZooKeeper badge allocation logic for single host and 
  muliple hosts installation in step5 installer wizard. (Jaimin Jetly via
  yusaku)

  AMBARI-896. Resolve all navigation related issues for Step6 (Slave and
  Client component) of installer wizard. (Jaimin Jetly via yusaku)

  AMBARI-914. Fix issues related to Slave Component Group in Installer.
  (yusaku)

  AMBARI-909. Pass correct cluster info to Action Manager. (hitesh)

  AMBARI-904. Ensure state changes only happen after actionmanager persists
  actions. (hitesh)

  AMBARI-905. Fix puppet site creation with flattening of execution commands
  send from the server. (mahadev)

  AMBARI-885. Fix miscellaneous issues related to Ambari Web. (yusaku)

  AMBARI-879. Installer skips Confirm Hosts page of the wizard when testing
  locally without Ambari Server. (yusaku)

  AMBARI-878. Various tests for FSM, controller and state objects. (hitesh)

  AMBARI-858. Installer -> Select Services page: warning popups are no longer
  appearing. (yusaku)

  AMBARI-846. Select Masters Page: make ZooKeeper addition/removal UI more
  organized. (Jaimin Jetly via yusaku)

  AMBARI-840. Hitting browser refresh should not clear present step data that 
  had already been persisted to local DB. (Jaimin Jetly via yusaku)

  AMBARI-843. Fix more null pointers for partial request objects. (hitesh)

  AMBARI-842. Fix null point exception during adding of hosts to cluster. (hitesh)

  AMBARI-839. Temporary fix for server start order. (hitesh)

  AMBARI-837. Fix basic injection issues for controller impl. (hitesh)

  AMBARI-836. Fix generation of requestId to be unique across restarts. (hitesh)

  AMBARI-834. Use RoleCommand instead of ServiceComponentHostEventType for HostAction
  in Controller. (hitesh)

  AMBARI-830. Various fixes and tests for controller implementation. (hitesh)

  AMBARI-808. Handle appropriate start/stop/install/.. events at their respective
  failed states. (hitesh)

  AMBARI-798. Fix import issue due to move of Predicate class. (hitesh)

  AMBARI-780. Make FSM related changes for heartbeat handler. (hitesh)

  AMBARI-774. Renable and fix AgentResourceTest. (mahadev) 

  AMBARI-773. Change Host FSM as per new requirements of heartbeat handler. (hitesh)

  AMBARI-753. Fix broken compile as a result of re-factor of FSM layout. (hitesh)

  AMBARI-752. Add missing license header to TestServiceComponentHostState. (hitesh)

  AMBARI-718. Fix installer navigation. (yusaku)

  AMBARI-684. Remove non-required dependencies from pom files (hitesh via jitendra)

  AMBARI-680. Fix pom structure. (hitesh)

