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

 IMPROVEMENTS

 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-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-1795. Add Hosts - retrying install shows all progress bars in red
 and causes the wizard to get stuck on the progress page. (yusaku)

 AMBARI-1794. Add Host install retry shuts down all services in the cluster.
 (yusaku)

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

 AMBARI-1748. JDK option on the UI when used is not passed onto the global 
 parameters. (srimanth)
 
 AMBARI-1463. State of HBase region server not updated when instance is shut down on a cluster not installed via Ambari. (tbeerbower)

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

