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-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)

