# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

Bigtop Changelog

* Release 1.2.0 (unreleased)


* Release 1.1.0 (2016-01-30)

Release Notes - Bigtop - Version 1.1.0

** Sub-task
    * [BIGTOP-1494] - Introduce Groovy DSL to replace bigtop.mk
    * [BIGTOP-1499] - released source code  is not same with source code in branch
    * [BIGTOP-1898] - Dockerfiles to build bigtop/puppet docker images for 1.0 release
    * [BIGTOP-1899] - Migrate CI master to EC2 instance donated by Amazon EMR team
    * [BIGTOP-1901] - Provide bigtop/deploy images on dockerhub for CI and users to consume docker provisioner
    * [BIGTOP-1947] - Fix RAT plugin configuration to be able to RAT-validate all published artifacts
    * [BIGTOP-1959] - Avoid running top-level assembly while doing deploy for subprojects
    * [BIGTOP-1965] - Remove the link to 0.8.0 from the website
    * [BIGTOP-1973] - Add new tests for HDFS Balancer functionality
    * [BIGTOP-1975] - Smoke tests for Spark SQL
    * [BIGTOP-1981] - Add new tests for test, text, count commands
    * [BIGTOP-1983] - Move BigPetStore data generator to bigtop-data-generators
    * [BIGTOP-1984] - Extract samplers library from BigPetStore data generator
    * [BIGTOP-1985] - Extract name generator from BigPetStore data generator
    * [BIGTOP-1986] - Extract location dataset from BigPetStore data generator
    * [BIGTOP-1990] - Add gradle multi-project build files for bigtop-data-generators
    * [BIGTOP-1991] - Add BigTop Weatherman
    * [BIGTOP-1992] - Fix RAT check errors resulting from BPS data generator move
    * [BIGTOP-1995] - Update BigPetStore to use external locations  data
    * [BIGTOP-2000] - Add BigTop Data Generators to maintainers file
    * [BIGTOP-2009] - Add new tests for chgrp, cp, ls, mv, du, put, get, mkdir, stat and touchz
    * [BIGTOP-2025] - Make BOM to be a directional graph
    * [BIGTOP-2033] - Build order of the stack is broken 
    * [BIGTOP-2051] - Get rid of hair-brain environment vars left after make-based build
    * [BIGTOP-2055] - Refactor packages.gradle to get rid of excessive data containers; make code cleaner
    * [BIGTOP-2087] - The 1.0 release package artifacts on Bigtop jenkins is broken due to CI transition
    * [BIGTOP-2096] - ignite-hadoop service should restart upon changes in the package or configs
    * [BIGTOP-2097] - cleaning up the ignite-service
    * [BIGTOP-2104] - Packages upgrade to Spark 1.5.1
    * [BIGTOP-2105] - Puppet recipes improvements after Spark is bumped to 1.5.1
    * [BIGTOP-2107] - Ignite package still shows website at the incubator
    * [BIGTOP-2113] - Spark master doesn&#39;t bind to the host: ignores SPARK_MASTER_IP
    * [BIGTOP-2122] - Add zeppelin packages
    * [BIGTOP-2123] - Add zeppelin Puppet recipes
    * [BIGTOP-2149] - Zeppeling 0.5.5 has been officially released. Change the source ref
    * [BIGTOP-2154] - spark-shell doesn&#39;t start anymore without Hive libs in the classpath
    * [BIGTOP-2166] - Zeppelin shouldn&#39;t be build against constant version of Ignite
    * [BIGTOP-2167] - Zeppelin interpreter list doesn&#39;t include Ignite
    * [BIGTOP-2169] - Zeppeling has more upstream dependencies
    * [BIGTOP-2174] - Bump up ignite-hadoop version to the latest 1.5.0-b1
    * [BIGTOP-2185] - Exclude Zeppelin interpreter.json from RAT check
    * [BIGTOP-2219] - Comb the smoke-tests to make code base easier for refactoring
    * [BIGTOP-2226] - Remove gradle wrapper folder in smoke-tests
    * [BIGTOP-2234] - TestBlockRecovery incorrectly fails on a single node cluster
    * [BIGTOP-2235] - Allow smoke-tests to use filename regexps instead of explicite listings
    * [BIGTOP-2245] - TestFuseHCFS might fall on &#39;+&#39; op. involving String and GString; class name is wrong
    * [BIGTOP-2267] - Zeppeling 0.5.6 is out; let&#39;s bump it in our stack
    * [BIGTOP-2271] - Update maven rat config to match one from gradle
    * [BIGTOP-2277] - release assembly needs to include bigtop_toolchain
    * [BIGTOP-2278] - Wrap separate maven release steps into convenient gradle task

** Bug
    * [BIGTOP-1022] - Giraph build script should also specify ZooKeeper, HBase, and Hive versions
    * [BIGTOP-1318] - Consider not forking compute-classpath.sh for spark
    * [BIGTOP-1344] - spec files assume RPMs being built on Red Hat
    * [BIGTOP-1352] - Refactor puppet code for installing JDK7
    * [BIGTOP-1658] - puppet recipe updates for latest spark (1.3+ )
    * [BIGTOP-1690] - Puppet should automatically create data directories
    * [BIGTOP-1789] - Spark 1.3.0 incompatible with Hive 1.1.0
    * [BIGTOP-1805] - Upgrade Hadoop to 2.7 if released
    * [BIGTOP-1838] - Pig build does not publish artifacts of build
    * [BIGTOP-1877] - Upgrade Crunch to 0.12.0
    * [BIGTOP-1886] - Kafka server can not create a log-cleaner.log file
    * [BIGTOP-1892] - Current required version of gradle 2.4 is not used everywhere
    * [BIGTOP-1893] - Compilation of hadoop-yarn-client failed 
    * [BIGTOP-1894] - Snappy development packages are missing from bigtop_toolchain
    * [BIGTOP-1896] - bigtop_toolchain broken bei ant update
    * [BIGTOP-1902] - typo in bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml
    * [BIGTOP-1905] - Update Hue build for the upcoming 3.9 release
    * [BIGTOP-1909] - Include compiled .mo files for HUE i18n
    * [BIGTOP-1913] - Update hive to 1.2.1
    * [BIGTOP-1916] - Update Website for 1.0
    * [BIGTOP-1917] - Simplify gradle creating apt/yum repositories for better CI 
    * [BIGTOP-1936] - Provide JDK8 for Bigtop
    * [BIGTOP-1937] - redhat-lsb is required by kafka daemon
    * [BIGTOP-1938] - kafka packages /usr/bin on RPM 
    * [BIGTOP-1940] - Consider removing tests expecting &#39;sudo&#39; from skip-list
    * [BIGTOP-1946] - Missing ASL header in some of iTest files
    * [BIGTOP-1948] - Need to upgrade groovy-eclipse-batch as it keeps pulling from non-existing repo
    * [BIGTOP-1949] - Sqoop 1.4.5 artifacts aren&#39;t getting resolved in the release...
    * [BIGTOP-1950] - Upgrade maven-assembly plugin: StackOverFlowException is thrown
    * [BIGTOP-1951] - Fix licenses in the source files
    * [BIGTOP-1954] - Change the component name in the MAINTAINERS.txt
    * [BIGTOP-1956] - Multi RS HBase requires unique hbase.tmp.dir to be set for each RS on a node
    * [BIGTOP-1958] - Upgrade default repositories and docker images to 1.0
    * [BIGTOP-1960] - The smoke-test wrapper in bigtop-deploy can only be used in redhat series of Linux
    * [BIGTOP-1963] - Upgrade Mahout to 0.11.0
    * [BIGTOP-1966] - site&#39;s index.xml is malformatted
    * [BIGTOP-1967] - Update the front-page of the website with new CI hostname
    * [BIGTOP-1987] - Recover resources/kmeans_data.txt for Spark smokes
    * [BIGTOP-1996] - Dockerfiles for bigtop-slaves
    * [BIGTOP-1999] - website link to the release bits is broken and points to the top-level mirror&#39;s directory
    * [BIGTOP-2003] - Bigtop puppet fails to deploy on Ubuntu due to a hiera 1.3.0 bug
    * [BIGTOP-2004] - Download task fails with Gradle 2.6
    * [BIGTOP-2007] - bigtop.mk version of the stack needs to be bumped to 1.1.0-SNAPSHOT
    * [BIGTOP-2008] - build.gradle has out-of-date version
    * [BIGTOP-2014] - [VM provisioner] Missing FQDN on Ubuntu causes puppet deployment malfunction
    * [BIGTOP-2016] - tez does not build on opensuse
    * [BIGTOP-2017] - Rebase bigtop-slaves on bigtop-puppet
    * [BIGTOP-2019] - BigPetStore Spark isn&#39;t compiling due to changes in SQL API
    * [BIGTOP-2026] - Phoenix build defines HBASE_VERSION in two different places.
    * [BIGTOP-2027] - Bump gradle version, the wrapper to 2.7
    * [BIGTOP-2028] - Enhance puppet config of zookeeper to support kerberized clients
    * [BIGTOP-2032] - Tez install does not set up tez jars on hdfs causing Pig to fail
    * [BIGTOP-2037] - BIGTOP-1746 Added Files Without Apache License Headers
    * [BIGTOP-2038] - Pig destination name incorrect
    * [BIGTOP-2039] - Solr download URL is incorrect
    * [BIGTOP-2040] - Mahout can not be build with Maven 3.0.5 - build containers need to be upgraded
    * [BIGTOP-2041] - Spark pkg name is incorrect
    * [BIGTOP-2042] - Tachyon name is incorrect
    * [BIGTOP-2043] - Kafka source incorrect
    * [BIGTOP-2044] - Unnecessary printout has been introduced by BIGTOP-1494
    * [BIGTOP-2046] - puppet module search path
    * [BIGTOP-2050] - Description of clean tasks have null entries
    * [BIGTOP-2052] - Remove obsolete environment variables
    * [BIGTOP-2053] - After rebasing on Hadoop 2.7.1 yarn module should be returned to ignite-hadoop build
    * [BIGTOP-2054] - Update Pig
    * [BIGTOP-2056] - Remove top-level check-env.sh
    * [BIGTOP-2057] - null check doesn&#39;t safeguard against non-existing values in the BOM config
    * [BIGTOP-2059] - Bump Ignite to 1.4
    * [BIGTOP-2061] - toolchain is failing because add-apt-repository command isn&#39;t available off-hand
    * [BIGTOP-2062] - cluster.yaml declares undefined vars; apply is broken
    * [BIGTOP-2066] - init-hdfs.sh is broken by recent hadoop update
    * [BIGTOP-2068] - Cannot Build Bigtop-Utils packages
    * [BIGTOP-2071] - Gstring.empty doesn&#39;t exist
    * [BIGTOP-2074] - spark-worker doesn&#39;t start during deploy from master
    * [BIGTOP-2082] - Remove x86 Assembler Code from zookeeper
    * [BIGTOP-2083] - smoke-tests are still on hadoop 2.6.0
    * [BIGTOP-2084] - rename all puppet modules to have an underscore rather a dash 
    * [BIGTOP-2085] - gradle toolchain should install necessary puppet modules
    * [BIGTOP-2086] - Install essential puppet modules along with puppet itself
    * [BIGTOP-2088] - Support protobuf installation for OPENPOWER
    * [BIGTOP-2089] - Fix bigtop.sh generation
    * [BIGTOP-2090] - Remove left-over junk after BIGTOP-2053
    * [BIGTOP-2094] - ignite-hadoop fails to deploy after BIGTOP-2084
    * [BIGTOP-2098] - Update bigtop_deploy to current state of puppetize.sh
    * [BIGTOP-2114] - hive is broken after BIGTOP-2104
    * [BIGTOP-2115] - phoenix is broken after BIGTOP-2104
    * [BIGTOP-2120] - opensuse: Hue packages are broken after BIGTOP-1905
    * [BIGTOP-2121] - Missing &#39;:&#39; in bigtop::roles description
    * [BIGTOP-2126] - Fix default repo locations in the deployment site.pp
    * [BIGTOP-2127] - opensuse: fix kerberos python module
    * [BIGTOP-2128] - ignite-hadoop man page still refers to the Incubator
    * [BIGTOP-2131] - [Docker] bigtop slaves images should be built without cache
    * [BIGTOP-2139] - crunch compile fails with Insufficient memory on POWER
    * [BIGTOP-2140] - hbase compile fails with Insufficient memory on POWER
    * [BIGTOP-2144] - Update default repos in Bigtop Provisioner
    * [BIGTOP-2147] - Minor nits in bigpetstore-spark/README.md
    * [BIGTOP-2148] - generator.SparkDriver outputs empty data in cluster mode
    * [BIGTOP-2150] - Reversing directional build behavior 
    * [BIGTOP-2152] - Fix conflict with libressl-devel from mysql-devel
    * [BIGTOP-2155] - Fix Hue 3.9.0 build failed on Fedora
    * [BIGTOP-2156] - Fix Sqoop 1.4.5 build failed on OpenSuSE
    * [BIGTOP-2159] - unable to build RPM for zeppelin
    * [BIGTOP-2162] - phoenix-core-*-tests.jar should be located at $PHOENIX_HOME
    * [BIGTOP-2168] - A erroneous typo in FailureVars#loadProps method
    * [BIGTOP-2171] - shared gradle directory on slave containers should be writable for non-root users
    * [BIGTOP-2172] - get rid of gradlew inside of subprojects
    * [BIGTOP-2173] - smoke-tests need to pass-through system properties
    * [BIGTOP-2175] - BIGTOP_HOME should be either asserter or replaced with setup logic
    * [BIGTOP-2176] - Package version of ignite-hadoop has illegal &quot;-&quot; character
    * [BIGTOP-2177] - Build dependecies list has wrong component name for ignite
    * [BIGTOP-2181] - Setting Ignite version to use &#39;.&#39; broke Zeppelin build.
    * [BIGTOP-2187] - toolchain creates user with different ids on different systems
    * [BIGTOP-2188] - bigtop/puppet:ubuntu-14.04 image does not support ppc64le 
    * [BIGTOP-2189] - bigtop/slave:ubuntu-14.04 image does not support ppc64le 
    * [BIGTOP-2190] - libprotobuf8 2.5.0 installation fails on ubuntu 14.04 for ppc64le
    * [BIGTOP-2191] - openjdk-7 is missing in bigtop/slave:ubuntu-14.04-ppc64le docker image 
    * [BIGTOP-2196] - Docker configuration for ubuntu-15.04-ppc64le
    * [BIGTOP-2198] - adding bigtop/slaves:ubuntu-15.04 support for ppc64le
    * [BIGTOP-2199] - Add change introduced by BIGTOP-2171
    * [BIGTOP-2200] - Fix download path for protobuf ubuntu-15.04 on ppc64le
    * [BIGTOP-2201] - Fix BIGTOP-2200 again
    * [BIGTOP-2215] - Enable autopurge in zookeeper
    * [BIGTOP-2221] - rpmbuild is missing in bigtop/slaves:trunk-opensuse-13.2 docker image
    * [BIGTOP-2222] - Hadoop do-component-build should pull in and use BOM
    * [BIGTOP-2223] - .dockerignore doesn&#39;t have ASL header
    * [BIGTOP-2236] - GRADLE_USER_HOME should be set for bigtop/slaves images only
    * [BIGTOP-2237] - Nullify the standard output when generating gradle cache 
    * [BIGTOP-2238] - Provisioner should propagate hdfs ssh keys for testing
    * [BIGTOP-2240] - add -XX:PermSize=1024m -XX:MaxPermSize=1024m to build environment
    * [BIGTOP-2242] - Running ./gradlew should only require JAVA_HOME for test task
    * [BIGTOP-2243] - :itest-common:test is broken without JAVA_HOME being set
    * [BIGTOP-2244] - CI provisioner tests are failing after BIGTOP-2227 change
    * [BIGTOP-2246] - Add smoke tests for HCFS
    * [BIGTOP-2247] - Expand HDFS smoke test suite
    * [BIGTOP-2252] - provisional hdfs ssh keys couldn&#39;t be found during deployment
    * [BIGTOP-2255] - bigtop/deploy:ubuntu-15.04 image does not support ppc64le
    * [BIGTOP-2256] - Promote return codes from docker to the CI while building images
    * [BIGTOP-2272] - moved hdfs ssh key are failing rat check
    * [BIGTOP-2275] - Update configuration files for jsvc
    * [BIGTOP-2276] - Zeppeling added war_tempdir location, which needs to be set
    * [BIGTOP-2281] - Add HIVE-12875 to Bigtop
    * [BIGTOP-2288] - Hadoop time-server fails to start 
    * [BIGTOP-2299] - test resources are breaking rat

** Improvement
    * [BIGTOP-1126] - Add Hama to Bigtop
    * [BIGTOP-1131] - Update Build Requirements on our web pages
    * [BIGTOP-1309] - Gradle environment overhaul
    * [BIGTOP-1443] - Update front page of website
    * [BIGTOP-1809] - Remove gridgain-hadoop component once ignite-hadoop gets added
    * [BIGTOP-1888] - Upgrade Flume to 1.6.0
    * [BIGTOP-1908] - Move bigtop-deploy&#39;s dockerfiles into a centralized docker place
    * [BIGTOP-1910] - Adjust the dependency for hue-beeswax
    * [BIGTOP-1914] - improve puppet README.md file
    * [BIGTOP-1915] - Upgrade Oozie to 4.2.0
    * [BIGTOP-1920] - Include YCSB in Bigtop
    * [BIGTOP-1921] - Puppet recipe for YCSB
    * [BIGTOP-1923] - Bump Ignite to 1.2 with major fixes
    * [BIGTOP-1941] - Upgrade Phoenix to 4.4.0
    * [BIGTOP-1942] - Upgrade Phoenix to 4.6.0
    * [BIGTOP-1943] - Upgrade SCALA version to 2.10.4
    * [BIGTOP-1944] - Upgrade Spark version to 1.5.1
    * [BIGTOP-1955] - Upgrade Ignite Hadoop component version from 1.2.0 to 1.3.0
    * [BIGTOP-1964] - Upgrade Tez version to 0.6.2
    * [BIGTOP-1970] - Ignite IGFS now fully supports mutiltenancy: deployment should configure it with HDFS backing
    * [BIGTOP-1971] - Support Spark SQL CLI with Apache Hive out of the box
    * [BIGTOP-1974] - Revise SPARK_HOME/conf/spark-env.sh
    * [BIGTOP-1993] - Bump groovy to 2.4.4 in the development toolchain
    * [BIGTOP-1997] - Bump bigtop-groovy runtime to 2.4.4
    * [BIGTOP-1998] - Toolchain installer needs to switch from CGI to Lua mirror selection
    * [BIGTOP-2005] - Remove SCALA_HOME requirement
    * [BIGTOP-2018] - Create a puppetizing script
    * [BIGTOP-2020] - Add Gradle RAT plugin to the top-level project
    * [BIGTOP-2063] - Provide default config to deploy hive on top of Ignite
    * [BIGTOP-2065] - Update deployment README.md to reflect on better deployment experience
    * [BIGTOP-2080] - Investigate removing Scala from the toolchain
    * [BIGTOP-2081] - implement a nexus docker container for CI
    * [BIGTOP-2091] - Build ignite-hadoop assembly with specific version of Spark
    * [BIGTOP-2102] - Upgrade YCSB to 0.4.0
    * [BIGTOP-2103] - [Docker] Move bigtop/slaves image build to gradle
    * [BIGTOP-2110] - [Docker] Cache packages required by gradle to execute into bigtop/slaves images
    * [BIGTOP-2119] - Bump Mahout version to 0.11.1
    * [BIGTOP-2141] - Have a way to specify alternative BOM file in the build time
    * [BIGTOP-2142] - Source cleanup: bigtop-repos shouldn&#39;t be top-level.
    * [BIGTOP-2143] - [Puppet] Automatically generate default repo
    * [BIGTOP-2153] - Simplify and complete storage dir creation
    * [BIGTOP-2163] - Add a phoenix-pherf sub-package for Phoenix
    * [BIGTOP-2164] - Phoenix Queryserver should write it&#39;s logs into /var/log/phoenix/
    * [BIGTOP-2192] - Start generating ubuntu-14.04 deployment image
    * [BIGTOP-2194] - Add Ubuntu configuration to the docker provisioner
    * [BIGTOP-2239] - Smoke tests should have a single location for logger configuration
    * [BIGTOP-2259] - Check for smoke-test projects should be generalized 

** New Feature
    * [BIGTOP-1149] - Package Kite
    * [BIGTOP-1746] - Introduce the concept of roles in bigtop cluster deployment
    * [BIGTOP-1769] - Zeppelin Integration
    * [BIGTOP-1976] - Replace Pair type with Apache Commons Lang Pair type

** Task
    * [BIGTOP-1701] - Upgrade to Hive 1.1.0
    * [BIGTOP-1795] - Upgrade bigtop_toolchain to Maven 3.2.5
    * [BIGTOP-1821] - Add smoke tests for Ignite Hadoop Bigtop module
    * [BIGTOP-1897] - Umbrella JIRA for CI overhaul
    * [BIGTOP-1925] - Add ywkim as a maintainer for YCSB
    * [BIGTOP-1953] - Upgrade bigtop_toolchain to Maven 3.3.3
    * [BIGTOP-2069] - Update README.md to reflect CTR trial
    * [BIGTOP-2078] - Define Bigtop 1.1 release BOM
    * [BIGTOP-2146] - Upgrade bigtop toolchain ant version to 1.9.6
    * [BIGTOP-2214] - Bump up ignite-hadoop version to the latest stable 1.5.0.final
    * [BIGTOP-2297] - Update provisioner pointers to (future) 1.1 release repos

** Test
    * [BIGTOP-2158] - Update README.md to reflect the acceptance of CTR model
    * [BIGTOP-2232] - Add smoke tests for HDFS
    * [BIGTOP-2249] - Add YARN smoke tests


* Release 1.0.0 (2015-05-29)

Release Notes - Bigtop - Version 1.0.0

** Sub-task
    * [BIGTOP-1105] - Fix lintian errors in the hadoop package
    * [BIGTOP-1334] - Add DFS tests to TestCLI
    * [BIGTOP-1392] - Hive basic smoke test fails
    * [BIGTOP-1461] - Add a simple Hive validation to smoke-tests.
    * [BIGTOP-1465] - Include Sqoop1 in bigtop 0.9
    * [BIGTOP-1468] - Include zookeeper 3.4.6
    * [BIGTOP-1486] - Upgrade Hue to 3.7
    * [BIGTOP-1535] - Add Spark ETL script to BigPetStore
    * [BIGTOP-1537] - [BigPetStore] Add  Spark Product Recommender example
    * [BIGTOP-1543] - hive-0.14 in bigtop
    * [BIGTOP-1550] - Spark update to 1.1.0
    * [BIGTOP-1563] - Puppet deployment needs to setup user hdfs keys for password-less logins
    * [BIGTOP-1571] - Remove Whirr from the BOM
    * [BIGTOP-1594] - Upgrade Pig to 0.14.0
    * [BIGTOP-1609] - Use openjdk7 for CentOS
    * [BIGTOP-1615] - Tests dependencies are on old Hadoop versions (2.3.0, 2.4.1)
    * [BIGTOP-1632] - Support JMX monitoring when multiple HBase RS is brought up in a node
    * [BIGTOP-1649] - Upgrade Apache Flume to 1.5.2
    * [BIGTOP-1707] - Upgrade Hadoop to 2.6.0
    * [BIGTOP-1727] - Fix a build failure for Spark 1.2.1
    * [BIGTOP-1728] - jackson dependency management for Spark 1.2.1 and  Hadoop 2.6.0
    * [BIGTOP-1738] - Update HBase because javadoc broken
    * [BIGTOP-1765] - Bump the stack version to 1.0
    * [BIGTOP-1768] - Use openjdk in ubuntu14, Remove references to jdk6 
    * [BIGTOP-1842] - Remove gridgain-hadoop from BOM
    * [BIGTOP-1899] - Migrate CI master to EC2 instance donated by Amazon EMR team
    * [BIGTOP-1900] - Upgrade bigtop/slaves images on bigtop's dockerhub
    * [BIGTOP-1901] - Provide bigtop/deploy images on dockerhub for CI and users to consume docker provisioner
    * [BIGTOP-1947] - Fix RAT plugin configuration to be able to RAT-validate all published artifacts

** Bug
    * [BIGTOP-894] - Pig compilation fails on RPM systems on Bigtop trunk
    * [BIGTOP-965] - IntegrationTestHiveSmokeBulk not being run
    * [BIGTOP-972] - fix packagetest package remove logic
    * [BIGTOP-977] - hive smoke tests are full of internal infrastructure details irrelevant to Bigtop
    * [BIGTOP-1050] - Permissions on YARN LCE should be 4754
    * [BIGTOP-1104] - Fix lintian errors
    * [BIGTOP-1121] - implement tests for HDFS snapshots
    * [BIGTOP-1135] - Hue has google analytics enabled by default
    * [BIGTOP-1194] - redhat-lsb-core is sufficient in spec files
    * [BIGTOP-1277] - Remove Windows files from unix packaging
    * [BIGTOP-1287] - Mahout smokes : Remove dirchlet/meanshift clustering
    * [BIGTOP-1327] - bigpetstore.arch is out of date
    * [BIGTOP-1356] - Generate hive.install on the fly
    * [BIGTOP-1357] - Get rid of HCatalog packaging code
    * [BIGTOP-1381] - Datafu and Spark .deb build is broken 
    * [BIGTOP-1384] - Implement Gradle Wrapper for smoke tests and cleanup.
    * [BIGTOP-1395] - Simplifying non-component versions evaluation
    * [BIGTOP-1445] - Pig fails with clean .ivy and .m2
    * [BIGTOP-1446] - Spark fails with clean .m2
    * [BIGTOP-1451] - smoke-tests (gradle based) Mahout need to run a real smoke test.
    * [BIGTOP-1457] - Hue do-component-build does not set version properly
    * [BIGTOP-1458] - Maven build severly broken 
    * [BIGTOP-1459] - Remove hadoop-client jar from packages that bundle it
    * [BIGTOP-1460] - maven dependencies broken
    * [BIGTOP-1462] - Failed to build spark by gradle
    * [BIGTOP-1467] - version of hadoop-auth in oozie is wrong 
    * [BIGTOP-1472] - Hadoop RPM build is broken after BIGTOP-1462
    * [BIGTOP-1487] - Documentation for use case and deployment models for failure tests.
    * [BIGTOP-1488] - bigtop_toolchain hardcode the apache mirror sites for downloading maven
    * [BIGTOP-1490] - Adding GridGain to BigTop
    * [BIGTOP-1491] - Update docker-puppet README 
    * [BIGTOP-1497] - Add tachyon to bigtop 
    * [BIGTOP-1502] - Improve puppet deployment for new gridgain component
    * [BIGTOP-1504] - Bigtop docker provision does not work on mac
    * [BIGTOP-1506] - bigtop-utils won't detect JAVA_HOME in some cases
    * [BIGTOP-1508] - fix Puppet warnings under Puppet 3 
    * [BIGTOP-1509] - Update deployment README after BIGTOP-1047
    * [BIGTOP-1511] - TestCLI: make TestCLI compatible with Hadoop 2.4 (HADOOP-8691)
    * [BIGTOP-1513] - FailureExecutor.groovy is in the wrong module, causing compiler errors.
    * [BIGTOP-1521] - Bigtop smoke-tests hierarchy and fast failure
    * [BIGTOP-1522] - nodemanager deployment needs to include hadoop-mapreduce package
    * [BIGTOP-1523] - Gradle install for test artifacts uses wrong sequence of the targets
    * [BIGTOP-1524] - FailureExecutor  breaks smoke tests : Smoke tests should run from source
    * [BIGTOP-1526] - property file for FailureVars can not be placed to {{/}}
    * [BIGTOP-1534] - Update README.md to reflect new build system and other changes
    * [BIGTOP-1541] - Support Debian jessie in Bigtop_toolchain; cleanup of pp files
    * [BIGTOP-1542] - Debian Packages will not build
    * [BIGTOP-1544] - [BigPetStore] Use of java.io.File and check for directory existence will fail with non-POSIX DFSs (HDFS, S3, etc.)
    * [BIGTOP-1548] - hue uses snapshot dependency to removed snapshot
    * [BIGTOP-1549] - spark compile broken
    * [BIGTOP-1551] - build stops because gradle does not handle symlinks well
    * [BIGTOP-1553] - puppet installation fails when components value is a single item instead of a list
    * [BIGTOP-1554] - bigtop-deploy/puppet/config/site.csv was wrongfully committed.
    * [BIGTOP-1562] - Critical tachyon pupet improvements.
    * [BIGTOP-1564] - docker-puppet doesn't use vagrantconfg.yaml for configuration parameters
    * [BIGTOP-1566] - Puppet README file needs to reflect multiple modules directoty requirement
    * [BIGTOP-1567] - puppet cannot install components whatever given to it
    * [BIGTOP-1568] - bigtop01 needs gradle
    * [BIGTOP-1570] - docker-puppet fails to deploy due to stdlib can not be found
    * [BIGTOP-1574] - Phoenix packaging requires build and classpath changes after PHOENIX-1455
    * [BIGTOP-1579] - Implement patching for Bigtop
    * [BIGTOP-1580] - Improve Bigtop Toolchain: Versioning of Packages
    * [BIGTOP-1585] - test artifacts tasks include extra tasks for nonexisting components
    * [BIGTOP-1586] - BigPetStore-Spark only works on the East Coast .
    * [BIGTOP-1587] - Fix typos in install-tomcat.sh
    * [BIGTOP-1588] - Current Bigtop Pig does not build because of API Change in Hive
    * [BIGTOP-1589] - Prioritization is broken in bigtop-detect-javahome
    * [BIGTOP-1592] - Integration test IntegrationTestClusterFailures is failing
    * [BIGTOP-1596] - bigtop build fails because it tries to write to forrest installation
    * [BIGTOP-1604] - Create a MAINTAINERS.txt File
    * [BIGTOP-1605] - Tachyon RPM does not depend on bigtop utils
    * [BIGTOP-1606] - Tachyon webapp directory not located where expected
    * [BIGTOP-1610] - Fix /etc/profile.d/bigtop.sh scripts 
    * [BIGTOP-1611] - mahoutsmokes aren't compiling
    * [BIGTOP-1618] - iTest integration tests need only to be bound to verify goal
    * [BIGTOP-1620] - Hadoop deb Packages for architecture "all" containing binaries
    * [BIGTOP-1626] - Add bmahe as a maintainer for Apache Flume
    * [BIGTOP-1633] - Pig compile fails again 
    * [BIGTOP-1635] - hue compile on vanilla debian
    * [BIGTOP-1636] - Missing patches and files for hue
    * [BIGTOP-1639] - Add Olaf Flebbe to dev list
    * [BIGTOP-1642] - Restructure and enhance toolchain
    * [BIGTOP-1652] - Fix BigPetStore-Spark Data format regression
    * [BIGTOP-1654] - change some hadoop puppet variables from local to node scope
    * [BIGTOP-1656] - add tez variables to hadoop-env.sh
    * [BIGTOP-1657] - bigtop-deploy puppets to support tez
    * [BIGTOP-1660] - Upgrade to Hive-1.0
    * [BIGTOP-1662] - puppet: Fix hadoop configuration file incompleteness due to hiera conversion
    * [BIGTOP-1663] - TestHadoopSmoke is failing because of improper set-up
    * [BIGTOP-1665] - Update Wiki pages on how to develop and build Bigtop
    * [BIGTOP-1668] - puppet: Adjust kerberos module for current Debian
    * [BIGTOP-1669] - puppet: Hadoop: Separate dependencies on Kerberos keytabs
    * [BIGTOP-1677] - Tez packaging is still failing
    * [BIGTOP-1678] - Use openjdk7 for AmazonLinux
    * [BIGTOP-1687] - Puppet: fix wrong array representation for hadoop-zookeeper::server::ensemble
    * [BIGTOP-1694] - puppet: Make httpfs subscribe to core-site and hdfs-site
    * [BIGTOP-1699] - sqoop does not build on debian
    * [BIGTOP-1703] - Limt override of JAVA_OPTS in install_solr.sh to cause minimal side-effects
    * [BIGTOP-1706] - Make TestBlockRecovery runnable under all users
    * [BIGTOP-1710] - Spark 1.1.0 does not build for DEB
    * [BIGTOP-1711] - add packages to compile hue
    * [BIGTOP-1712] - Specification for Docker images.
    * [BIGTOP-1722] - upgrade tachyon to 0.6.0
    * [BIGTOP-1723] - update Tachyon Maintainers
    * [BIGTOP-1724] - Update centos vagrant box 
    * [BIGTOP-1729] - Install Hive has typo in HCATALOG option
    * [BIGTOP-1731] - Gradle mustRunAfter doesn't work is expected
    * [BIGTOP-1732] - remove has_ssh in Docker provisioner
    * [BIGTOP-1733] - fix local_yum implementation
    * [BIGTOP-1745] - Add Mark Grover as committer on the website
    * [BIGTOP-1748] - Remove assert on fs.trash.interval from TestCLI and TestDFSCLI
    * [BIGTOP-1751] - Puppet deployment ignores bigtop_repo_uri variable
    * [BIGTOP-1756] - Add HADOOP_MAPRED_HOME property to common
    * [BIGTOP-1757] - bigtop_toolchain has to differentiate between centos6 and centos7
    * [BIGTOP-1758] - Remove redundant property checks from TestHadoopExamples
    * [BIGTOP-1761] - Delete testConf.xml from hadoop-smoke resources 
    * [BIGTOP-1763] - Handle broken symlinks when copying jars
    * [BIGTOP-1764] - Fix copying mapreduce jars to HDFS for Oozie
    * [BIGTOP-1774] - Update mailing list page
    * [BIGTOP-1775] - Fix typos and mistakes on mailing list page
    * [BIGTOP-1776] - Resolve an warning on packaging Hadoop RPM
    * [BIGTOP-1778] - spark-1.3.0 broke hive
    * [BIGTOP-1779] - giraph compile broken
    * [BIGTOP-1780] - bigtop_toolchain: JAVA_HOME incorrect, remove JAVA6_HOME
    * [BIGTOP-1781] - tachyon fails to build
    * [BIGTOP-1790] - Top level menu says 'Power By' - needs to be fixed
    * [BIGTOP-1793] - bigtop_toolchain: remove JAVA_HOME/bin from PATH
    * [BIGTOP-1798] - init-hdfs.sh uses groovy but no dependency in package description given
    * [BIGTOP-1804] - Not again: srpm target fails on SUSE
    * [BIGTOP-1808] - hive 1.0.0 : kerberos does not work correctly
    * [BIGTOP-1810] - Spark thriftserver service does not indicate success
    * [BIGTOP-1812] - fix bps pig integration test
    * [BIGTOP-1813] - Create /user/hbase HDFS directory
    * [BIGTOP-1814] - Puppet deployment code needs to work with ignite-hadoop component
    * [BIGTOP-1815] - Tez build is broken in the container
    * [BIGTOP-1816] - Puppet deploy is broken on Ubuntu
    * [BIGTOP-1817] - bigtop-utils deb is missing  init-hcfs.groovy file
    * [BIGTOP-1818] - ignite-hadoop-service debian is missed; causing Puppet deploy to fail
    * [BIGTOP-1824] - Tachyon master and worker daemon script does not work propertly
    * [BIGTOP-1827] - Tachyon package name conflict on Debian/Ubuntu
    * [BIGTOP-1828] - Puppet: Tachyon does not get formatted before tachyon daemons are started up
    * [BIGTOP-1830] - Move apache-forrest installation from  bigtop_toolchain to pig compile
    * [BIGTOP-1832] - hdfs-site.xml: update shortcut reader and remove obsolete shortcut reader users
    * [BIGTOP-1833] - Bump Ignite to 1.1.0
    * [BIGTOP-1835] - Update project RDF file
    * [BIGTOP-1839] - Building RPM for Zookeeper 3.4.6 is broken
    * [BIGTOP-1840] - datafu does not pick up pig dependency from local repository
    * [BIGTOP-1841] - toolchain can not set java correctly in fedora
    * [BIGTOP-1845] - toolchain can not drop bigtop.sh in fedora because of puppet syntax error
    * [BIGTOP-1848] - spark deb packages broken
    * [BIGTOP-1849] - toolchain can not set java home correctly in CentOS 7
    * [BIGTOP-1850] - Update Hue to 3.8
    * [BIGTOP-1853] - Phoenix build does not properly override Hadoop version property
    * [BIGTOP-1855] - Remove Obsolete Jobtracker settings from mapred-site.xml
    * [BIGTOP-1857] - Support yarn-built-in proxy
    * [BIGTOP-1859] - Unable to build Hue packages on Amazon Linux
    * [BIGTOP-1860] - ignite-hadoop release URL should point to apache dist server, not a mirror
    * [BIGTOP-1861] - giraph does not build
    * [BIGTOP-1865] - circular dependency between bigtop-groovy and bigtop-utils
    * [BIGTOP-1866] - openssl-devel is required by hue RPM package
    * [BIGTOP-1867] - Upgrade Gradle version to 2.4
    * [BIGTOP-1868] - Address the custom 'clean' warning 
    * [BIGTOP-1869] - Hue 3.8.1 refinements
    * [BIGTOP-1870] - Latest version of Puppet::Apt doesn't work for our deployment recipes
    * [BIGTOP-1872] - Improve HUE puppet recipies
    * [BIGTOP-1874] - HBase build failed due to Codehaus repository is out of service
    * [BIGTOP-1875] - Oozie build failed due to Codehaus repository is out of service
    * [BIGTOP-1876] - Update puppet recipes for Sqoop2
    * [BIGTOP-1879] - vagrant-puppet-vm is broken
    * [BIGTOP-1886] - Kafka server can not create a log-cleaner.log file
    * [BIGTOP-1893] - Compilation of hadoop-yarn-client failed
    * [BIGTOP-1894] - Snappy development packages are missing from bigtop_toolchain
    * [BIGTOP-1896] - bigtop_toolchain broken bei ant update
    * [BIGTOP-1902] - typo in bigtop-deploy/vm/vagrant-puppet-vm/vagrantconfig.yaml
    * [BIGTOP-1916] - Update Website for 1.0
    * [BIGTOP-1937] - redhat-lsb is required by kafka daemon
    * [BIGTOP-1938] - kafka packages /usr/bin on RPM
    * [BIGTOP-1946] - Missing ASL header in some of iTest files
    * [BIGTOP-1949] - Sqoop 1.4.5 artifacts aren't getting resolved in the release...
    * [BIGTOP-1950] - Upgrade maven-assembly plugin: StackOverFlowException is thrown
    * [BIGTOP-1951] - Fix licenses in the source files
    * [BIGTOP-1958] - Upgrade default repositories and docker images to 1.0

** Improvement
    * [BIGTOP-1047] - Support Puppet 3.x
    * [BIGTOP-1204] - Add support for AmazonLinux
    * [BIGTOP-1235] - Speed-up init-hdfs.sh for complete HCFS compliant provisioning
    * [BIGTOP-1275] - BigPetStore: Add all 50 states
    * [BIGTOP-1301] - Groovy 2.3.0 is out! Let's bundle it into the stack
    * [BIGTOP-1325] - Update TestHDFSCLI to include tests from upstream
    * [BIGTOP-1366] - Updated, Richer Model for Generating Data for BigPetStore 
    * [BIGTOP-1388] - Use cluster failure tests during other tests with command line parametrization
    * [BIGTOP-1414] - Add Apache Spark implementation to BigPetStore
    * [BIGTOP-1423] - Add Groovy installation to the bigtop_toolchain
    * [BIGTOP-1449] - Add RC Testing support to vagrant recipe
    * [BIGTOP-1450] - Eliminate broken hive test artifacts in favor of smoke-tests.
    * [BIGTOP-1478] - Start tomcat watchdog as part of solr init scripts
    * [BIGTOP-1481] - Log files are cluttered with messages from tar
    * [BIGTOP-1484] - Include python in toolchain
    * [BIGTOP-1489] - move the tomcat_watchdog code out of install_solr.sh into a separate file in bigtop-utils in order to facilitate reusability
    * [BIGTOP-1495] - Remove make build system
    * [BIGTOP-1498] - Add RC Testing to Docker based Bigtop provisioner
    * [BIGTOP-1501] - come up with a way to use Jenkins plugins/Groovy console to create jobs
    * [BIGTOP-1510] - Minor README update aboud bigtop-deploy
    * [BIGTOP-1517] - refactor vagrant provisioners to be configurable by yaml file
    * [BIGTOP-1527] - Allow to fetch package's source code from Git
    * [BIGTOP-1545] - [BigPetStore] Bump version of BPS data generator library to 0.2.1
    * [BIGTOP-1547] - Confirm tachyon functioning in vagrant recipes.
    * [BIGTOP-1555] - remove mapred-app from docs or code snippet (post-BIGTOP-1522), cleanup vagrant-puppet to core components.
    * [BIGTOP-1557] - website misses ci and announce mailing lists info
    * [BIGTOP-1558] - Make gradle easier to navigate
    * [BIGTOP-1559] - Tests are failing in Apache CI build
    * [BIGTOP-1569] - provide alias targets for building packages native to the OS
    * [BIGTOP-1576] - Add Vagrant installation to bigtop_toolchain
    * [BIGTOP-1578] - Refactor vagrant-puppet provisioner to have its configurations all come from yaml
    * [BIGTOP-1581] - Allow multiple Flume agents to be executed as a service using Bigtop init.d script
    * [BIGTOP-1583] - update the default yum repo in puppet site.pp
    * [BIGTOP-1590] - Add a functionality to run integration tests for itest
    * [BIGTOP-1591] - JarContentTest is failing on JDK7
    * [BIGTOP-1593] - Fix types in FailureVars 
    * [BIGTOP-1600] - Improve front page content of website
    * [BIGTOP-1601] - cleanup whitespaces across test-artifacts 
    * [BIGTOP-1603] - Rename docker-puppet and vagrant-puppet to better indicate its function and difference
    * [BIGTOP-1612] - Update README for smoke-tests
    * [BIGTOP-1613] - Add .gitignore for vagrant-puppet
    * [BIGTOP-1614] - Add .gitignore file for docker-puppet
    * [BIGTOP-1621] - Migrate itest to gradle
    * [BIGTOP-1627] - Move enable_local_yum implementation to bigtop-deploy/utils/setup-env.sh to share with Docker provisioner
    * [BIGTOP-1634] - Puppet class parameter and hiera conversion
    * [BIGTOP-1640] - Add missing files for Apache Spark
    * [BIGTOP-1645] - Add subpackages for spark history server and thrift server 
    * [BIGTOP-1651] - puppet: Format namenode and zkfc in noninteractive mode
    * [BIGTOP-1653] - Add queries for customer, state, and product statistics w/ d3 friendly JSON output to analytics phase. 
    * [BIGTOP-1659] - gridgain-hadoop packages need to provide unversioned softlinks for accelerator jar files
    * [BIGTOP-1667] - Clean up and simplify the install phase for Apache Spark
    * [BIGTOP-1670] - puppet: Support Kerberos authentication on Hadoop component web GUIs
    * [BIGTOP-1674] - Account for BPS simulation "burn-in" time 
    * [BIGTOP-1675] - Puppet: remove wheel group setting for bigtop_real_users
    * [BIGTOP-1676] - Puppet: add deb repo auto deploy
    * [BIGTOP-1681] - [BigPetStore] Clean up BPS SparkSQL analytics module, add new queries
    * [BIGTOP-1683] - puppet hadoop-env.sh: Add option to configure tez environment
    * [BIGTOP-1684] - puppet hadoop/yarn: Make container executor configurable
    * [BIGTOP-1685] - puppet hadoop: Remove useless use of explicit hiera lookup
    * [BIGTOP-1686] - puppet hadoop/mapred: Update and clean mapred template and namespace
    * [BIGTOP-1691] - Heira site.yaml template needs to have repo uri 
    * [BIGTOP-1692] - hieradata/site.yaml is missing gridgain-hadoop component
    * [BIGTOP-1693] - Puppet stdlib should be automatically installed by toolchain
    * [BIGTOP-1696] - Provide build command to show BOM list
    * [BIGTOP-1697] - Bootstrap: hook up toolchain into gradle build
    * [BIGTOP-1698] - Following BIGTOP-1697 improve README entry on toolchain setup
    * [BIGTOP-1700] - Package YARN Timeline Server service for Apache Hadoop 
    * [BIGTOP-1705] - puppet: Allow configuring which hue apps to install
    * [BIGTOP-1709] - Enable "hadoop26" profile for Apache Tez
    * [BIGTOP-1718] - add facility for printing out BOM in json format
    * [BIGTOP-1721] - Remove unnecessary files from Sqoop package
    * [BIGTOP-1725] - Exclude null values from BOM json output added in BIGTOP-1718
    * [BIGTOP-1741] - Upgrade to Apache Phoenix 4.3.1
    * [BIGTOP-1742] - Add ywkim as a maintainer for Apache Hive, Spark, Sqoop* and Phoenix
    * [BIGTOP-1743] - Add RJ Nowling as committer to website
    * [BIGTOP-1770] - Let the user specify which JDK package to be installed in vagrantconfig.yaml
    * [BIGTOP-1771] - Let the user specify what components to be tested when running smoke-tests by Docker/VM provisioner
    * [BIGTOP-1783] - Import BigPetStore Data Generator into BigTop
    * [BIGTOP-1787] - puppet: Update hue.ini to match Hue 3.7.1 template
    * [BIGTOP-1791] - Set group of /user/hue to "hue" in HDFS
    * [BIGTOP-1794] - Update README for bigtop_toolchain
    * [BIGTOP-1801] - Generalize subst pattern matching for BOM file
    * [BIGTOP-1803] - Overide Vagrant configurations from environment variables
    * [BIGTOP-1809] - Remove gridgain-hadoop component once ignite-hadoop gets added
    * [BIGTOP-1829] - Tachyon configuration files should reside in /etc/tachyon/conf instead of /etc/tachyon
    * [BIGTOP-1836] - Better UX for Docker provisioner by integrating it into gradle 
    * [BIGTOP-1851] - Upgrade to HBase 0.98.12
    * [BIGTOP-1862] - Add release download link to the front page of the website
    * [BIGTOP-1919] - Remove fixConditional methods in BPS data generator
    * [BIGTOP-1923] - Bump Ignite to 1.2 with major fixes
    * [BIGTOP-1932] - [BigPetStore] Add larger product collection
    * [BIGTOP-1939] - Enable basic hdfs-nfs gateway configuration

** New Feature
    * [BIGTOP-989] - Add Apache Kafka  to Apache Bigtop
    * [BIGTOP-1417] - Dockerize the puppetized vagrant deployer
    * [BIGTOP-1448] - Include zookeeper C library in bigtop
    * [BIGTOP-1480] - Define BOM for 1.0 release of Bigtop
    * [BIGTOP-1552] - Add support for AmazonLinux to bigtop-deploy/puppet
    * [BIGTOP-1716] - Define SCALA_VERSION in bigtop.bom
    * [BIGTOP-1744] - Add BigPigPetstore File and REST Load Generation.
    * [BIGTOP-1806] - Integrate Apache Ignite (incubating) with BigTop
    * [BIGTOP-1918] - Add product enumeration to BPS data generator
    * [BIGTOP-1931] - Add multinomial product purchasing model to BPS Data Generator

** Task
    * [BIGTOP-1393] - Retire the make build system
    * [BIGTOP-1525] - FailureExecutor : Is it going to be maintained/used?
    * [BIGTOP-1556] - Cleanup some unused minor stuff.
    * [BIGTOP-1595] - kill list
    * [BIGTOP-1597] - Design flyers for upcoming SCALE conference
    * [BIGTOP-1638] - Add Dasha Boudnik to dev list
    * [BIGTOP-1648] - Update to Spark 1x to Spark 1.2.1
    * [BIGTOP-1655] - Update VM and Docker provisioner to work with hiera converted puppet recipes
    * [BIGTOP-1726] - Confirm that Spark 1.2.1 runs properly in BigTop, and run the BPS integration test.
    * [BIGTOP-1755] - Upgrade to Spark 1.3.0
    * [BIGTOP-1777] - Add cool ASCII-art logo of Bigtop to the build.gradle
    * [BIGTOP-1822] - Puppet apt module should be automatically installed by toolchain
    * [BIGTOP-1831] - Upgrade Mahout to 0.10
    * [BIGTOP-1834] - Upgrade to Spark 1.3.1
    * [BIGTOP-1854] - Trim Tachyon maintainers' list
    * [BIGTOP-1873] - Puppet apt module version must be 2.0.1 or above after BIGTOP-1870
    * [BIGTOP-1897] - Umbrella JIRA for CI overhaul

** Test
    * [BIGTOP-1377] - Add a test case for performing block corruption recovery
    * [BIGTOP-1560] - Add a test case for performing block corruption recovery
    * [BIGTOP-1617] - Make clean-up commands in TestCLI more specific
    * [BIGTOP-1629] - Move testDFSCLI from hcfs to hdfs directory
    * [BIGTOP-1664] - make test unpack resources optional

** Wish
    * [BIGTOP-1619] - change hadoop namenode port to 8020 (apache default port) in puppet script


* Release 0.8.0 (2014-09-06)

Release Notes - Bigtop - Version 0.8.0

- SUB-TASK
    - [BIGTOP-1111] - Bump version of Hadoop to 2.2.0
    - [BIGTOP-1165] - Ivy config for hive metastore looks incorrect, which breaks build on JDK 7
    - [BIGTOP-1166] - Hive-jdbc doesn't compile on JDK 7, which breaks build
    - [BIGTOP-1183] - Rename spark package to spark-core
    - [BIGTOP-1184] - bump hadoop version to 2.3.0
    - [BIGTOP-1202] - One-button-click way for installing all needed bits of testing framework
    - [BIGTOP-1203] - Update toolchaing to automatically install Gradle into dev env.
    - [BIGTOP-1208] - Add DFSIO test into longevity suite
    - [BIGTOP-1209] - Add SLive test into longevity suite
    - [BIGTOP-1242] - bump jsvc to 1.0.15
    - [BIGTOP-1244] - bump flume to 1.5.0.1
    - [BIGTOP-1278] - bump pig version to 0.12.1
    - [BIGTOP-1279] - bump hive version to 0.12.0
    - [BIGTOP-1280] - bump Oozie version to 4.0.1
    - [BIGTOP-1281] - bump hbase version to 0.98.2
    - [BIGTOP-1282] - bump Mahout version to 0.9
    - [BIGTOP-1283] - bump Solr version to 4.6.0
    - [BIGTOP-1284] - bump Spark version to 0.9.1
    - [BIGTOP-1285] - Bump version of Phoenix to 4.0
    - [BIGTOP-1291] - On a clean ~/.m2 hbase mvn install site will fail as install is executed first
    - [BIGTOP-1293] - Include Hive 0.13 into the stack
    - [BIGTOP-1302] - Update hbase smoke tests to escape Hbase's "event horizon"
    - [BIGTOP-1330] - bump Giraph version to 1.1.0
    - [BIGTOP-1331] - bump Hue version to 3.6.0
    - [BIGTOP-1340] - Hbase build has to use hadoop-two.version sys. prop
    - [BIGTOP-1350] - Bump version of Crunch to 0.10.0
    - [BIGTOP-1354] - bump version of Solr to 4.9.0
    - [BIGTOP-1426] - Bump version of Hadoop to 2.4.1
    - [BIGTOP-1432] - Update HBase version to 0.98.5 in the BOM
    - [BIGTOP-1433] - Fix Hive build after BIGTOP-1429 
    - [BIGTOP-1434] - Maven build failing with NoClassDefFoundError at maven-site-plugin:3.0-beta-3:site (packaging-documentation) @ sqoop-docs 
    - [BIGTOP-1435] - Fix Crunch build after BIGTOP-1429 

- BUG
    - [BIGTOP-282] - the licensing status of the MovieLens data files needs to be cleared up
    - [BIGTOP-831] - Hadoop branch-2 (and trunk?) are failing when built with JDK7u11
    - [BIGTOP-922] - Existing Puppet recipes are failing to initialize HDFS dictories on the first run
    - [BIGTOP-986] - install-flume.sh uses -x instead of -e
    - [BIGTOP-996] - Document steps needed to run BT tests on a fresh host
    - [BIGTOP-997] - TestCLI fails test id 5:  comparator fails
    - [BIGTOP-1042] - Add support for Hadoop 2.1.x-beta
    - [BIGTOP-1048] - ZooKeeper installation use "zookeeper-server.pid" as default while ZooKeeper expects zookeeper_server.pid
    - [BIGTOP-1072] - Vagrant scripts for spinning up and "hydrating" bigtop vms 
    - [BIGTOP-1092] - Add Hue documentation package
    - [BIGTOP-1097] - introduce bigtop-groovy package
    - [BIGTOP-1124] - solrctl should be able to auto-detect JAVA_HOME
    - [BIGTOP-1125] - Return value does not reflect status checks
    - [BIGTOP-1128] - FIX and modularize mahout sample data sets
    - [BIGTOP-1132] - Phoenix RPM specfile does not create symlinks
    - [BIGTOP-1141] - Add TestYarnNode to test yarn node 
    - [BIGTOP-1143] - Oozie configuration file is incomplete
    - [BIGTOP-1146] - Flume NG package is broken because of org.hbase.asynchbase deps. mismanagement
    - [BIGTOP-1150] - update Spark debian packaging to the latest format
    - [BIGTOP-1153] - Crunch package doesn't depend on anything
    - [BIGTOP-1164] - Get whole Bigtop stack building on JDK 7
    - [BIGTOP-1167] - got "Permission denied" when creating vagrant home folder in provision.sh
    - [BIGTOP-1168] - hue build fails (unresolvable maven dependencies)
    - [BIGTOP-1169] - Hue rpm build fails
    - [BIGTOP-1174] - missing dependency setting on init-hdfs.sh in puppet recipes
    - [BIGTOP-1181] - Add pyspark to spark package
    - [BIGTOP-1187] - Spark service packages have extraneous core in the name
    - [BIGTOP-1191] - master pom.xml file formatting is out of whack
    - [BIGTOP-1197] - iTest PackageManagerTests are failing
    - [BIGTOP-1199] - Makefile for deb packing needs to support zip archives
    - [BIGTOP-1205] - GRADLE_OPTS missing closing " in toolchain jenkins.sh.*
    - [BIGTOP-1217] - Spark test-artifact missing repository for install
    - [BIGTOP-1218] - Add JDK7 to Bigtop toolchain
    - [BIGTOP-1220] - Gradle task order isn't enforced properly with dependsOn
    - [BIGTOP-1221] - Expand and updated FUSE tests
    - [BIGTOP-1223] - TestSlive does not fully remove root directory after an iteration
    - [BIGTOP-1225] - TestHDFSQuota can fail if tests are run out of order
    - [BIGTOP-1226] - TestSLive setup() already being used, need to rename
    - [BIGTOP-1232] - test artifact build fails in io-longevity
    - [BIGTOP-1234] - TestFileAppend shouldn't reuse client during testMultipleOutputStreamFailure()
    - [BIGTOP-1236] - TestCLI expecting permissions incorrectly 
    - [BIGTOP-1238] - TestCLI has misspelled 'NAMNEODE' that is used without protocol name
    - [BIGTOP-1239] - TestCLI: make ports optional in regex comparators
    - [BIGTOP-1246] - Fix the shell-object bug in HttpFs smoke tests
    - [BIGTOP-1250] - TestTextSnappy fails
    - [BIGTOP-1252] - Update ant from 1.9.2 to 1.9.3
    - [BIGTOP-1253] - TestSLive calling setpDir() instead of setupDir()
    - [BIGTOP-1254] - add gradle specific files to .gitignore
    - [BIGTOP-1255] - init-hcfs.json needs to encode privileges as strings, not numbers.
    - [BIGTOP-1256] - Spark package deployment should reflect BIGTOP-1183
    - [BIGTOP-1258] - Spark puppet deploy might fail as /etc/spark can not be created
    - [BIGTOP-1259] - spark-worker service should be started after spark-master if ran on the same node
    - [BIGTOP-1260] - Puppet deployment should reflect on the new name of spark package
    - [BIGTOP-1268] - Jenkins Job Bigtop-trunk-Hadoop failed from 3/15/2014 due to protoc version
    - [BIGTOP-1274] - yarn ResourceManager should be started before starting NodeManagers
    - [BIGTOP-1290] - Zookeeper build is failing on Ant 1.9.3
    - [BIGTOP-1294] - asciidoc is missed from centos and sles environments of bigtop_toolchain
    - [BIGTOP-1295] - package.mk misteriously missing mkdir for RPMS that leads to SUSE build to fail
    - [BIGTOP-1300] - need to bump ant version to 1.9.4 in bigtop_toolchain
    - [BIGTOP-1303] - Pig 0.12.1 build is broken at the site target. Stack build can't proceed
    - [BIGTOP-1304] - bigtop_toolchain needs to install Scala 2.10 to support Spark build
    - [BIGTOP-1306] - RPM licensing metadata is inconsistent and wrong
    - [BIGTOP-1313] - Ant 1.9.4 update is missed from ant.pp recipe.
    - [BIGTOP-1319] - hive-rpm target is broken
    - [BIGTOP-1322] - hbase_install.sh shall be called with bash
    - [BIGTOP-1324] - Fix typo in testHDFSConf.xml of TestCLI
    - [BIGTOP-1336] - Puppet recipes failed to deploy kerberos enabled hadoop cluster
    - [BIGTOP-1337] - Logging success messages in service startup and shutdown only after verification.
    - [BIGTOP-1345] - remove bigtop-packages/src/root@mgrover-centos6-2.ent.cloudera.com
    - [BIGTOP-1346] - Generalize evaluation regexp in packages.gradle
    - [BIGTOP-1355] - Hive 0.13 deb build is broken
    - [BIGTOP-1358] - adjust toolchain to use JDK7 by default
    - [BIGTOP-1359] - fix a few issues with our puppet_toolchain code
    - [BIGTOP-1371] - Spark-master service fails to start due to missing /usr/lib/spark/work
    - [BIGTOP-1380] - Pig might run out of memory during site construction
    - [BIGTOP-1382] - Hadoop site.csv components additions: yarn & mapred-app
    - [BIGTOP-1390] - JDK Woes
    - [BIGTOP-1394] - package test manifest got out of date
    - [BIGTOP-1396] - update metadata for bigtop-groovy and phoenix
    - [BIGTOP-1397] - hive-hbase package is missing after move to the latest Hive
    - [BIGTOP-1398] - hadoop-hdfs-fuse can't be installed on Ubuntu 14.04
    - [BIGTOP-1399] - add --help to alternative invocation to support newer Ubuntus
    - [BIGTOP-1400] - Whirr is failing with PermGen error: needs to be bumped up
    - [BIGTOP-1401] - Create man pages for YARN, HDFS and MAPRED. 
    - [BIGTOP-1402] - Update bigtop gradle to 2.x
    - [BIGTOP-1405] - Gradle 2.0 installation from toolchain is broken
    - [BIGTOP-1415] - Remove redundant jars from spark package.
    - [BIGTOP-1418] - [BigPetStore] build.gradle - wrong variable name (hadoopClusterRuntime instead of runtime)
    - [BIGTOP-1420] - Update Phoenix version to 4.1.0 in the BOM
    - [BIGTOP-1421] - Phoenix build is missing some variables
    - [BIGTOP-1425] - gradle build can fail with NPE in an obscure way
    - [BIGTOP-1427] - HBase build should build hbase-***-hadoop2 by default
    - [BIGTOP-1428] - update tests to reflect new home for hbase user
    - [BIGTOP-1429] - Apache build of Bigtop test artifacts fails to find correct Hbase jars
    - [BIGTOP-1430] - incorrect version of spark-core prevents test artifacts from compiling
    - [BIGTOP-1438] - asciidoc is no longer needed by Sqoop
    - [BIGTOP-1439] - split jdk7 and jdk6 in Bigtop toolchain
    - [BIGTOP-1440] - a few usability updates to bigtop_toolchain
    - [BIGTOP-1441] - bigtop_toolchain fails on Ubuntu
    - [BIGTOP-1442] - need to add proper clean up for the toolchain puppet code
    - [BIGTOP-1444] - Phoenix RPM build is broken after BIGTOP-1421

- IMPROVEMENT
    - [BIGTOP-840] - Refactor Bigtop puppet code for better integration with newer Puppet and Whirr
    - [BIGTOP-848] - Allow to build stack on top of an arbitrary Hadoop SHA
    - [BIGTOP-952] - init-hdfs.sh is dog slow. Let's replace it with a direct HDFS API calls and better layout management
    - [BIGTOP-992] - Create HowToContribute wiki page
    - [BIGTOP-1019] - Remove mysql requirement constraint from sqoop tests
    - [BIGTOP-1026] - Big Top Mapred/Itest assertions should report specific commands which fail
    - [BIGTOP-1029] - Add support for HBase 0.96+
    - [BIGTOP-1085] - spark packages needs to be split
    - [BIGTOP-1110] - Define BOM for 0.8.0 release of Bigtop
    - [BIGTOP-1130] - Update Build Requirements on our web pages
    - [BIGTOP-1137] - provide a way to request a major version of JDK
    - [BIGTOP-1138] - hadoop-conf-pseudo package uses the deprecated fs.default.name parameter
    - [BIGTOP-1139] - bigtop-tomcat and bigtop-jsvc don't depend on bigtop-utils
    - [BIGTOP-1144] - Need to update command 'puppet apply' in file bigtop-deploy/puppet/README.md
    - [BIGTOP-1147] - README.md improvments
    - [BIGTOP-1152] - speed up spark build
    - [BIGTOP-1155] - New logo ! 
    - [BIGTOP-1161] - Have a way to dynamically select components to be deployed by Puppet recipes.
    - [BIGTOP-1163] - puppet apply shows db init error if the oozie server is already running
    - [BIGTOP-1171] - Puppetize the Vagrant deployer
    - [BIGTOP-1178] - Clusterize the puppetized vagrant deployer.
    - [BIGTOP-1195] - Higher level interface to smokes.
    - [BIGTOP-1200] - Implement Generic Text File to define HCFS filesystem semantics
    - [BIGTOP-1201] - Enhance (gradleize) the build to ease development, deployment; abstract implementation
    - [BIGTOP-1207] - Create a foundation layer to build longevity and performance tests for the stack
    - [BIGTOP-1210] - integrate BIGTOP-952 with plain text HCFS FS definition from  BIGTOP-1200
    - [BIGTOP-1213] - TestHadoopExamples smokes: orderering of tests; other improvements
    - [BIGTOP-1222] - Simplify and gradleize a subset of the bigtop smokes
    - [BIGTOP-1224] - Provide a simple order for tests
    - [BIGTOP-1241] - BIGTOP should update protobuf to 2.5 from 2.4.x 
    - [BIGTOP-1257] - Make TestHadoopExamples modular enough to support longevity tests.
    - [BIGTOP-1269] - BigPetStore: Create build w/ gradle
    - [BIGTOP-1289] - Update component versions in the pom.xml (including hadoop)
    - [BIGTOP-1296] - Fix permission and Update README for vagrant-puppet recipe
    - [BIGTOP-1311] - allow easy site publishing
    - [BIGTOP-1312] - Add dynamic menus, update, links, modern CSS to bigtop site.
    - [BIGTOP-1314] - Deprecate make build
    - [BIGTOP-1316] - enhance Shell for better checking of return code & output logging
    - [BIGTOP-1321] - TestCLI: check assumptions before the test run
    - [BIGTOP-1342] - Make TestCLI usable for both HDFS and HCFS
    - [BIGTOP-1347] - Support better entropy performance on vagrant VMs
    - [BIGTOP-1348] - vagrant-puppet provisioning is too slow on installing packages
    - [BIGTOP-1372] - Bigtop needs feature that takes in multiple arguments to build specific components at command line
    - [BIGTOP-1374] - Add dynamic override of BOM variables into Gradle build
    - [BIGTOP-1391] - Improve README.md so that the markdown rendering is pretty and easy to read

- NEW FEATURE
    - [BIGTOP-1039] - Add packaging for Shark analytics 
    - [BIGTOP-1089] - BigPetStore: A polyglot big data processing blueprint
    - [BIGTOP-1188] - Smoke tests for HttpFs
    - [BIGTOP-1192] - Add utilities to facilitate cluster failure testing into bigtop-test-framework
    - [BIGTOP-1212] - Pick or build a framework for building fake data sets
    - [BIGTOP-1272] - BigPetStore: Productionize the Mahout recommender
    - [BIGTOP-1351] - Init script for HBase Thrift2 server is missing

- TASK
    - [BIGTOP-236] - The user installed by hbase gets an incorrect home directory
    - [BIGTOP-1240] - Formatting Guidelines

- TEST
    - [BIGTOP-1040] - Add integration tests for Shark component


* Release 0.7.0 (2013-10-28)

- SUB-TASK
  - [BIGTOP-932] - Allow puppet recipes to automatically pull in needed files from web
  - [BIGTOP-964] - Bump hive version to 0.11
  - [BIGTOP-993] - Add packaging for Phoenix
  - [BIGTOP-1053] - Bump version of Hadoop to 2.0.6-alpha
  - [BIGTOP-1073] - Bump version of HBase to 0.94.11
  - [BIGTOP-1074] - Bump version of Hue to 2.5.0
  - [BIGTOP-1075] - bump version of Flume to 1.4.0
  - [BIGTOP-1076] - bump version of Crunch to 0.7.0
  - [BIGTOP-1077] - Bump version of Hive to 0.11.0
  - [BIGTOP-1078] - bump version of Datafu to 1.0.0
  - [BIGTOP-1079] - bump version of Solr to 4.5.0
  - [BIGTOP-1083] - Spark version was changed with incubating process.
  - [BIGTOP-1101] - Bump version of HBase to 0.94.12

- BUG
  - [BIGTOP-990] - /usr/lib/bigtop-utils/ should be owned by bigtop-utils package
  - [BIGTOP-998] - Consolidate Hue packages
  - [BIGTOP-1005] - Create versionless symlinks in hadoop client directory
  - [BIGTOP-1006] - Explicitly state the working directory to be used in init scripts instead of relying on user's home directories
  - [BIGTOP-1008] - /usr/lib/bigtop-utils directory is not owned by bigtop-utils package in RPMs
  - [BIGTOP-1010] - libsnappy not included in the final hadoop RPM
  - [BIGTOP-1011] - bigtop-detect-javahome has a quirky search order
  - [BIGTOP-1017] - Revert a commit that introduces some unneeded dependencies
  - [BIGTOP-1027] - 'bigtop-detect-classpath' helper script missing from bigtop-utils
  - [BIGTOP-1033] - itest-common: fix debian install to avoid conffile prompt
  - [BIGTOP-1034] - Custom user's home directory's creation fails in init-hdfs.sh
  - [BIGTOP-1036] - Hue's oozie app package should depend on hue jobsub package
  - [BIGTOP-1037] - Provide a mechanism to control the sourcing of defaults files
  - [BIGTOP-1044] - hive and hive-jdbc versions should be kept in sync
  - [BIGTOP-1045] - Be consistent with shells, bigtop-detect-javahome, and bigtop-utils versions
  - [BIGTOP-1046] - Pig's use of BIGTOP_DEFAULTS_DIR is evaluated at the wrong time
  - [BIGTOP-1051] - Spark archive should come in tar.gz format
  - [BIGTOP-1052] - Increase environment configurability/debugging of Mahout Tests
  - [BIGTOP-1055] - Spark package doesn't create PREFIX/bin directory and sets wrong permissions
  - [BIGTOP-1059] - Add path option for pig.jar to pig smoke pom.xml
  - [BIGTOP-1070] - Add BIGTOP_CLASSPATH functionality to tomcat deployment
  - [BIGTOP-1071] - bigtop-detect-javahome should select the first possible candidate in the list
  - [BIGTOP-1081] - deb spark packing needs to set SOURCE_DIR
  - [BIGTOP-1082] - spark package tests are missing
  - [BIGTOP-1084] - spark build on CentOS 5 and SLES11 is broken
  - [BIGTOP-1086] - fix miscellaneous failures in package tests
  - [BIGTOP-1087] - flume rpm package needs to own /usr/lib/flume/tools
  - [BIGTOP-1088] - oozie packages need to own /etc/oozie/conf.dist/tomcat-deployment.{default,secure}
  - [BIGTOP-1090] - hue packaging needs to handle mutable bits (app.reg and hue.pth)
  - [BIGTOP-1094] - spark SPEC mistakenly re-defines alternatives command on SLES/OpenSUSE 
  - [BIGTOP-1095] - oozie  packaging doesn't remove tomcat alternatives
  - [BIGTOP-1096] - alternatives within the alternatives-managed sub-directory could be harmful
  - [BIGTOP-1098] - now that Spark has had its first incubator release we have to adjust bigtop accordingly
  - [BIGTOP-1099] - sync up the versions used for smoke tests with the BOM versions
  - [BIGTOP-1100] - the new Tomcat deployment style would benefit from a few usability tweaks
  - [BIGTOP-1103] - Remaining fixes of BIGTOP_DEFAULTS_DIR evaluation
  - [BIGTOP-1107] - Update to the official Hue 2.5.1 release
  - [BIGTOP-1108] - Solr 4.5.0 has been formally released and we should start using the official release bits
  - [BIGTOP-1112] - sqoop-client should require bigtop-utils
  - [BIGTOP-1114] - Hue metastore app is missing from core registration and Debian packages
  - [BIGTOP-1115] - update package test manifest for Bigtop 0.7.0
  - [BIGTOP-1117] - hive-hcatalog integration has a few issues
  - [BIGTOP-1119] - phoenix DEB packages differ in a few ways from RPM counterparts

- IMPROVEMENT
  - [BIGTOP-927] - Update puppet recipes to support Ubuntu
  - [BIGTOP-938] - Upgrade to Junit 4.11
  - [BIGTOP-955] - HBase installation should advertise its location and configuration
  - [BIGTOP-1004] - Hadoop packages do not include version independent symlinks
  - [BIGTOP-1021] - Update HBase version to 0.94.9
  - [BIGTOP-1031] - README has outdated/ambiguous information
  - [BIGTOP-1041] - Add Puppet support for Spark cluster deployment
  - [BIGTOP-1056] - some changes are introduced into Spark build: needs to be updated here
  - [BIGTOP-1063] - Add Scala 2.9.3 to bigtop-toolchain
  - [BIGTOP-1069] - Remove descriptions about JDK5 dependency
  - [BIGTOP-1080] - Change /usr/bin scripts to be alternatives instead of flat files
  - [BIGTOP-1106] - update our puppet deployment topology

- NEW FEATURE
  - [BIGTOP-811] - Add /var/lib/bigtop as a location to install SQL connectors and other plug-ins
  - [BIGTOP-1023] - Define BOM for 0.7.0 release of Bigtop

- TASK
  - [BIGTOP-715] - Add Spark packaging
  - [BIGTOP-939] - Make usage of bigtop-tomcat more dynamic

- TEST
  - [BIGTOP-719] - Add TestTextSnappy to test hadoop fs -text with snappy compressed files
  - [BIGTOP-1030] - Develop integration tests for new Spark component
  - [BIGTOP-1057] - Add TeraGen / TeraSort Benchmakring

* Release 0.6.0 (2013-06-10)

- SUB-TASK
  - [BIGTOP-239] - HBase init scripts are shut down in the wrong order
  - [BIGTOP-812] - HttpFS is using Tomcat 6.0.32 which has numerous vulnerabilities
  - [BIGTOP-813] - add integration test for HCatlog
  - [BIGTOP-814] - add packaging test for HCatlog
  - [BIGTOP-822] - Bump version of Hadoop to 2.0.5
  - [BIGTOP-824] - Bump version of Hive to 0.10
  - [BIGTOP-832] - Bump version of Hue to 2.3.0
  - [BIGTOP-833] - Update HCatalog packaging for Bigtop 0.6.0 integration
  - [BIGTOP-839] - add packaging test for Sqoop 2
  - [BIGTOP-852] - Improve HDFS helper script
  - [BIGTOP-854] - add package testing manifest for HCatalog
  - [BIGTOP-855] - add integration tests for HCatalog
  - [BIGTOP-861] - init-hdfs.sh does not work from init scripts
  - [BIGTOP-862] - All the Apache Hadoop services ought to start nicely and in order
  - [BIGTOP-863] - verify the existence of the initscripts with typo
  - [BIGTOP-864] -  update the appliance for the location of the init-hdfs.sh script
  - [BIGTOP-880] - Bump version of Datafu to 0.0.6
  - [BIGTOP-891] - TestPigTest doesn't run against YARN cluster
  - [BIGTOP-915] - bump version of Oozie to 3.3.2
  - [BIGTOP-916] - Bump version of Pig to 0.11.1
  - [BIGTOP-917] - Bump version of Solr to 4.2.1
  - [BIGTOP-926] - Bump version of Giraph to 1.0
  - [BIGTOP-933] - Need to add ASF license text to bigtop-toolchain files
  - [BIGTOP-962] - Bump Sqoop version to 1.99.2
  - [BIGTOP-963] - bump version of Whirr to 0.8.2
  - [BIGTOP-980] - bigtop-toolchaing user module can't create 'jenkins' user

- BUG FIXES
  - [BIGTOP-275] - scoping of variable in puppet code is incorrect
  - [BIGTOP-379] - Package testing for Bigtop 0.5.0 release
  - [BIGTOP-445] - yarn default file has the wrong name
  - [BIGTOP-463] - should we reconsider /usr/lib vs. /usr/libexec decision?
  - [BIGTOP-483] - Smoke test of Hadoop fails with clitest missing testConf.xml file
  - [BIGTOP-489] - TestCLI with two test cases fails ID - 146 and 147 related to refreshServiceAcl
  - [BIGTOP-504] - provide a functionality for detecting libjvm.so in bigtop-utils
  - [BIGTOP-545] - package testing manifest in trunk needs to be updated
  - [BIGTOP-553] - Metadata for packages needs to be harmonized between RPM and Debain
  - [BIGTOP-584] - Fix hive smoke test failures in trunk
  - [BIGTOP-624] - running start on a service already running should return success
  - [BIGTOP-637] - Update boxgrinder appliance for the coming release
  - [BIGTOP-786] - Not able to find wiki link on Bigtop homepage
  - [BIGTOP-804] - org.apache.bigtop.itest.pmanager.PackageManagerTest.testLookupGcc fails on some systems
  - [BIGTOP-808] - hadoop-conf-pseudo package breaks hadoop-conf alternatives during upgrades
  - [BIGTOP-809] - Remove harmless scary message from solr build
  - [BIGTOP-815] - Move the trunk forward now that 0.5.0 is released
  - [BIGTOP-818] - Updated list of supported platforms on Bigtop's homepage and readme file
  - [BIGTOP-823] - Remove obsolete slf4j removal in hive packaging
  - [BIGTOP-826] - Wrong return code returned when stopping Hue on RHEL/SUSE
  - [BIGTOP-827] - Ubuntu Install Instructutions Fail with a 404
  - [BIGTOP-829] - Hue status returned wrong information on SLES
  - [BIGTOP-830] - Add $(APACHE_MIRROR) for bigtop-tomcat
  - [BIGTOP-834] - Remove workaround for MAPREDUCE-4814 in historyserver
  - [BIGTOP-835] - The shell exec method must have variants which have timeout and can run in background
  - [BIGTOP-836] - Hue status on SuSE doesn't work when run from outside of /usr/bin
  - [BIGTOP-837] - Oozie 3.3.0 can't be build against Hadoop 2.0.3 or later
  - [BIGTOP-841] - hadoop-conf-pseudo missed configuration for capacity scheduler and historyserver
  - [BIGTOP-842] - hadoop-mapreduce-historyserver service dumps some output to the console instead of its .out file 
  - [BIGTOP-844] - hadoop rpm upgrade sequence is broken
  - [BIGTOP-846] - The helper script introduced in BIGTOP-547 doesn't create /user/$USER directories on HDFS
  - [BIGTOP-850] - Remove non-ASF repositories and infrastructure references from the project files
  - [BIGTOP-851] - Typo breaks detection of multiple libraries in bigtop-utils in some JVMs
  - [BIGTOP-853] - HBase test, TestLoadAndVerify does not work on secure clusters
  - [BIGTOP-857] - Inconsistent group ownership of /var/run/hadoop-hdfs between .deb and .rpm installs
  - [BIGTOP-858] - HBase tests are no longer compile with HBase 0.94
  - [BIGTOP-859] - fix the Bigtop trunk package test
  - [BIGTOP-869] - hadoop preun should not stop services itself on behalf of its subpackages
  - [BIGTOP-870] - Bump version of Pig to 0.11
  - [BIGTOP-873] - Hive needs Ivy cache cleared
  - [BIGTOP-874] - make test contracts show up in javadoc
  - [BIGTOP-875] - hadoop-smoke is broken because of missed dependency
  - [BIGTOP-876] - TestDFSAdmin in hadoop-smoke is outdated and still relies on presence of -upgradeProgress
  - [BIGTOP-877] - TestDFSAdmin in hadoop-smoke has to ensure its own environment, e.g. create HDFS paths, etc.
  - [BIGTOP-878] - Bump version of Oozie to 3.3.1
  - [BIGTOP-879] - Bump version of Solr to 4.2.0
  - [BIGTOP-883] - Add support for Oracle RPM Java 1.7
  - [BIGTOP-884] - hive smoke tests can't be executed as a jar file isn't present anymore
  - [BIGTOP-885] - TestHiveSmokeBulk fails on Hive 0.9
  - [BIGTOP-886] - Non-fatal errors when starting Hive daemons in EL5
  - [BIGTOP-887] - Sqoop 2 should be consistent with Oozie / Bigtop for server plugins directory
  - [BIGTOP-888] - Oozie losing value of JAVA_HOME when spawning sub-shell
  - [BIGTOP-889] - pig smoke tests are no longer running
  - [BIGTOP-890] - Remove workaround for distributed cache problem from Oozie package
  - [BIGTOP-892] - hadoop packages misses capacity-scheduler configuration
  - [BIGTOP-894] - Pig compilation fails on RPM systems on Bigtop trunk
  - [BIGTOP-895] - A number of testcases in TestCLI are failing with (at least) Hadoop 2.0.3 and later
  - [BIGTOP-896] - Solr rpm requires redhat-lsb to run
  - [BIGTOP-899] - enabled deployment topology with 3 nodes
  - [BIGTOP-900] - update deployment configs for Kerberized installations
  - [BIGTOP-901] - Oozie smoke tests mightn't be able to obtain the jobtracker or namenode hostnames, using old config. names 
  - [BIGTOP-902] - Hive uses same file for log4j and standard output
  - [BIGTOP-903] - crunch integration tests need to clean up output directory before each individual subtask is run
  - [BIGTOP-904] - mahout tests should default to /tmp as a temp location
  - [BIGTOP-905] - bump versions of test execution poms to match the BOM
  - [BIGTOP-906] - a few tests need artifacts compiled against Hadoop 2.X
  - [BIGTOP-907] -  hadoop-mapreduce-historyserver should require hadoop-hdfs
  - [BIGTOP-910] - datanode init script cannot stop the process bcause it cannot find the pid file
  - [BIGTOP-912] - update HBase tests for 0.6.0
  - [BIGTOP-914] - puppet needs to provision test users
  - [BIGTOP-918] - Move BOM version info to the root pom file
  - [BIGTOP-920] - Add HCatalog tests
  - [BIGTOP-923] - Packages that depend on bigtop-utils needs to specify >= 0.6
  - [BIGTOP-928] - Hive can't be build against non-published Hadoop artifacts
  - [BIGTOP-929] - Pig component build needs to use internal resolvers
  - [BIGTOP-930] - init-hdfs.sh fails on execution
  - [BIGTOP-934] - Hidden cookie is being set by wiki.cloudera.org via http://blogs.apache.org/bigtop top page
  - [BIGTOP-935] - Use init script templates for hive
  - [BIGTOP-936] - Use init script templates for hbase
  - [BIGTOP-937] - Hive does not restart on Ubuntu
  - [BIGTOP-940] - fix issues with Hive package
  - [BIGTOP-945] - Service lock files need to match init script name
  - [BIGTOP-946] - solr-server runlevels are wrong in debian
  - [BIGTOP-947] - oozie init script does not use JAVA_HOME in /etc/default/bigtop-utils
  - [BIGTOP-948] - TestFileAppend and TestHDFSQuota tests need to be updated
  - [BIGTOP-949] - Add Sqoop tests
  - [BIGTOP-950] - race condition for output consumption in Shell code
  - [BIGTOP-951] - Hive Smoke's TestJdbcDriver fails
  - [BIGTOP-953] - Revert BIGTOP-835 and BIGTOP-950
  - [BIGTOP-954] - metadada and user data for sqoop and hcatalog packages are wrong
  - [BIGTOP-956] - fix small issues with mahout, hue and oozie tests
  - [BIGTOP-957] - update deployment code for Sqoop2
  - [BIGTOP-958] - update deployment code for HCatalog
  - [BIGTOP-959] - get rid of hadoop specific init.d.tmpl
  - [BIGTOP-960] - Remove workaround for HBASE-6263 in hbase-thrift start
  - [BIGTOP-968] - oozie is now part of the core hue
  - [BIGTOP-969] - a few files belong to more than one package
  - [BIGTOP-970] - update package test manifest and fix small issues in package metadata for Bigtop 0.6.0
  - [BIGTOP-971] - take care of the rat licensing complaints
  - [BIGTOP-974] - Crunch download location is no longer /incubator
  - [BIGTOP-975] - HBase regionserver init script does not implement "condrestart" command
  - [BIGTOP-981] - Provide minimal documentation for puppet deploy config file
  - [BIGTOP-982] - hcatalog needs to be given HCAT_HOME and HIVE_HOME
  - [BIGTOP-983] - Oozie-client package ships its docs twice
  - [BIGTOP-984] - bigtop-utils doesn't detect JAVA_HOME for Oracle JDK 7 when package by Debian's tool
  - [BIGTOP-985] - Create Hive JDBC package
  - [BIGTOP-988] - HCatalog does not launch daemon process in a known directory
  - [BIGTOP-991] - crunch archive is incorrect
  - [BIGTOP-994] - hdfs-init missed a few permissions on the sub-directories
  - [BIGTOP-997] - TestCLI fails test id 5:  comparator fails
  - [BIGTOP-1001] - need package tests for hive-jdbc package
  - [BIGTOP-1002] - Complete porting Sqoop import tests to Sqoop 2

- IMPROVEMENT
  - [BIGTOP-12] - Add HCatalog to Bigtop
  - [BIGTOP-547] - create an HDFS setup helper script
  - [BIGTOP-712] - Bigtop 0.5.0 release
  - [BIGTOP-713] - use newer debhelper and source format 3.0 (quilt) for Debian and Ubuntu packaging
  - [BIGTOP-756] - Provide the thrift API interface file in the HBase packages
  - [BIGTOP-763] - Add hdfs-journalnode to hadoop.spec
  - [BIGTOP-817] - Wiki breadcrumb still shows Bigtop(incubating)
  - [BIGTOP-821] - Puppet README's Usage section cuts off because of angle bracket delimiter
  - [BIGTOP-838] - Both conf.empty and conf.pseudo packages don't seem to include a sample hadoop-env.sh file
  - [BIGTOP-843] - It would be really cool if bigtop-detect-javahome were smarter and didn't pick a 32-bit JVM, or a 1.7 JVM set with default
  - [BIGTOP-882] - Upload content of Oozie sharelib to HDFS
  - [BIGTOP-893] - migrate puppet code to use init-hdfs.sh
  - [BIGTOP-931] - a few improvements to secure puppet deployment code
  - [BIGTOP-961] - hcatalog should be re-using hive user when running
  - [BIGTOP-967] - package removal is currently missing from our package tests
  - [BIGTOP-973] - Improve error diagnostics when sed'ing Hadoop version in Oozie package
  - [BIGTOP-995] - JDK bug 6979329 requires a redundant kinit -R
  - [BIGTOP-1000] - Remove remaining references to the Incubator

- NEW FEATURE
  - [BIGTOP-732] - Support running multiple HBase region servers
  - [BIGTOP-881] - Add support for Oozie to be configured with SSL (HTTPS)

- TASK
  - [BIGTOP-118] - Check to ensure our build system requirements are actually declared properly in the packaging.
  - [BIGTOP-681] - Package tests needed for new DataFu package
  - [BIGTOP-720] - Build environment automation
  - [BIGTOP-760] - Push artifacts from non-Maven projects into local Maven cache
  - [BIGTOP-805] - Add Sqoop 2 to bigtop

- TEST
  - [BIGTOP-621] - Add test for distcp - intra cluster
  - [BIGTOP-625] - Add HDFS Append Test
  - [BIGTOP-693] - Add hadoop-fuse-dfs test
  - [BIGTOP-728] - add datafu integration test

* Release 0.5.0 (2012-12-25)

- SUB-TASK
  - [BIGTOP-39] - Include Apache Avro in Bigtop
  - [BIGTOP-41] - Add Apache Thrift to Bigtop
  - [BIGTOP-65] - Package Apache Forrest
  - [BIGTOP-225] - Exit consistently in init scripts for stop on stopped service
  - [BIGTOP-232] - create an example .ks file for Bigtop
  - [BIGTOP-237] - Oozie init scripts are way too verbose
  - [BIGTOP-239] - HBase init scripts are shut down in the wrong order
  - [BIGTOP-240] - hbase initscripts should be more explicit
  - [BIGTOP-302] - 1. Start a separate Wiki page on Installing Bigtop in VMs (VirtualBox) (make sure to record the fact that one needs >> 2GB of RAM)    2. Record the experience with 32bit OSes 
  - [BIGTOP-380] - Initscripts have misleading messages
  - [BIGTOP-533] - BigTop Hama Integration Tests
  - [BIGTOP-551] - Updates for packaging manifest
  - [BIGTOP-612] - Add Crunch to Bigtop
  - [BIGTOP-692] - Bump Whirr to 0.8.1
  - [BIGTOP-695] - Make variables used in flume build/install scripts consistent
  - [BIGTOP-696] - Make variables used in oozie build/install scripts consistent
  - [BIGTOP-697] - Make variables used in zookeeper build/install scripts consistent
  - [BIGTOP-700] - Make variables used in whirr build/install scripts consistent
  - [BIGTOP-702] - Make variables used in datafu build/install scripts consistent
  - [BIGTOP-703] - Make variables used in jsvc build/install scripts consistent
  - [BIGTOP-704] - Make variables used in pig build/install scripts consistent
  - [BIGTOP-705] - Make variables used in giraph build/install scripts consistent
  - [BIGTOP-706] - Make variables used in hive build/install scripts consistent
  - [BIGTOP-707] - Make variables used in tomcat build/install scripts consistent
  - [BIGTOP-711] - update hadoop version to 2.0.2-alpha 
  - [BIGTOP-714] - HDFS Fuse build broken for 0.23.3
  - [BIGTOP-733] - Bump Hue to 2.1.0
  - [BIGTOP-735] - Upgrade to pull Solr 4.0 when it's officially released
  - [BIGTOP-736] - When Solr is integrated, we'll need some tests.
  - [BIGTOP-744] - add package test for Solr
  - [BIGTOP-750] - Bump Zookeeper to 3.4.5
  - [BIGTOP-751] - Bump HBase to 0.94.2
  - [BIGTOP-752] - Bump Sqoop to 1.4.2
  - [BIGTOP-753] - Bump Flume to 1.3.0
  - [BIGTOP-765] - Create deployment code for Solr
  - [BIGTOP-791] - Bump Oozie to 3.3.0

- BUG
  - [BIGTOP-51] - Layout of Bigtop repository can be optimized
  - [BIGTOP-79] - Audit RPM package dependencies for programs invoked from install/uninstall scripts
  - [BIGTOP-98] - Ability to force ivy/maven version inter-dependency needs to be implemented
  - [BIGTOP-105] - hadoop services can not be started with the default configs in place
  - [BIGTOP-106] - review and cleanup install/unistall/upgrade time dependencies
  - [BIGTOP-107] - make Bigtop packaging work in kick-start environment
  - [BIGTOP-135] - make jsvc use detection more robust on SLES
  - [BIGTOP-168] - all of the packages that link to hadoop-core need to also link commons-configuration-1.6.jar
  - [BIGTOP-172] - Hadoop init.d scripts are flaky on stop
  - [BIGTOP-177] - Remove or fix versioned dependencies between packages of Bigtop
  - [BIGTOP-187] - some packages ship log files
  - [BIGTOP-200] - /var/lib/hadoop is set to 777 on installation it should just be group writable
  - [BIGTOP-213] - We should use another group than hadoop for system groups
  - [BIGTOP-218] - we need to figure out which compressors/codecs need to be pulled into Bigtop
  - [BIGTOP-219] - Pig/HBase integration is not working
  - [BIGTOP-222] - some man pages in /usr/share/doc/flume
  - [BIGTOP-223] -  install/ initscripts fixes 
  - [BIGTOP-224] - Some configuration files have their permissions set to 755
  - [BIGTOP-226] - everything in /usr/lib/pig is set to 755. Non executable files should just be 644
  - [BIGTOP-227] - whirr has all its files (except its man page) set as 755
  - [BIGTOP-228] - Whirr should have a symlink to the hadoop's jars it needs
  - [BIGTOP-229] - pig package install an alternative with an inconsitent name
  - [BIGTOP-230] - removing packages displays the following extraneous messages
  - [BIGTOP-256] - Lintian Errors/Warnings - Hadoop Package
  - [BIGTOP-275] - scoping of variable in puppet code is incorrect
  - [BIGTOP-279] - we shouldn't be using properties that have been deprecated in config/puppet
  - [BIGTOP-282] - the licensing status of the MovieLens data files needs to be cleared up
  - [BIGTOP-292] - BIgtop SRPMs can not be rebuilt
  - [BIGTOP-307] - README documentation is inaccurate
  - [BIGTOP-311] - hadoop does not build in off-line mode
  - [BIGTOP-326] - puppet modules need to be renamed to align with renaming that happens on the package front
  - [BIGTOP-330] - hadoop 0.23 pseudo conf needs to set more properties to avoid using /tmp as its datadir
  - [BIGTOP-335] - sqoop-metastore service fails to start because it ends up using /usr/lib/hadoop/bin/hadoop
  - [BIGTOP-340] - wrapper scripts would benefit from being explicit
  - [BIGTOP-347] - we need to get rid of workaround for HDFS-1943 in hadoop init.d scripts
  - [BIGTOP-358] - now that hadoop packages have been split we have to update the dependencies on the downstream packages
  - [BIGTOP-368] - /usr/bin/hadoop sources /etc/default/yarn unconditionally
  - [BIGTOP-377] - Clean up packages
  - [BIGTOP-379] - Package testing for Bigtop 0.5.0 release
  - [BIGTOP-385] - new artifacts in Hadoop 0.23 need to be properly packaged
  - [BIGTOP-395] - flume-ng init.d scripts seem to be unhappy on Debian
  - [BIGTOP-425] - HMaster dies from RemoteException: Server IPC version 5 cannot communicate with client version 4
  - [BIGTOP-436] - flume-node stop seems to mistarget some other java process on lucid
  - [BIGTOP-445] - yarn default file has the wrong name
  - [BIGTOP-463] - should we reconsider /usr/lib vs. /usr/libexec decision?
  - [BIGTOP-471] - hive server setup after installation fails on creating /var/lock/subsys directory
  - [BIGTOP-483] - Smoke test of Hadoop fails with clitest missing testConf.xml file
  - [BIGTOP-486] - separate principals from keytabs in our kerberos module
  - [BIGTOP-489] - TestCLI with two test cases fails ID - 146 and 147 related to refreshServiceAcl
  - [BIGTOP-490] - SmokeTest-Mahout test failures
  - [BIGTOP-492] - make our launcher scripts recognize cascading defaults
  - [BIGTOP-504] - provide a functionality for detecting libjvm.so in bigtop-utils
  - [BIGTOP-511] - Add debian repo to bigtop puppet
  - [BIGTOP-520] - HBase Debian builds run do-component-build twice
  - [BIGTOP-525] - make sure yarn.dispatcher.exit-on-error is set to true
  - [BIGTOP-531] - package metadata check error: when description is empty, the summary will append text "description" at the end of summary
  - [BIGTOP-542] - Issue when installing the new zkfc
  - [BIGTOP-545] - package testing manifest in trunk needs to be updated
  - [BIGTOP-549] - update puppet code for the latest state of HA in Hadoop
  - [BIGTOP-553] - Metadata for packages needs to be harmonized between RPM and Debain
  - [BIGTOP-566] - Flume NG pkg init script should allow user to customize the location of the conf dir
  - [BIGTOP-581] - Need to move iTest website to a correct location
  - [BIGTOP-584] - Fix hive smoke test failures in trunk
  - [BIGTOP-591] - libhdfs0-dev is missing files
  - [BIGTOP-615] - Add support for Ambrose Pig job visualization
  - [BIGTOP-624] - running start on a service already running should return success
  - [BIGTOP-634] - Weird output when doing an init action on oozie when it is already running
  - [BIGTOP-637] - Update boxgrinder appliance for the coming release
  - [BIGTOP-644] - fix the runlevels for a few packages in yum/apt/zypper
  - [BIGTOP-648] - hbase-thrift cannot be started properly
  - [BIGTOP-654] - Set nproc for HDFS user
  - [BIGTOP-658] - Move hbase dependency in hive out of the main package
  - [BIGTOP-662] - cannot start hue-server
  - [BIGTOP-663] - cannot start sqoop-metastore in Ubuntu precise
  - [BIGTOP-664] - hive-metastore script has error when execute 'service hive-metastore status' in Ubuntu precise
  - [BIGTOP-667] - start hadoop-httpfs in SLES return 3 instead of 0
  - [BIGTOP-669] - Add DataFu to Bigtop distribution
  - [BIGTOP-676] - Update HBase version to 0.94.1-rc0
  - [BIGTOP-679] - fuse_dfs binary has moved due to HDFS-3537
  - [BIGTOP-684] - copyright header in bigtop-packages/src/common/hadoop/conf.secure/core-site.xml is in wrong place
  - [BIGTOP-686] - Apache Flume 1.2.0 went out so we should upgrade to it
  - [BIGTOP-689] - Oozie use of /var/tmp in some CentOS versions create issues
  - [BIGTOP-691] - flume gets killed too fast when the service is asked to stop
  - [BIGTOP-694] - Some HBase Scripts Need To Be Excluded From Packaging
  - [BIGTOP-699] - hadoop-fuse-dfs fails to find libjvm.so when JAVA_HOME happens to be a symlink
  - [BIGTOP-701] - Bigtop Hadoop package does not include bash tab completion
  - [BIGTOP-708] - modify Hive integration test to depends on the correct jar file
  - [BIGTOP-721] - improve the package daemon status check, check twice by some delay if status doesn't match expected value
  - [BIGTOP-725] - package service test TestServices should only do config once for a group of services
  - [BIGTOP-729] - zookeeper initd script status doesn't work
  - [BIGTOP-734] - Proposed fixes to Hive logging configuration
  - [BIGTOP-740] - improve the package file content tests to ignore platform specific file names
  - [BIGTOP-745] - fix incorrect javadocs in test framework
  - [BIGTOP-754] - libhdfs0-dev package is empty
  - [BIGTOP-755] - YARN_HOME is now HADOOP_YARN_HOME
  - [BIGTOP-758] - [Pig] Override hadoop-core and hadoop-test artifact versions only if Hadoop < 2.x
  - [BIGTOP-759] - Flume do-component-build should set hbase.version according to BOM
  - [BIGTOP-762] - Updates for building Flume versions >= 1.2
  - [BIGTOP-766] - Make it possible to override Apache URLs for the builds that require them
  - [BIGTOP-768] - Bump the version of Groovy to 1.8
  - [BIGTOP-774] - solr build fails on Debian
  - [BIGTOP-775] - In Groovy 1.8 the behavior of a getters of static fields changed slightly
  - [BIGTOP-776] - A few updates to Oozie related packaging code to accomodate Oozie's TLP status
  - [BIGTOP-778] - move Solr app to under /solr in Tomcat deployment and provide more knobs
  - [BIGTOP-780] - cannot install hive-server in SLES
  - [BIGTOP-781] - Bigtop packages seem to have a bunch of parasitic provides
  - [BIGTOP-782] - 'service hue status' still show 'failed' after hue is started in SLES
  - [BIGTOP-783] - 'service hue stop' cannot stop the hue service in SLES
  - [BIGTOP-785] - clean up build-time dependencies in our packages
  - [BIGTOP-788] - Oozie RPM build error due to lack of usr/lib/oozie/{libserver,oozie-server,libext}
  - [BIGTOP-789] - remove shadow-utils dependency from zookeeper
  - [BIGTOP-793] - add crunch integration tests
  - [BIGTOP-794] - puppet code around hadoop_head_node breaks on newer puppets
  - [BIGTOP-795] - need to abstract away the notion of Bigtop puppet repo
  - [BIGTOP-796] - hive install tries to tickle HDFS and it shouldn't
  - [BIGTOP-797] - provide a way to 'rsync' files into HDFS during puppet deployment
  - [BIGTOP-798] - introduce a fatjar collection of all the Bigtop integration tests and all their dependencies
  - [BIGTOP-800] - BIGTOP_JSVC is lacking ARCHIVE designation
  - [BIGTOP-801] - prioritize jdk over jre in bigtop-utils javadetection
  - [BIGTOP-803] - somehow puppet gets confused by the hadoop fs output

- IMPROVEMENT
  - [BIGTOP-12] - Add HCatalog to Bigtop
  - [BIGTOP-22] - Unify init scripts
  - [BIGTOP-58] - Add man page for Mahout
  - [BIGTOP-60] - Add normal rpmbuild options for make rpm
  - [BIGTOP-78] - Misc improvments 
  - [BIGTOP-117] - Document incompatible API changes between releases
  - [BIGTOP-153] - Build should detect invalid archives in the dl directory
  - [BIGTOP-204] - Add information about supported projects and criteria for support to Apache Bigtop website
  - [BIGTOP-233] - Ubuntu integration: ufw application profiles
  - [BIGTOP-245] - Improve Bigtop layout
  - [BIGTOP-263] - we need a way to provide supervision for long running daemon applications
  - [BIGTOP-284] - It would be nice to integrate Nutch crawling as one of the MR (and perhaps HBase) tests for Bigtop
  - [BIGTOP-304] - document test creation and test execution steps in Bigtop
  - [BIGTOP-351] - Make HBASE_HEAPSIZE manageable via puppet
  - [BIGTOP-375] - Publish a table of component dependency versions
  - [BIGTOP-410] - Build secure version of HBase
  - [BIGTOP-433] - Make variables used in build/install scripts consistent
  - [BIGTOP-451] - ooziedb.sh script should run as the unix user that runs oozie server
  - [BIGTOP-452] - oozie installation should offer to run ooziedb.sh
  - [BIGTOP-456] - Consider splitting homedir between mapred and hdfs users?
  - [BIGTOP-476] - Improvement of BigTop iTest framework
  - [BIGTOP-497] - add bash tab completion to our hadoop packages
  - [BIGTOP-517] - Flume packaging should use the term "agent" instead of "node".
  - [BIGTOP-536] - provide suitable title in the <title> tag of the main home page for bigtop-incubating
  - [BIGTOP-547] - create an HDFS setup helper script
  - [BIGTOP-550] - Add ability to have multiple zookeeper servers to puppet
  - [BIGTOP-571] - we might need to guard against direct use of the upstream launcher scripts
  - [BIGTOP-575] - [Pseudo-dist config] Should yarn.nodemanager.remote-app-log-dir really be set?
  - [BIGTOP-576] - Minor discrepancy in naming of logs/users vs. base log directories
  - [BIGTOP-640] - Sync up dependency library versions automatically
  - [BIGTOP-670] - provide a link to our Jenkins server from the Bigtop's project page
  - [BIGTOP-680] - Write util function to capture test input parameters
  - [BIGTOP-688] - improve hue packaging via making virtual env relocatable and moving DB files into /var/lib/hue
  - [BIGTOP-710] - Create a higher level orchestration deployment framework
  - [BIGTOP-712] - Bigtop 0.5.0 release
  - [BIGTOP-713] - use newer debhelper and source format 3.0 (quilt) for Debian and Ubuntu packaging
  - [BIGTOP-716] - standardize on bash as a shell of choice
  - [BIGTOP-718] - Update wiki for component requirements
  - [BIGTOP-726] - make it possible to run HiveBulkScriptExecutor scripts selectively
  - [BIGTOP-731] - Reorganize Hadoop tests
  - [BIGTOP-742] - tighten permissions on hadoop services home directories
  - [BIGTOP-756] - Provide the thrift API interface file in the HBase packages
  - [BIGTOP-757] - Install ZooKeeper jars into the local Maven cache
  - [BIGTOP-769] - Create a generic shell executor iTest driver
  - [BIGTOP-772] - Remove all references to the incubation from the trunk of Bigtop
  - [BIGTOP-777] - separate the Package Tests into service tests, file content tests, and dependency tests
  - [BIGTOP-779] - create a config management utility for SolrCloud
  - [BIGTOP-784] - test deployment code on all of the supported platforms (using OpenJDK7 where available)
  - [BIGTOP-787] - Surface all possible options in /etc/default/flume-node
  - [BIGTOP-792] - org.apache.bigtop.itest.posix.Service needs to be updated to accomodate upstart/systemd
  - [BIGTOP-799] - create an itest method for unpacking all the resources into the HDFS or local filesystem
  - [BIGTOP-802] - Add rollback option to DataNode service script
  - [BIGTOP-806] - now that MAPREDUCE-3916 is fixed we should enable webproxy

- NEW FEATURE
  - [BIGTOP-42] - Start doing testpatch-like patch validation
  - [BIGTOP-64] - Package Apache tools used in Bigtop builds
  - [BIGTOP-101] - Need to come up with a strategy for dealing with soft dependencies between packages
  - [BIGTOP-103] - add support for upstart service management facility
  - [BIGTOP-116] - Add support for systemd
  - [BIGTOP-220] - Add mrunit to Bigtop
  - [BIGTOP-246] - Provide more verbose output at artifact build time
  - [BIGTOP-276] - Standardize how clients create classpaths and java.library.paths
  - [BIGTOP-350] - Some sort of system expert would be useful for manifests reviews
  - [BIGTOP-399] - Provide a one-click install package for seamless deployment of Bigtop from the release/nightly repos
  - [BIGTOP-458] - Create some builds/tests jobs for openJDK 6 and 7 on bigtop01 jenkins
  - [BIGTOP-460] - Add support for daemontools-encore
  - [BIGTOP-524] - Add tests to verify that our init scripts conform to the LSB specification
  - [BIGTOP-594] - Introduce git-style bigtop command line and BIGTOP_HOME environment variable
  - [BIGTOP-601] - introduce bigtop-build packages for packaging build-time dependencies
  - [BIGTOP-635] - Implement a cluster-abstraction, discovery and manipulation framework for iTest
  - [BIGTOP-685] - provide a way to specify the parameters expected by a test
  - [BIGTOP-687] - Support YARN as a subproject of Hadoop
  - [BIGTOP-730] - add tarball driver into Bigtop

- TASK
  - [BIGTOP-236] - The user installed by hbase gets an incorrect home directory
  - [BIGTOP-314] - add ZooKeeper systest to Bigtop testing regime 
  - [BIGTOP-406] - Enable openSuse VM on bigtop01
  - [BIGTOP-439] - we need to review package test manifest for the Bigtop 0.4.0 release
  - [BIGTOP-681] - Package tests needed for new DataFu package
  - [BIGTOP-715] - Add Spark packaging
  - [BIGTOP-720] - Build environment automation
  - [BIGTOP-760] - Push artifacts from non-Maven projects into local Maven cache

- TEST
  - [BIGTOP-614] - Add HDFS HA tests
  - [BIGTOP-621] - Add test for distcp - intra cluster
  - [BIGTOP-625] - Add HDFS Append Test
  - [BIGTOP-629] - Adding Automated HA Tests 
  - [BIGTOP-693] - Add hadoop-fuse-dfs test
  - [BIGTOP-719] - Add TestTextSnappy to test hadoop fs -text with snappy compressed files
  - [BIGTOP-728] - add datafu integration test

- WISH
  - [BIGTOP-67] - Resize bigtop logo in header of website

* Release 0.4.0 (2012-06-25)

- SUB-TASK
  - [BIGTOP-249] - Fix namenode webapp
  - [BIGTOP-250] - Build contrib modules
  - [BIGTOP-251] - Making sure security works with the new packages for hadoop 0.23
  - [BIGTOP-254] - Write init scripts for the new yarn services
  - [BIGTOP-268] - Examples do not run
  - [BIGTOP-270] - Need to create versionless jars for integration point with other projects
  - [BIGTOP-271] - Kill the sbin package for hadoop 0.23
  - [BIGTOP-299] - Recording the fact that Java needs to be installed *before* installing Bigtop (at least on Ubuntu)
  - [BIGTOP-300] - Record the information on slow mirrors
  - [BIGTOP-387] - Zookeeper version needs to be updated to 3.4.3
  - [BIGTOP-424] - Bump version of Oozie to 3.1.3
  - [BIGTOP-527] - Integrate Hue 2.0.0 into Bigtop
  - [BIGTOP-538] - update puppet code for  BIGTOP-535
  - [BIGTOP-539] - update puppet code for  BIGTOP-534
  - [BIGTOP-603] - Bump version of Pig to 0.10.0
  - [BIGTOP-604] - Bump version of Hive to 0.9.0
  - [BIGTOP-605] - Create How To Release document
  - [BIGTOP-606] - Bump version of HBase to 0.94.0
  - [BIGTOP-617] - Bump version of Oozie to 3.2.0
  - [BIGTOP-628] - bump version of Mahout to 0.7.0

- BUG FIXES
  - [BIGTOP-96] - Mahout examples try to write to /usr/lib/mahout/examples/bin/work
  - [BIGTOP-162] - downstream components need to be patched to be compatible with MR2
  - [BIGTOP-186] - whirr package ships source code and needs some permissions fixes
  - [BIGTOP-264] - Hadoop 23 upstream tarball put some of its hadoop jars in the same directory as some of the dependencies
  - [BIGTOP-269] - in .23 HBase need to link to a much wider set of hadoop jars
  - [BIGTOP-272] - small cleanup for hadoop 0.23
  - [BIGTOP-274] - yarn-site.xml needs to be addedd to the Hadoop client classpath
  - [BIGTOP-277] - hive package in hadoop-0.23 branch is hopelessly broken
  - [BIGTOP-283] - in hadoop-0.23 the sha for Hadoop needs to be bumped to the 23.1-SNAPSHOT cut off point
  - [BIGTOP-285] - Remove source jars from hadoop-0.23
  - [BIGTOP-286] - hadoop-0.23: hadoop-mapreduce-examples.jar is empty
  - [BIGTOP-288] - hadoop-0.23: pig contrib should have jars
  - [BIGTOP-289] - hadoop-0.23: need to package native libraries for compression
  - [BIGTOP-291] - __id_u RPM macro seems to be disabled in newer versions of RPMs
  - [BIGTOP-294] - brp-repack-jars chokes on guice-2.0.jar because of the directories without any read permission
  - [BIGTOP-308] - hadoop-0.23 branch doesn't provide .so links to hadoop native libraries
  - [BIGTOP-309] - hadoop-0.23 puppet code needs to deploy history server
  - [BIGTOP-312] - Puppet resource dependency syntax used in hadoop/manifests/init.pp doesn't always work
  - [BIGTOP-316] - split up hadoop packages into common, hdfs, mapreduce (and yarn)
  - [BIGTOP-325] - bump version of Zookeeper to 3.4.2
  - [BIGTOP-331] - our init scripts fail to detect a failed history server in hadoop 0.23
  - [BIGTOP-333] - heed to start properly packaging httpfs
  - [BIGTOP-338] - hadoop 0.23 doc package does not contain generated documentation
  - [BIGTOP-339] - zookeeper init.d script has a typo in PID file location
  - [BIGTOP-341] -  hadoop streaming is not available in hadoop-0.23 branch
  - [BIGTOP-344] - puppet code needs to be updated to be able to deploy Hadoop 0.23 YARN in a secure fashion
  - [BIGTOP-345] - container-executor.conf.dir needs to be set to /etc/hadoop/conf
  - [BIGTOP-346] - container-executor needs to be owned by root:yarn and have permissions of 6050
  - [BIGTOP-348] - jsvc location needs to be updated in init.d datanode script
  - [BIGTOP-349] - jsvc from hadoop build fails on some of the Linux systems that Bigtop has to support
  - [BIGTOP-355] - missed yarn.nodemanager.local-dirs, yarn.nodemanager.log-dirs and yarn.nodemanager.remote-app-log-dir in our puppet code
  - [BIGTOP-357] - libjvm.so dependency on CentOS can only be satisfied by libgcj in some cases
  - [BIGTOP-359] - documentation build is picked from the wrong place
  - [BIGTOP-367] - Upgrade sequencing issue
  - [BIGTOP-369] - pig package has license files in the wrong location
  - [BIGTOP-372] - hive can't be started without setting HADOOP_HOME
  - [BIGTOP-373] - bigtop-detect-javahome not customizable
  - [BIGTOP-376] - Remove unused obsolete statement in hadoop packaging
  - [BIGTOP-378] - history server security configs are missing
  - [BIGTOP-381] - need to catch up with the HEAD of hadoop-common in hadoop-0.23
  - [BIGTOP-383] - bigtop-detect-javahome installed at location unexpected by scripts on SLES
  - [BIGTOP-389] - need to start packaging apache commons daemon jsvc
  - [BIGTOP-392] - zookeeper package needs to be updated for 3.4 series
  - [BIGTOP-393] - hadoop packages don't set nproc
  - [BIGTOP-396] - Missing resource dependencies in puppet for secure clusters
  - [BIGTOP-397] - hbase, sqoop and oozie don't use alternatives for managing configuration
  - [BIGTOP-402] - manifests for package testing contain way too many duplicate data
  - [BIGTOP-407] - hadoop package can't be installed on debian
  - [BIGTOP-408] - HBase build needs to be worked around in hadoop-0.23 branch
  - [BIGTOP-409] - sqoop build fails on SLES
  - [BIGTOP-415] - need to workaround MAPREDUCE-3890
  - [BIGTOP-416] - run levels for init.d scripts need to be harmonized
  - [BIGTOP-417] - webapps shipped by bigtop components should be using a system-provided Tomcat
  - [BIGTOP-418] - Package MAPREDUCE-2858 (MRv2 WebApp Security)
  - [BIGTOP-420] - bigtop-detect-javahome installed at location unexpected by scripts on SLES
  - [BIGTOP-421] - Sign every single file from the convenience artefact in the releases
  - [BIGTOP-422] - need to start packaging fuse for Hadoop 0.23
  - [BIGTOP-423] - hadoop package needs to be split into hadoop-client and hadoop-server packages
  - [BIGTOP-426] - build failures in hadoop-0.23 branch
  - [BIGTOP-428] - sqoop build needs to be forced to depend on HBase 0.92.0 artifacts
  - [BIGTOP-429] - CATALINA_PID needs to be updated in hadoop-httpfs.default to correspond to the calculated value
  - [BIGTOP-430] - oozie examples are missing
  - [BIGTOP-434] - Potential issue in the way Bigtop test infrastructure deal with arch in packages
  - [BIGTOP-435] - need to split hadoop subpackages even further for hadoop-0.23
  - [BIGTOP-438] - need to bump the version of hadoop .23 to hadoop-0.23.3-SNAPSHOT
  - [BIGTOP-443] - deb/oozie/oozie-client.postinst installs an alternative for a path that isn't there
  - [BIGTOP-448] - Cannot install flume-ng-node pkg
  - [BIGTOP-449] - hadoop package cleanup for hadoop-0.23
  - [BIGTOP-450] - repackage Oozie as a true webapp
  - [BIGTOP-453] - hadoop needs to depend on Zookeeper
  - [BIGTOP-455] - we still need at HADOOP_LIBEXEC_DIR=/usr/lib/hadoop/libexec to be present in our launcher scrtips
  - [BIGTOP-461] - hadoop-httpfs unconditionally removes the alternative
  - [BIGTOP-462] - JSVC_HOME location can be both /usr/lib/bigtop-utils and /usr/libexec/bigtop-utils
  - [BIGTOP-464] - There's currently a commented block in puppet/modules/hadoop/templates/yarn-site.xml that fails to render in some cases
  - [BIGTOP-467] - [puppet] yarn historyserver currently doesn't depend on the mapreduce keytab as it should
  - [BIGTOP-468] - [puppet] Fix httpfs dependencies and give it its own keytab 
  - [BIGTOP-469] - [puppet] web authentication principal missing from hdfs-site.xml
  - [BIGTOP-472] - make deb fails when building Whirr - OutOfMemoryError: PermGen space
  - [BIGTOP-473] - zookeeper man page needs to be updated
  - [BIGTOP-474] - improve Oozie integration with Hadoop 0.23
  - [BIGTOP-477] - launcher script for pig, hive, sqoop and mahout should not source /etc/default/hadoop anymore
  - [BIGTOP-478] - perhaps we should go back to mapred as a user name for mapreduce daemons in Hadoop 0.23
  - [BIGTOP-479] - init.d scripts should provide an option for initializing persistent state of the services that require it
  - [BIGTOP-480] - log aggregation knob is now yarn.log-aggregation-enable and needs to be enabled
  - [BIGTOP-481] - fix the way to handle repo key for Debian like system
  - [BIGTOP-482] - HTTPFS puppet code needs to be updated
  - [BIGTOP-484] - Fix typo error ('alredy' -> 'already')
  - [BIGTOP-485] - transition package dependencies to hadoop-client package
  - [BIGTOP-487] - oozie security configuration needs to be updated
  - [BIGTOP-488] - TestCLI missing dependency
  - [BIGTOP-493] - [puppet] core-site.xml and httpfs-site.xml end up changing every few times puppet is run
  - [BIGTOP-496] - Hive ships some source code in the package.
  - [BIGTOP-498] - Oozie's home dir is currently set to /var/run/oozie but should be /var/lib/oozie
  - [BIGTOP-500] - Oozie hive workflows are broken because of the HADOOP_HOME being deprecated
  - [BIGTOP-501] - it would help to have libext point to /var/lib/oozie in Oozie packaging
  - [BIGTOP-502] - Flume NG init script should pass --name "agent" instead of --name "<hostname>"
  - [BIGTOP-503] - remove unsupported upstream launcher scripts from packaging
  - [BIGTOP-505] - Flume should exit 0 when trying to stop a non-running service
  - [BIGTOP-506] - Flume should exit 0 when trying to start an already running service
  - [BIGTOP-507] - sqoop deb package is empty
  - [BIGTOP-509] - make all is failing because flume-1.0.0-incubating.tar.gz does not exist in APACHE_MIRROR
  - [BIGTOP-510] - log4j property must be set with property in for Flume NG pkg
  - [BIGTOP-512] - oozie can't be installed on debian
  - [BIGTOP-513] - Pig Packaging Cleanup
  - [BIGTOP-516] - it would be cleaner to get rid of mapreduce entries in limits.d/mapreduce.conf now that we consolidated the user back to mapred
  - [BIGTOP-519] - /etc/default files are not marked as configs by various hadoop packages
  - [BIGTOP-521] - Hadoop Pseudo-conf files have wrong permissions
  - [BIGTOP-526] - it could be useful to have dfs.permissions.enabled set to true in our configs
  - [BIGTOP-528] - A small patch to give better return codes which can be understood by chef and pupper among others.
  - [BIGTOP-529] - [puppet] We don't currently format zookeeper nodes on first run
  - [BIGTOP-530] - [puppet] We currently xst the HTTP principal multiple times, each time invalidating the previous one
  - [BIGTOP-537] - provide a workaround for non-LSB compliant catalina.sh handling of a stop action
  - [BIGTOP-540] - hadoop package on debian is missing JSVC_HOME specification
  - [BIGTOP-541] - Build issue for hadoop RPM
  - [BIGTOP-543] - fuse_dfs_wrapper.sh should not be provided
  - [BIGTOP-544] - zookeeper-server init doesn't work
  - [BIGTOP-546] - Hadoop rpm is missing fuse default file
  - [BIGTOP-548] - we should consider moving the creation of the hive user into the hive package
  - [BIGTOP-552] - Enable HDFS durable sync
  - [BIGTOP-554] - rat is complaining again
  - [BIGTOP-556] - hbase, yarn and hdfs users are getting incorrect home directories on Debian
  - [BIGTOP-557] - /etc/oozie/conf and oozie-conf alternative should belong to oozie instead of oozie-client
  - [BIGTOP-558] - debian description can't have the following set of characters ${VAR}
  - [BIGTOP-559] - HttpFS fails to load Hadoop configuration after installation. 
  - [BIGTOP-560] - Flume-ng does not depend on ant or xml-commons anymore
  - [BIGTOP-561] - HBase packaging has dangling symlinks
  - [BIGTOP-562] - fix Mahout smoke test in trunk branch
  - [BIGTOP-563] - Build behind proxy fails
  - [BIGTOP-564] - Build failure for big-top trunk for pig, oozie, and whirr
  - [BIGTOP-565] - catalina-based services should be really careful with catalina stop
  - [BIGTOP-568] - Move the configuration directory for hadoop to /etc/hadoop
  - [BIGTOP-574] - Add netcat and fuser as dependencies for some of the Bigtop stack. 
  - [BIGTOP-579] - hadoop-yarn creates log files with inconsistent ownership on Debian/Ubuntu
  - [BIGTOP-580] - a wrapper for the ZooKeeper cleanup script is missing
  - [BIGTOP-582] - when running Hadoop daemons pidofproc is mistakenly looking for 'su' instead of 'java'
  - [BIGTOP-583] - "Class path contains multiple SLF4J bindings" warnings
  - [BIGTOP-585] - hbase package has dangling symlinks
  - [BIGTOP-586] - HBase package should provide a versionless symlink to a jar for other projects to depend upon
  - [BIGTOP-587] - Hive package needs to depend on Zookeper and HBase
  - [BIGTOP-588] - Oozie puppet code needs to take care of initializing the DB
  - [BIGTOP-589] - TestLoadAndVerify's HBase scanner caching setting too high
  - [BIGTOP-590] - hadoop man page needs to be updated
  - [BIGTOP-592] - clean up content of conf.empty and conf.pseudo config files
  - [BIGTOP-593] - improve the package test to handle [arch=xx] in the repo file
  - [BIGTOP-595] - flume-ng agent should honor /etc/default settings
  - [BIGTOP-596] - move service configuration from groovy code to package xml manifest file
  - [BIGTOP-597] - Flume init scripts should not create the log and lock directories.
  - [BIGTOP-598] - missing zookeeper init on debian
  - [BIGTOP-599] - /var/lock/subsys may not exist on some distributions and this create some issues in Apache Hadoop
  - [BIGTOP-600] - hbase init script should not source hbase-config
  - [BIGTOP-607] - remove python build dependency from Hive package
  - [BIGTOP-608] - remove source/build artifacts from the Pig package
  - [BIGTOP-609] - add support for openjdk 1.7
  - [BIGTOP-616] - Fix TestHadoopSmoke and TestHadoopExamples: tests look for streaming and examples jar in wrong directory
  - [BIGTOP-626] - small misc. issues with the newly introduced Giraph package
  - [BIGTOP-630] - Fix services priorities
  - [BIGTOP-633] - bigtop-utils packages should depend on 'which'
  - [BIGTOP-636] - a few minor tweaks to the Hue deployment code
  - [BIGTOP-638] - move <services> block from common package_date.xml to each platform's (yum, apt, zypper) package_data.xml
  - [BIGTOP-639] - sqoop-metastore cannot stop because "Could not load db driver class: org.hsqldb.jdbcDriver"
  - [BIGTOP-642] - Suse does not have a package named which 
  - [BIGTOP-643] - Fix package statement in TestHDFSQuota
  - [BIGTOP-646] - update metadata for Hue in the package testing manifest
  - [BIGTOP-647] - service flume-node fail to start
  - [BIGTOP-648] - hbase-thrift cannot be started properly
  - [BIGTOP-649] - PackageTestCommon.checkRemoval() is broken
  - [BIGTOP-650] - Override libexecdir for bigtop-utils on mageia

- IMPROVEMENT
  - [BIGTOP-266] - Need to override default yarn task classpath
  - [BIGTOP-273] - Need to update puppet recipies for Hadoop 0.23 deployment
  - [BIGTOP-313] - Move puppet configuration out of manifest and into extlookup() CSV
  - [BIGTOP-322] - update .gitignore to ignore backup files and eclipse generated files.
  - [BIGTOP-332] - it would be nice to bump hadoop version to 0.23.1-SNAPSHOT across the stack
  - [BIGTOP-366] - Set some minimum versions for ZK + Flume
  - [BIGTOP-371] - Update bigtop repository url for the applance
  - [BIGTOP-454] - update oozie man page
  - [BIGTOP-465] - webhdfs isn't in the puppeted hadoop configuration
  - [BIGTOP-466] - Secure zookeeper support missing from puppet
  - [BIGTOP-470] - [puppet] Improve secure configuration for zk and hbase
  - [BIGTOP-475] - Provides initscript for the REST HBase gateway
  - [BIGTOP-522] - Minor Hive Packaging Cleanup
  - [BIGTOP-534] - Need init.d script for zkfc
  - [BIGTOP-535] - add httpfs config property pointing to hadoop conf dir
  - [BIGTOP-555] - Bump version of HBase to 0.92.1
  - [BIGTOP-567] - Make sure we can detect the JAVA_HOME for java-package built JDK package
  - [BIGTOP-572] - Fix HDFS directory values in pseudo-conf hdfs-site.xml for 0.23+ NN/DN/SNN
  - [BIGTOP-573] - we no longer have to override container-executor.conf.dir
  - [BIGTOP-577] - [base conf] There's no hadoop-metrics2.properties present in the configs that are shipped.

- NEW FEATURE
  - [BIGTOP-248] - Update packages for Hadoop 0.23
  - [BIGTOP-267] - Need to implement implement makefiles logic for tarball builds
  - [BIGTOP-306] - Make a boxgrinder appliance
  - [BIGTOP-405] - Create a bootable ISO
  - [BIGTOP-495] - [puppet] Add support for HA namenodes
  - [BIGTOP-570] - Build package for Apache Giraph
  - [BIGTOP-578] - Integrate Hue 2.0.0 into Bigtop
  - [BIGTOP-602] - Bigtop 0.4.0 release

- TASK
  - [BIGTOP-298] - Upgrade to ZooKeeper 3.4.1
  - [BIGTOP-319] - update to Mahout 0.6
  - [BIGTOP-494] - Create Flume 1.1.0 packages in Bigtop

- TEST
  - [BIGTOP-321] - Make TestLoadAndVerify parameterizable and runnable from command line
  - [BIGTOP-444] - Add sqoop smoke tests
  - [BIGTOP-569] - fix for TestCLI failures due to change in behavior of hadoop fs -put
  - [BIGTOP-610] - Add basic hdfs fsck test and move logError helper to bigtop-test-framework
  - [BIGTOP-611] - Add HBase TestImportTsv
  - [BIGTOP-618] - Add HBase hbck test 
  - [BIGTOP-619] - Add HBase CopyTable test
  - [BIGTOP-620] - Add test for dfsadmin commands
  - [BIGTOP-622] - Add test for HDFS Balancer
  - [BIGTOP-623] - Add test for HDFS Quota Testing
  - [BIGTOP-627] - Add HBase balancer test 
  - [BIGTOP-631] - Add HBase Import/Export test
  - [BIGTOP-641] - Add hdfs fsck options in TestFsck

* Release 0.3.0 (2012-03-20)

- SUB-TASK
  - BIGTOP-53: Bump version of flume to 0.9.4
  - BIGTOP-253: Update the debs for hadoop 0.23
  - BIGTOP-317: rename hadoop-zookeeper package into zookeeper
  - BIGTOP-327: rename hadoop-hbase package into hbase
  - BIGTOP-328: rename hadoop-pig package into pig
  - BIGTOP-329: rename hadoop-hive package into hive
  - BIGTOP-353: Bump version of Hadoop to 1.0.1
  - BIGTOP-354: Bump version of HBase to 0.92
  - BIGTOP-360: Bump version of Hive to 0.8.1
  - BIGTOP-361: Bump version of Pig to 0.9.2
  - BIGTOP-362: Bump version of Whirr to 0.7.0
  - BIGTOP-363: Bump version of sqoop to sqoop-1.4.1
  - BIGTOP-387: Zookeeper version needs to be updated to 3.4.3
  - BIGTOP-388: Let's add Mahout 0.6 to trunk
  - BIGTOP-424: Bump version of Oozie to 3.1.3

- BUG
  - BIGTOP-89: mahout examples in package using mahout from /usr/lib/mahout/bin/mahout rather than /usr/bin/mahout
  - BIGTOP-191: refactor hadoop::create_hdfs_dirs
  - BIGTOP-209: on debian hadoop launcher script has exec debian/tmp/usr/lib/hadoop/bin/hadoop
  - BIGTOP-241: hadoop .21+ requires /jobtracker to be available in HDFS
  - BIGTOP-247: Typo in error msgs
  - BIGTOP-257: HBase test source files are in wrong dir, cause compiler errors within Eclipse
  - BIGTOP-258: Compilation Error in sqoop-integration project when using Eclipse
  - BIGTOP-259: Most of the mahout tests can't be executed out-of-the box
  - BIGTOP-262: Compilation Error in  project hadoop-smoke when using Eclipse
  - BIGTOP-265: HBase smoke test execution needs to have extra class-path elements to pick up HBase configs
  - BIGTOP-278: bigtop-packages/src/common/hadoop/do-component-build contains bash syntax but is executed by dash on Debian/Ubuntu
  - BIGTOP-296: puppet code for sqoop module lacks require for sqoop package
  - BIGTOP-312: Puppet resource dependency syntax used in hadoop/manifests/init.pp doesn't always work
  - BIGTOP-315: Cut-n-paste remains of @HADOOP_DAEMON@ in non-hadoop init.d scripts
  - BIGTOP-318: Appliance VM should not have an ephemeral Apache Bigtop (incubating) repository
  - BIGTOP-320: hive RPM spec uses missing __rmdir macros
  - BIGTOP-325: bump version of Zookeeper to 3.4.2
  - BIGTOP-334: Boxgrinder does not support space in repo names
  - BIGTOP-339: zookeeper init.d script has a typo in PID file location
  - BIGTOP-342: Flume build and install scripts should be executable
  - BIGTOP-343: BIGTOP-109 was not applied to debs
  - BIGTOP-352: bump versions of the components required for the next quarterly release of Bigtop
  - BIGTOP-356: hbase pacakge should not ship jar files provided by zookeeper and hadoop
  - BIGTOP-365: Hive metastore hangs on startup on Centos5
  - BIGTOP-367: Upgrade sequencing issue
  - BIGTOP-370: Hive metastore does not initialize with permissions failure
  - BIGTOP-373: bigtop-detect-javahome not customizable
  - BIGTOP-374: bigtop-detect-javahome does not pickup new multiarch locations in Debian/Ubuntu
  - BIGTOP-376: Remove unused obsolete statement in hadoop packaging
  - BIGTOP-379: Package testing for Bigtop 0.3.0 release
  - BIGTOP-382: hadoop-conf-pseudo packages contains subversion metada
  - BIGTOP-383: bigtop-detect-javahome installed at location unexpected by scripts on SLES
  - BIGTOP-384: HBase bundle 2 different versions of hadoop as well as a zookeeper version
  - BIGTOP-386: HBase execution script should exclude ZOOKEEPER_CONF
  - BIGTOP-390: add Fedora to the list of platforms recongnized by iTest
  - BIGTOP-391: update package test manifest
  - BIGTOP-392: zookeeper package needs to be updated for 3.4 series
  - BIGTOP-393: hadoop packages don't set nproc
  - BIGTOP-394: hbase postinst script needs to be renamed
  - BIGTOP-396: Missing resource dependencies in puppet for secure clusters
  - BIGTOP-397: hbase, sqoop and oozie don't use alternatives for managing configuration
  - BIGTOP-401: unable to run hadoop-mapreduce-historyserver
  - BIGTOP-402: manifests for package testing contain way too many duplicate data
  - BIGTOP-404: flume-ng does not start
  - BIGTOP-420: bigtop-detect-javahome installed at location unexpected by scripts on SLES
  - BIGTOP-427: Add support to itest-common for Oracle Linux
  - BIGTOP-428: sqoop build needs to be forced to depend on HBase 0.92.0 artifacts
  - BIGTOP-430: oozie examples are missing
  - BIGTOP-431: Last bump to Hadoop 1.0.1 has broken Mageia's build of Apache Hadoop
  - BIGTOP-432: BIGTOP-424 broke oozie build
  - BIGTOP-437: hadoop 1.0.1 complains about HADOOP_HOME being deprecated
  - BIGTOP-440: need to cleanup pom files in bigtop-tests/test-execution
  - BIGTOP-442: add Apache license to the puppet code
  - BIGTOP-443: deb/oozie/oozie-client.postinst installs an alternative for a path that isn't there
  - BIGTOP-446: Typo in hadoop module for puppet
  - BIGTOP-459: remove references to cloudera from the packaging files

- IMPROVEMENT
  - BIGTOP-17: HBase has no "alternatives" whereas Hadoop and ZK do
  - BIGTOP-210: Organize yum repo by architecture
  - BIGTOP-221: Remove hadoop prefix from non-hadoop packages
  - BIGTOP-261: pseudo distributed config would benefit from dfs.safemode.extension set to 0 and dfs.safemode.min.datanodes set to 1
  - BIGTOP-281: Ivy home for Debian builds should be set to $HOME/.ivy2
  - BIGTOP-313: Move puppet configuration out of manifest and into extlookup() CSV
  - BIGTOP-322: update .gitignore to ignore backup files and eclipse generated files.
  - BIGTOP-371: Update bigtop repository url for the applance

- NEW FEATURE
  - BIGTOP-255: add tests for Mahout
  - BIGTOP-260: Mahout puppet module needs to be implemented
  - BIGTOP-303: Rename Bigtop packages to reflect TLP status of packaged projects
  - BIGTOP-306: Make a boxgrinder appliance
  - BIGTOP-323: Start integrating Flume NG
  - BIGTOP-403: RPM Packages should display the GNU/Linux distribution they are supposed to be installed on
  - BIGTOP-405: Create a bootable ISO

- TASK
  - BIGTOP-157: add support for ZooKeeper version 3.4.0
  - BIGTOP-298: Upgrade to ZooKeeper 3.4.1
  - BIGTOP-439: we need to review package test manifest for the Bigtop 0.3.0 release

- TEST
  - BIGTOP-287: Integrating test for HBASE-4570
  - BIGTOP-321: Make TestLoadAndVerify parameterizable and runnable from command line
  - BIGTOP-411: Add TestRegionMover to HBase system tests
  - BIGTOP-412: Add TestMoveRootMetaRegions to HBase system tests
  - BIGTOP-414: enable hadoop tests in hadoop-0.23 branch to build and to run

* Release 0.2.0 (2011-11-07)

- INCOMPATIBLE CHANGES

- IMPROVEMENTS
  - BIGTOP-11: Adds Apache Mahout (0.5) to Bigtop. (rvs)
  - BIGTOP-25: Add a new bigtop-utils package which provides some java home autodetection (bmahe)
  - BIGTOP-34: Add Hive server package (rvs)
  - BIGTOP-54: Bump version of oozie to 2.3.2 (rvs)
  - BIGTOP-55: Bump version of sqoop to sqoop-1.3.0 (rvs)
  - BIGTOP-56: Bump version of hive to hive-0.7.1 (rvs)
  - BIGTOP-90: Bump version of Hadoop to 0.20.205.0 (rvs)
  - BIGTOP-95: Puppet-based deployment infrastructure needs to be added to bigtop (rvs)
  - BIGTOP-120: Bump version of pig to 0.9.1 (rvs)
  - BIGTOP-121: Bump version of HBase to 0.90.4 (rvs)

- BUG FIXES
  - BIGTOP-27: Add disclaimer to website. (edwardyoon)
  - BIGTOP-4:  Tweaks POMs to use Apache POM as parent, get rid of obsolete infrastructure info. (abayer)
  - BIGTOP-15: Adds build dependency on libssl-dev on Debian. (plinnell)
  - BIGTOP-20: hard-coded pid location in Hadoop init.d scripts (rvs)
  - BIGTOP-26: Fixing svn properties. (abayer)
  - BIGTOP-29: Remove java dependency from all os types (rvs)
  - BIGTOP-30: Fixes ownership of /usr/lib/flume/bin/flume-daemon.sh. (abayer)
  - BIGTOP-31: Remove /usr/lib/whirr/cli/whirr.log from packaging. (abayer)
  - BIGTOP-32: Hadoop fuse package should include a file with defaults (rvs)
  - BIGTOP-38: Add link to the mailing list archives to the Bigtop website (rvs)
  - BIGTOP-40: iTest package names/groupIds need to be moved to org.apache rather than com.cloudera (rvs)
  - BIGTOP-43: HBase and Whirr should now rebuild for Debian packages. (abayer)
  - BIGTOP-45: Fix build issue for Mageia and openSUSE (bmahe)
  - BIGTOP-46: Switches to libzip1 and libzip-dev for Hadoop Debian dependencies. (abayer)
  - BIGTOP-47: Switch Whirr to download from archive.apache.org. (abayer)
  - BIGTOP-48: Fix pig build on Mageia (bmahe)
  - BIGTOP-50: Flume init script's dependency on syslog needs to be removed (rvs)
  - BIGTOP-51: Reorganizes source repository. (abayer)
  - BIGTOP-52: Fold integration/sqoop tests into smokes (rvs)
  - BIGTOP-57: Apt repo creation fails due to invalid distributions file (rvs)
  - BIGTOP-61: HBase fails to add HADOOP_CONF_DIR to its classpath (rvs)
  - BIGTOP-62: /usr/lib/hbase and everything within is owned by hbase:hbase (rvs)
  - BIGTOP-63: Hbase leaves some unnecessary directories and symlinks when being uninstalled (rvs)
  - BIGTOP-68: Moves test-artifacts/(module)/src/test to .../src/main. (abayer)
  - BIGTOP-69: Certain tests in iTest common require extraneous dependencies and should be @Ignored for now (rvs)
  - BIGTOP-70: Need to stub Hadoop 0.21+ dependencies for now in test artifacts (rvs)
  - BIGTOP-71: If explicit Ant dependency was not specified, unit tests would fail. (abayer)
  - BIGTOP-72: Gmaven plugin needs to be explicitly bound to compilation goals (rvs)
  - BIGTOP-73: oozie-client can't be safely removed on Debian (rvs)
  - BIGTOP-74: Add Mahout to package readiness tests (rvs)
  - BIGTOP-75: Mahout package is broken (rvs)
  - BIGTOP-76: Package tests need to be refactored in order to provide accurate reporting (rvs)
  - BIGTOP-77: All of our config files should be marked %config and (noreplace) (rvs)
  - BIGTOP-80: Add package dependencies to Zookeeper RPM for programs invoked from install/uninstall scripts (rvs)
  - BIGTOP-81: oozie-setup.sh script fails if Oozie has not been started once (rvs)
  - BIGTOP-82: Package testing manifest needs to be updated now that we've enabled more tests (rvs)
  - BIGTOP-83: Advanced checks in checkRemoval need to be moved out (rvs)
  - BIGTOP-84: Package removal fails in case alternatives are deleted or damaged (rvs)
  - BIGTOP-85: hadoop package ships native files (rvs)
  - BIGTOP-86: Misc. issues with Oozie package (rvs)
  - BIGTOP-87: The following packages don't remove alternatives: flume, hadoop-pig, hadoop-hive, hadoop-hbase (rvs)
  - BIGTOP-88: Use Hadoop package's hadoop jar in classpath. (abayer)
  - BIGTOP-91: Docs should be in %{_docdir}/<PACKAGE_NAME>-<PACKAGE_VERSION> (rvs)
  - BIGTOP-92: Flume's dependency on ZK needs to be the same for DEB as it is for RPM (rvs)
  - BIGTOP-93: ZK dependencies can not be satisfied on SUSE (rvs)
  - BIGTOP-94: chkconfig startup priorities need to be normalized (rvs)
  - BIGTOP-97: default files need to be normalized and moved to common (rvs)
  - BIGTOP-99: Fix sqoop build for Mageia (bmahe)
  - BIGTOP-100: Whirr packaging build fails if we're not running the tests. (abayer)
  - BIGTOP-102: daemons need to be taken care of when packages are installed/upgraded/uninstalled (rvs)
  - BIGTOP-104: hadoop daemons can not be started because hadoop-config.sh resets HADOOP_HOME (rvs)
  - BIGTOP-105: hadoop services can not be started with the default configs in place (rvs)
  - BIGTOP-108: oozie docs are installed at the incorrect location (rvs)
  - BIGTOP-109: Hadoop should not format the namenode on installation (bmahe)
  - BIGTOP-110: DN can't be started in secure configuration on SLES (rvs)
  - BIGTOP-111: Add urpmi support in test framework for Mageia (bmahe)
  - BIGTOP-112: Fixes for Mageia * Fix zlib dependency for Mageia * Replace textutils dependency by coreutils (bmahe)
  - BIGTOP-113: Fix dependency for mageia on lsb init scripts helpers for flume, hadoop, sqoop, zookeeper and hbase (bmahe)
  - BIGTOP-119: Create version-less symlinks of hadoop jars (bmahe)
  - BIGTOP-122: enable hadoop-sbin package (rvs)
  - BIGTOP-123: enable hadoop-fuse package (rvs)
  - BIGTOP-124: documentation on SLES is not supposed to have package version embedded in the directory name (rvs)
  - BIGTOP-125: whir package is full of build artifacts (rvs)
  - BIGTOP-126: zookeeper rpm should require groupadd/useradd (rvs)
  - BIGTOP-127: BIGTO-120 broke build on at least Fedora (and Mageia) (rvs)
  - BIGTOP-128: Need to call create-c++-configure target so autoreconf is called for native projects (bmahe)
  - BIGTOP-129: oozie init.d scripts should transition to using oozied.sh from upstream (rvs)
  - BIGTOP-130: Mahout package has an unneeded dependency on chkconfig (rvs)
  - BIGTOP-131: RPM dependencies for flume need to be optimized (rvs)
  - BIGTOP-132: hadoop datanode on SLES returns an incorrect code on stop/start (rvs)
  - BIGTOP-133: hadoop packages should set up nofile limits automatically (rvs)
  - BIGTOP-134: hbase packages should set up nofile limits automatically (rvs)
  - BIGTOP-136: hadoop package still leaves binary files in /usr/lib/hadoop/lib (rvs)
  - BIGTOP-137: task-controller needs to be rebuilt (rvs)
  - BIGTOP-138: task-controller binary needs to be root:mapred with 4750 permissions (rvs)
  - BIGTOP-139: links to jsvc and task-controller need to be provided in order to make hard-coded values work (rvs)
  - BIGTOP-140: need to workaround HDFS-1943 (rvs)
  - BIGTOP-141: hadoop now requires an explicit declaration of a HADOOP_SECURE_DN_USER in order to run a secure datanode (rvs)
  - BIGTOP-142: need to update zookeeper manifest to the state of packages (rvs)
  - BIGTOP-143: need to update hadoop manifest to the state of packages (rvs)
  - BIGTOP-144: kerberos deployment needs to be made compatible with default JRE crypto setup (rvs)
  - BIGTOP-145: make cluster.pp be able to handle secure and unsecure deployments (rvs)
  - BIGTOP-148: Hadoop fuse man page does not have the right permission and RPMs should not specify its extension (bmahe)
  - BIGTOP-149: HBase now requires commons-configuration jar to be in its classpath (rvs)
  - BIGTOP-150: hadoop puppet deployment needs to install hadoop-sbin on datanodes when security is turned on (rvs)
  - BIGTOP-151: need to provide more test coverage for HBase testing (rvs)
  - BIGTOP-152: TestHadoopExamples needs refactoring into a parameterized test (rvs)
  - BIGTOP-155: need to implement a uniform way of versioning dependencies for test artifacts (rvs)
  - BIGTOP-156: Only run autoreconf when autotools >= 2.61 is installed (patch by Bruno Mahe) (rvs)
  - BIGTOP-158: oozie build pulls into oozie.war incorrect version of hadoop-core jar file (rvs)
  - BIGTOP-159: oozie init.d script is not executable (plinnell)
  - BIGTOP-160: hadoop has deprecated HADOOP_HOME (rvs)
  - BIGTOP-161: the new layout that Pig script adopted needs to be worked around (rvs)
  - BIGTOP-163: stock hadoop doesn't support wildcards in proxy users (rvs)
  - BIGTOP-164: lzo codecs need to be disabled everywhere in Bigtop (rvs)
  - BIGTOP-165: oozie manifest includes functionality (sqoop and hive actions) that is not in oozie (rvs)
  - BIGTOP-166: Add the missing examples. (plinnell)
  - BIGTOP-167: All of Hadoop wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-169: Hadoop should buildrequire openssl-devel for centos builds (plinnell)
  - BIGTOP-170: Add some known openJDK locations (bmahe)
  - BIGTOP-171: All of Pig wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-173: we still have references to hadoop-0.20 in our puppet code (rvs)
  - BIGTOP-174: Does pig really requires git to build?  (plinnell)
  - BIGTOP-175: All of HBase wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-176: Cleanup mainteners as well as mentions to Cloudera (bmahe)
  - BIGTOP-178: All of Flume wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-179: All of Hive wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-180: All of Mahout wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-181: puppeted hadoop doesn't place PID files into /var/run/hadoop (rvs)
  - BIGTOP-182: All of Oozie wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-184: All of Sqoop wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-188: All of Whirr wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-189: hadoop daemons do not run under the dedicated users (hdfs, mapred) (rvs)
  - BIGTOP-190: All of Zookeeper wrapper scripts and init.d scripts need to start include find-java code from bigtop-utils (bmahe)
  - BIGTOP-191: refactor hadoop::create_hdfs_dirs (rvs)
  - BIGTOP-192: oozie package needs to depend on unzip (rvs)
  - BIGTOP-192: oozie package needs to depend on zip (rvs)
  - BIGTOP-193: zookeeper doesn't generate any logs (rvs)
  - BIGTOP-194: source is not a sh(1) command (bmahe)
  - BIGTOP-195: Document build requirements for openSUSE 11.4 (plinnell)
  - BIGTOP-197: Package testing artifact needs to be refactored (rvs)
  - BIGTOP-198: remove hadoop-daemon.sh is included in too many packages (plinnell)
  - BIGTOP-199: whirr docs are installed in the incorrect location (rvs)
  - BIGTOP-201: bigtop package has an incorrect dependency on libhdfs.so (rvs)
  - BIGTOP-202: zookeeper package is missing zoo.cfg (rvs)
  - BIGTOP-203: sqoop needs to have access to hadoop .jars in its lib (rvs)
  - BIGTOP-205: zookeeper-server doesn't do nohup before launching a damon (rvs)
  - BIGTOP-206: during deployment time hdfs/mapred dir creation should be managed by hadoop module (rvs)
  - BIGTOP-207: zookeeper doesn't allow for overriding the location of the PID file (rvs)
  - BIGTOP-208: Zookeeper does not depend on git or subversion (bmahe)
  - BIGTOP-209: on debian hadoop launcher script has exec debian/tmp/usr/lib/hadoop/bin/hadoop (rvs)
  - BIGTOP-212: need to disable tests for features missing from Bigtop 0.2.0 (rvs)
  - BIGTOP-214: sequencing in puppet module for Hadoop needs to be imporved (rvs)
  - BIGTOP-215: make site.pp a bit more friendly to how we start up cluster in Bigtop jenkins (rvs)
  - BIGTOP-216: make oozie tests more robust in finding oozie-examples.tar.gz (rvs)
  - BIGTOP-217: workaround Hive SQL parser in headers for our tests (rvs)

* Release 0.1.0 (2011-08-19)

- INCOMPATIBLE CHANGES

- IMPROVEMENTS
  - BIGTOP-21: Add support for Mageia. (bmahe)
  - BIGTOP-14: Add CHANGES.txt file. (abayer)
  - BIGTOP-9: Add Bigtop podling website. (edwardyoon)
  - BIGTOP-6: Adding tarball generation to top-level makefile. (abayer)

- BUG FIXES
  - BIGTOP-13: Fix Hive compilation issue. (bmahe)
  - BIGTOP-10: Fixing NOTICE file. (abayer)
  - BIGTOP-8: Debian copyright files needed to be reformatted. (bmahe from James Page)
  - BIGTOP-3: Add top-level, real .gitignore file for git-svn. (abayer)
  - BIGTOP-2: Adding/updating license headers for ASF. (abayer)
  - BIGTOP-1: Initial code import. (abayer)
