Apache Whirr Change Log

Release 0.9.0 - 2014-02-18

  NEW FEATURES

    WHIRR-738. Create a service for Druid (Russell Jurney via abayer)

  IMPROVEMENTS

    WHIRR-753. Move to jclouds 1.7.0, use new SecurityGroup
    abstractions. (abayer)

    WHIRR-751. Improve Kerberos service (graham)

    WHIRR-748. Move to jclouds 1.6.2-incubating. (abayer)
    
    WHIRR-726. Allow specifying a Kerberos user other than
    $CLUSTER_USER (abayer)
    
    WHIRR-722. Improve user and system level logging capability. (graham)

    WHIRR-721. Improve robustness of volume device detection. (graham)

    WHIRR-731. Move to jclouds 1.6.1-incubating. (abayer)

    WHIRR-724. Add a listener to calls to
    ClusterActionHandlerSupport.beforeAction and .afterAction (abayer)
    
  BUG FIXES

    WHIRR-732. Fix CDH repo for Ubuntu 12.04. (sebastien goasguen via abayer)

    WHIRR-735. Update maven-javadoc-plugin to 2.9.1 to fix security
    bug. (tomwhite)

    WHIRR-747. Moving to a separate parent POM from the root-level
    POM. (abayer)

Release 0.8.2 - 2013-04-23

  IMPROVEMENTS

    WHIRR-717 Use the context name in the dynamic compute cache. (iocanel)

    WHIRR-713. Enable programmatic use of BYON via
    CacheNodeStoreModule. (abayer)
    
    WHIRR-708. Upgrade to jclouds 1.5.8. (abayer)
      
    WHIRR-705. Provide better integration between parameterized
    classes and Hiera. (Roman Shaposhnik via abayer)
    
    WHIRR-694. Install puppet from puppetlabs repo instead of ruby
    gem. (Roman Shaposhnik via abayer)
    
    WHIRR-709. Bump Hadoop to latest available version (1.0.4) at
    osuosl. (abayer)
    
    WHIRR-546. Add destroy instructions to stdout for all create
    actions. (abayer)
    
    WHIRR-712. prepare_all_disks.sh should cover xvdX as well as sdX. (abayer)
    
    WHIRR-711. Add security group support for OpenStack. (abayer)

    WHIRR-681. Enhance puppet service with an ability to export
    cluster topology to the puppet code. (Roman Shaposhnik via abayer)
  
    WHIRR-661. Upgrade to Hadoop 1.0.3. (Steve Loughran via abayer)
  
    WHIRR-634. Update private IP host file entry when required by
    AUTO_HOSTNAME_SUFFIX. (Graham Gear via abayer)
  
    WHIRR-660. Provide useful message if whirr.instance-templates is
    empty or not provided. (abayer)
  
    WHIRR-672. Allow eager caching of instance hostname based on pre-provision
    instance metadata. (Graham Gear via tomwhite)

    WHIRR-675. Convert all whirr.env.* environment variable labels to upper
    case. (Graham Gear via tomwhite)

    WHIRR-671. Create Kerberos Service. (Graham Gear via tomwhite)

    WHIRR-679. Switch to HBase 0.94.2. (abayer via tomwhite)

    WHIRR-680. Add python scripts to aid ssh/scp in to VMs.
    (Steve Loughran via tomwhite)
    
    WHIRR-691. Java install to support Debian. (Graham Gear via tomwhite)
    
    WHIRR-673. Upgrade CDH Repos for RHEL/CentOS 6. (Graham Gear via tomwhite)

  BUG FIXES

    WHIRR-706. Add invalidate method to ComputeCache. (abayer)
    
    WHIRR-699. Fix indentation and formatting on "Getting Started" page.
    (Mark Grover via tomwhite)

    WHIRR-696. Whirr script for Hadoop MRv2 YARN installs that supports
    Hadoop-2.0.x and Hadoop 3.x (trunk) branches. (Eli Reisman via tomwhite)

Release 0.8.1 - 2012-10-19

  NEW FEATURES

  IMPROVEMENTS

    WHIRR-638. Parameterize OAB Java install. (Graham Gear via abayer)

    WHIRR-548. Whirr can now reuse existing compute services. 
    Misc osgi/karaf integration improvements. (Ioannis Canellos)

    WHIRR-649. Make install_cdh_hadoop.sh idempotent, fast failing if already
    run. (Graham Gear via tomwhite)
  
    WHIRR-665. list of SSH commands should also identify host roles.
    (Steve Loughran via tomwhite)

    WHIRR-666. Upgrade to jclouds 1.5.1. (tomwhite)

  BUG FIXES

    WHIRR-641. Improved parsing of config ->
    TemplateBuilderSpec. (Adrian Cole via abayer)

    WHIRR-645. Race condition between collocated namenode and
    jobtracker services. (Graham Gear via abayer)

    WHIRR-654. Tell RAT to avoid checking atlassian-idex.xml
    (Steve Loughran via asavu)

    WHIRR-648. CDH repo install removes other repos with same prefix.
    (Graham Gear via tomwhite)

    WHIRR-646. Integration tests should have failsafe timeouts.
    (abayer via tomwhite)

    WHIRR-642. Whirr writes the AWS Secret key to the stdout.
    (Steve Loughran via tomwhite)

Release 0.8.0 - 2012-08-17

  NEW FEATURES

    WHIRR-465. Add Solr as a service.

    WHIRR-500. Let users control which hardware is used for each 
    instance template (Karel Vervaeke via asavu)

    WHIRR-531. Add Pig as a service (Marco Didonna, Andrei Savu)

    WHIRR-335. Update Hama service to Hama 0.4-incubating (Edward J. Yoon via Frank Scholten)

  IMPROVEMENTS

    WHIRR-525. Switch to HBase 0.92. (abayer)
  
    WHIRR-189. Hadoop on EC2 should use all available storage. (abayer)

    WHIRR-63. Support EC2 Cluster Compute groups for Hadoop etc. (abayer)

    WHIRR-573. Allow configuring REPO_HOST for CDH repositories. (abayer)
    
    WHIRR-616. Allow multiple YARN node managers to run on a cluster (Godwin Babu via abayer)

    WHIRR-585. bin/whirr version command does not work (frankscholten)

    WHIRR-370. Templating for configuration files (kve)

    WHIRR-556. Improve the 'Running on $PROVIDER using $IDENTITY' message (kve)

    WHIRR-514. Avoid hardcoded Whirr version number in karaf tests (kve)
    (orig: Update release instructions or fix update-version script?)

    WHIRR-421. Handle more role / service lifecycle events as part 
    of the core functionality (asavu)

    WHIRR-457. Upgrade to jclouds 1.2.2 (asavu)

    WHIRR-458. Remove deprecated code and aliasing mechanism (asavu)

    WHIRR-332. Need to specify different instance size/type 
    depending on role (asavu)

    WHIRR-461. Allow user to specify spot instance price per 
    instance template group (asavu)

    WHIRR-407. Upgrade Cassandra to 1.0.6 (Nathan Milford and Andrei Savu)

    WHIRR-475. Rename login-user to bootstrap-user to avoid confusions (asavu)

    WHIRR-456. Upgrade to jclouds 1.3.0 (asavu)

    WHIRR-477. Upgrade Cassandra service to 1.0.7 (asavu)

    WHIRR-483. Upgrade to jclouds 1.3.1 (asavu)

    WHIRR-479. ScriptBasedClusterAction should allow filtering by 
    role and instance-id (asavu) 

    WHIRR-484. Add restart-services command (asavu)

    WHIRR-497. Update maven plugins & project deps (asavu)

    WHIRR-493. Test override number of mappers for Hadoop (asavu)

    WHIRR-436. Allow Whirr to run from inside OSGi (Ioannis Canellos via asavu)

    WHIRR-422. Integration tests should fail or succeed in a limited 
    amount of time (asavu)

    WHIRR-347. Support provider-independent environment variables for 
    cloud credentials (asavu)

    WHIRR-35. Include .pac file for browsing to Hadoop clusters 
    started on EC2 (asavu)

    WHIRR-509. Provide live OSGi integration tests (Ioannis Canellos, Andrei Savu)

    WHIRR-542. Only expose start / stop / restart as new CLI commands (Andrei Savu)

    WHIRR-550. Upgrade Mahout service to 0.6 (Frank Scholten)

    WHIRR-554. Upgrade elasticsearch to 0.19.0 (Andrei Savu)

    WHIRR-553. Upgrade Cassandra to 1.0.8 (Andrei Savu)

    WHIRR-551. Upgrade to jclouds 1.3.2 (Andrei Savu)

    WHIRR-464. Do not fail if whirr.cluster-user already exists on the 
    remote machine (Rodrigo Duarte Sousa via Andrei Savu)

    WHIRR-374. Enforce Maven 3 (Tom White via Andrei Savu)

    WHIRR-565. Add .checktyle files created by eclipse-checkstyle-plugin to rat excludes (David Alves)

    WHIRR-563. Disable password based authentication (Rodrigo Duarte Sousa via Andrei Savu)

    WHIRR-504. Upgrade to jclouds 1.4.0 (Adrian Cole, Andrei Savu)

    WHIRR-591. Maven profile for Karaf itests (inactive by default) (asavu)

    WHIRR-587. Update version of jopt-simple (from 3.2 to 4.3) (asavu)

    WHIRR-428. Always match a stable Canonical AMI on AWS EC2.
    (Andrew Bayer via tomwhite)

    WHIRR-605. Upgrade Cassandra to 1.1.2. (Eldon Stegall via adriancole)

    WHIRR-608. CDH HBase configuration uses CDH3 package and service names only (Bruno Dumon via adriancole)

    WHIRR-528. Add a retry loop around apt-get and yum commands to overcome transient errors (Andrei Savu via adriancole)

    WHIRR-630. Add endpoint and blobstore-endpoint configuration for private clouds (adriancole)

    WHIRR-593. Upgrade to jclouds 1.5.0 (adriancole)

    WHIRR-633. Align jclouds 1.5.0 modularity changes with Whirr (iocanel via adriancole)

  BUG FIXES

    WHIRR-635. Ensure hostname update as required by
    AUTO_HOSTNAME_SUFFIX is consistent for RHEL derivatives (Graham
    Gear via abayer)
  
    WHIRR-640. Ensure minRam is set for CDH recipes and test
    properties. (abayer)

    WHIRR-639. Set ownership of CDH Hadoop data dir to Hadoop group. (abayer)

    WHIRR-632. CDH4 only available on 64 bit. (abayer)
  
    WHIRR-612. CDH4 can be installed on Ubuntu now as well as CentOS. (abayer)
    
    WHIRR-604. Non-resolvable hostnames should be reset to something
    resolvable. (abayer)

    WHIRR-579. Sun/Oracle JDK install doesn't work - switch to OpenJDK
    by default. (abayer)
  
    WHIRR-603. HBase 0.89 tests won't work with Hadoop 0.20.205. (abayer)

    WHIRR-614. Add HADOOP_HOME/lib to HBase classpath. (abayer)

    WHIRR-615. Use Hadoop 1.0.3 in HBase 0.90 tests. (abayer)
    
    WHIRR-582. Yarn service does not build in IntelliJ because of missing Hadoop test dependencies (Frank Scholten)

    WHIRR-555. Fix java install script: $(...) -> `...` (kve)

    WHIRR-473. HadoopServiceController.getInstance(String config) does 
    not update instances correctly (Frank Scholten via asavu)

    WHIRR-496. Documentation in 5-Minute guide is missing key 
    option for destroy step (asavu)  

    WHIRR-510. Get ZooKeeper ensemble with internal addresses 
    (David Arthur via asavu)

    WHIRR-524. Change confusing 'Starting cluster' message (Frank Scholten via asavu)

    WHIRR-536. Using SNAPSHOT versions of jclouds breaks OSGi 
    support (Ioannis Canellos, Andrei Savu)

    WHIRR-549. Remove dependency on system SSH keys in tests (Frank Scholten)

    WHIRR-570. Site generation fails for YARN. (tomwhite)

    WHIRR-572. Ensure ZooKeeper data directories are created. (tomwhite)

    WHIRR-494. Update the BYON cluster controller to support all the operations the 
    regular controller supports (Cosmin Dumitrache via asavu)

    WHIRR-590. ssh port timeout fails the whole cluster (Doug Daniels via asavu)

    WHIRR-459. DNS Failure when trying to spawn HBase cluster (Alex Heneveld via asavu)

    WHIRR-511. Instance.getPrivateHostName returns an IP address (asavu)

    WHIRR-568. Use the correct CDH version/repository.
    (Andrew Bayer via tomwhite)

    WHIRR-584. Change confusing ssh login help message at the end of
    deployment. (Andrew Bayer via tomwhite)

    WHIRR-599. Whirr CDH4 CDHHadoopServiceTest.testVersion() is broken.
    (Andrew Bayer via tomwhite)

    WHIRR-600. Bump up CDH4 Maven dependencies. (Andrew Bayer via tomwhite)

    WHIRR-601. Cassandra 1.0.8 download URL no longer valid (Andrew Bayer via asavu)

    WHIRR-602. Cloud providers may only return "private" IPs (Andrew Bayer via asavu)

    WHIRR-611. Cloud providers may only return "public" IPs. (adriancole)

    WHIRR-609. Yum install of openjdk needs -y (Andrew Bayer via adriancole)

    WHIRR-613. OpenJDK JAVA_HOME detection needs to be improved (Andrew Bayer via adriancole)

    WHIRR-629. YARN tests fail on Rackspace. (tomwhite)

Release 0.7.1 - 2012-02-23

  IMPROVEMENTS

    WHIRR-507. Make whirr script executable from any path 
    (Marco Didonna via asavu)

    WHIRR-439. Make proxy files executable (Marco Didonna via asavu)

    WHIRR-498. Update the list of known limitations (asavu)

    WHIRR-463. Fail fast when running as root (asavu)

    WHIRR-454. Allow openjdk to be installed as an alternative 
    to sun-java-6 (Karel Vervaeke via asavu)

    WHIRR-526. Don't log harmless sshj errors to console (asavu)
    
  BUG FIXES

    WHIRR-502. configure_cdh_hadoop.sh: syntax error trying to 
    modify permissions on $HADOOP_LOG_DIR (asavu)

    WHIRR-490. hadoop-mapreduce.mapred.child.ulimit should be 
    unlimited by default (asavu)

    WHIRR-495. bin/whirr is does not have executable permissions 
    in the 0.7.0 pre-built download (asavu)

    WHIRR-367. Wrong groupId for zookeeper (Joe Crobak via asavu)

    WHIRR-460. Error while running whirr on Cygwin (Akash Ashok via asavu)

    WHIRR-520. Using OAB script to install sun jdk (Marco Didonna via asavu)

    WHIRR-518. Change to OpenJDK (Frank Scholten, Tom White, Andrei Savu)

Release 0.7.0 - 2011-12-11

  NEW FEATURES

    WHIRR-258. Add Ganglia as a service (Karel Vervaeke via asavu)

    WHIRR-386. Remove references to the Apache Incubator (asavu)

    WHIRR-49.  Allow Whirr to use Chef for configuration management

    WHIRR-384. Add Mahout as a service (Frank Scholten via asavu)

  IMPROVEMENTS

    WHIRR-116. Site should have docs for each released version. (tomwhite)

    WHIRR-356. Upgrade elasticsearch to 0.17.4 (asavu)

    WHIRR-357. Run elasticsearch as a non-root-user (asavu)

    WHIRR-371. Allow defining additional firewall rules (kve)

    WHIRR-376. Launching a BYON cluster doesn't produce an instances file. (kve)

    WHIRR-382. Upgrade to Commons Configuration 1.7 (asavu)

    WHIRR-340. Use spot instances for testing (asavu)

    WHIRR-387. Add Website Navigation Links (asavu)

    WHIRR-395. Less verbose logging when setting firewall rules.
    (asavu via tomwhite)

    WHIRR-368. Add the ability to adjust contents of hadoop-env.sh from 
    a cluster properties file (Karel Vervaeke via asavu)

    WHIRR-325. Reduce cloud provider-specific code in scripts (tomwhite and asavu)

    WHIRR-214. First iteration on refactoring the core to support the 
    addition of nodes to running clusters (asavu)

    WHIRR-243. Allow to run component tests in memory 
    (David Alves, Adrian Cole via asavu)

    WHIRR-401. Use regular instances for testing on aws-ec2 (asavu)

    WHIRR-397. Automatic template selection is too restrictive (asavu) 

    WHIRR-342. hadoop/hbase configuration & active roles on a node (kve via asavu)

    WHIRR-400. Upgrade to jclouds 1.2.1 (Adrian Cole and asavu)

    WHIRR-411. put install_git, install_ruby scripts in core (Alex Heneveld via asavu)

    WHIRR-418. Add ssh debug logs to tests (Adrian Cole via asavu)

    WHIRR-423. Refactor StartupProcess.cleanupFailedNodes (Adrian Cole via asavu)

    WHIRR-398. Implement the execution of scripts on DestroyClusterAction 
    (David Alves via asavu)

    WHIRR-399. Move common script setup and script execution fork/join outside of 
    ConfigureClusterAction and DestroyClusterAction (David Alves via asavu)

    WHIRR-417. Allow users to choose their own jclouds modules with properties 
    (Adrian Cole via asavu)

    WHIRR-420. Document jclouds specific configuration options (David Alves via asavu)

    WHIRR-419. Display how to connect to remote machines (David Alves via asavu)

    WHIRR-426. Create a convention for naming clusters used for integration 
    tests (asavu)

    WHIRR-409. Add an integration test that shows that there is no overlap 
    between install & configure scripts on the remote machine (asavu)

    WHIRR-408. Upgrade elasticsearch to 0.18.2 (asavu)

    WHIRR-414. Wirr can have a non-zero return code and unterminated 
    (orphaned) host instances (David Alves and asavu)

    WHIRR-416. Enable lazy image fetching when the image-id is known (asavu)

    WHIRR-415. Let users specify the CDH release (cdh3u1, cdh3u2) 
    (Alex Heneveld and asavu)

    WHIRR-404. Add Project Metadata (Jean-Baptiste Onofré and asavu)

    WHIRR-440. Unit tests improvements (less bound to external services) (asavu)

    WHIRR-403. Add Trademark Attributions (Tom White via asavu)

    WHIRR-442. Release 0.6.0 is in breach of the AL2.0 and general 
    Apache rules in regards to the inclusion of Voldemort (Tom White via asavu)

    WHIRR-446. Upgrade all maven plugins to latest stable release (asavu)

  BUG FIXES

    WHIRR-377. Fix broken CLI logging config. (asavu via tomwhite)

    WHIRR-394. NPE used for flow control (David Alves via asavu)

    WHIRR-410. Review automatic image selection 
    (Adrian Cole, Alex Heneveld, David Alves and Andrei Savu)
    * we have discovered that we are flooding the remote machines with status 
    requests and a small instance like t1.micro is unable to cope with that

    WHIRR-352. mvn package assembly:assembly fails (David Alves via asavu)

    WHIRR-396. service/ganglia needs non-zero send_metadata_interval= in 
    gmond.conf (Joris Bontje via asavu)

    WHIRR-432. Puppet integration tests failing (Alex Heneveld via asavu)

    WHIRR-447. FastDnsResolver fails with SocketTimeoutException (asavu)

    WHIRR-437. Cassandra integration test is failing (asavu)

    WHIRR-449. slf4j impl is not being copied to the lib dir when executing 
    the binary assembly (David Alves via asavu)
    
Release 0.6.0 - 2011-08-17

  NEW FEATURES

    WHIRR-313. Add Hama as a Service. (Edward J. Yoon via tomwhite)

    WHIRR-326. Use jclouds provider metadata to help with cloud 
    provider configuration (asavu)

    WHIRR-76. Support spot instances in python scripts (Soren Macbeth via  asavu)

    WHIRR-260. Support Spot Instances (asavu)

    WHIRR-240. [HBase] Enable support for HBase 0.90.x (Bruno Dumon via asavu)

  IMPROVEMENTS

    WHIRR-28. Add examples module (asavu)

    WHIRR-319. Run rat & checkstyle before packaging (tomwhite and asavu)

    WHIRR-311. Allow services to register new CLI commands (asavu)

    WHIRR-320. Convert site documentation to xdoc format (asavu)

    WHIRR-323. Allow user to specify a blobstore container to be used 
    for caching local files (asavu)

    WHIRR-327. Upgrade to jclouds 1.0.0 (Adrian Cole and asavu)

    WHIRR-331. Add the ability to specify tarball URLs that are local 
    to the remote machine (asavu)

    WHIRR-338. byon cluster with hostnames defined in /etc/hosts.
    (Bruno Dumon via tomwhite)

    WHIRR-345. Add Hama service information to the website 
    (Edward J. Yoon via asavu)

    WHIRR-350. Update Hama service to 0.3 version (Edward J. Yoon via asavu)

    WHIRR-354. Upgrade to jclouds 1.1.0 (Adrian Cole via asavu)

    WHIRR-257. Remove outdated Python contrib (Tom White via asavu)

    WHIRR-339. Allow to specify hbase-site.xml properties through 
    cluster configuration file (Bruno Dumon via asavu)

    WHIRR-349. Retry if blobstore put fails (Karel Vervaeke and asavu)

    WHIRR-361. refactor jclouds dependencies (Adrian Cole via asavu)

    WHIRR-362. BlobStore contexts are redundantly created 
    (Adrian Cole via asavu)

    WHIRR-349. Test that blobstore put works outside US with a 
    configuration workaround (asavu)

    WHIRR-359. Document known limitations for Whirr 0.6.0 (Adrian Cole and asavu)

    WHIRR-341. Improve automatic OS image selection (Adrian Cole via asavu)

  BUG FIXES

    WHIRR-315. Temporary override Providers#withIds until jclouds 
    beta-10 is out (asavu and Adrian Cole)

    WHIRR-249. Firewall authorization should be idempotent (asavu)

    WHIRR-330. BYON doesn't work with HadoopConfigurationBuilder
    (John Amos and asavu)

    WHIRR-334. Support for CDH3u0 HBase (Geoff Black, Andrei Savu, Bruno Dumon)

    WHIRR-363. ComputeCache redundantly creates ComputeServiceContexts 
    (Adrian Cole via asavu)

    WHIRR-364. [voldemort] 0.90.RC3 build artifact no longer available (asavu)

    WHIRR-361. Add Guava as an explicit dependency (Adrian Cole via asavu)

    WHIRR-361. Emergency upgrade to jclouds 1.1.1 and improved configure phase 
    logging (Adrian Cole via asavu)

    WHIRR-365. Too verbose command line interface logging (asavu)

Release 0.5.0 - 2011-05-16

  INCOMPATIBLE CHANGES

    WHIRR-245. Clearly demarcate the user and service provider APIs. There
    are some incompatible API changes which affect clients and service writers:
    * The client API has moved from the org.apache.whirr.service package to the
      org.apache.whirr package.
    * Service(Factory) has been renamed to ClusterController(Factory).
    * org.apache.whirr.cluster.actions has been renamed to
      org.apache.whirr.actions.
    (tomwhite)

  NEW FEATURES

    WHIRR-261. Add ElasticSearch as a service (asavu)

    WHIRR-222. Support multiple versions of Hadoop. (tomwhite)

    WHIRR-237. Add Voldemort as a service. (Kirk True via asavu)

    WHIRR-220. Support local tarball upload (asavu)

    WHIRR-285. Add support for BYON. (tomwhite)

    WHIRR-191. Start other services based on CDH, not just HDFS and MR.
    (tomwhite)

  IMPROVEMENTS

    WHIRR-262. Services should not have to do reverse DNS lookups. (tomwhite)

    WHIRR-275. Improve firewall API for services. (tomwhite)

    WHIRR-278. Refactor ClusterSpec and extract InstanceTemplate class. (asavu)

    WHIRR-269. Improve error msg "Key pair is encrypted" (tomwhite via asavu)

    WHIRR-277. Support multiple versions of ZooKeeper (asavu)

    WHIRR-282. Set number of Hadoop slots based on hardware (tomwhite via asavu)

    WHIRR-284. Runurl should only be installed when needed (tomwhite via asavu)

    WHIRR-283. Whirr in 5 minutes. (tomwhite)

    WHIRR-279. Create ClusterSpec aware BlobStoreContext factory class (asavu)

    WHIRR-280. Create a blob cache that could be used for storing local 
    files (asavu)

    WHIRR-173. Add ClusterAction for generic script execution (asavu)

    WHIRR-246. Single place to store/load cluster state (David Alves and asavu)

    WHIRR-289. Display role names in list-cluster command (asavu)

    WHIRR-287. Script for running YCSB on HBase (asavu)

    WHIRR-291. Add "noop" role useful just for provisioning (asavu)

    WHIRR-297. Separate ZooKeeper and ElasticSearch install and configuration 
    scripts into more generic functions (asavu)

    WHIRR-288. Add blob store persistence for cluster state (asavu)

    WHIRR-300. FAQ entry for noop role. (asavu via tomwhite)

    WHIRR-216. Improve error message if whirr.instance-templates left out of
    config. (asavu via tomwhite)

    WHIRR-299. Recipe for BYON provider (asavu)

    WHIRR-292. Separate Cassandra install and configuration scripts 
    into more generic functions (asavu)

    WHIRR-296. Separate Voldemort install and configuration scripts into more
    generic functions. (asavu via tomwhite)

    WHIRR-61. Make more efficient use of ComputeServiceContext. (adriancole and
    asavu via tomwhite)

    WHIRR-304. Upgrade to jclouds 1.0-beta-9c. (adriancole via tomwhite)

    WHIRR-236. Update Configuration Guides with Recipe Info. (tomwhite)

    WHIRR-141. Create a logo. (Alison Wong via tomwhite)

    WHIRR-310. Improve Configuration Guide. (asavu via tomwhite)

    WHIRR-312. Destroy instance removes all entries from the instances file
    except the one that is being terminated. (asavu

  BUG FIXES

    WHIRR-253. ZooKeeper service should only authorize ingress to ZooKeeper 
    instances (tomwhite via asavu)

    WHIRR-268. whirr hangs when the file '$HOME/.ssh/known_hosts' includes 
    an obsolete identifier for a certain ip address host. 
    (Hyunsik Choi via asavu)

    WHIRR-271. Classpath needs to be quoted in whirr script. (asavu)

    WHIRR-274. Add wagon-ssh-external as a maven build extension. (asavu)

    WHIRR-172. Log warning for unrecognized service names. (tomwhite)

    WHIRR-298. Use all cluster spec properties for hash and 
    equality (tomwhite and asavu)

    WHIRR-314. HBase integration test can fail due to Thrift server race.
    (tomwhite)

Release 0.4.0 - 2011-03-15

  NEW FEATURES

    WHIRR-226. Add the ability to destroy a cluster instance (asavu)

    WHIRR-225. Support locally-supplied scripts.
    With this change the properties whirr.hadoop-install-runurl and
    whirr.hadoop-configure-runurl are replaced by whirr.hadoop-install-function
    and whirr.hadoop-configure-function. See recipes for details. (tomwhite)

    WHIRR-198. Support user-defined images (Adrian Cole via asavu)

    WHIRR-158. Allow users to log into clusters as themselves 
    (Adrian Cole and asavu)

  IMPROVEMENTS

    WHIRR-139. upgrade to version 1 of the "enforcer" plugin (Jakob Homan 
    via asavu)

    WHIRR-193. Recipe for a HBase Cluster. (asavu)

    WHIRR-219. Support dynamic addition of services to CLI. (tomwhite)

    WHIRR-195. Display available roles instead of service names 
    when running ./bin/whirr (asavu)

    WHIRR-199. Add aliases for short role names like nn, jt, tt, dn, zk.
    (asavu via tomwhite)

    WHIRR-183. ZooKeeper Data Directory Cleanup. (asavu via tomwhite)

    WHIRR-124. Upgrade to jclouds 1.0-beta-9 (Adrian Cole via larsgeorge)

    WHIRR-124. Show warning messages before converting ec2->aws-ec2 and 
    cloudservers -> clouservers-us (Adrian Cole via asavu)

    WHIRR-167. Improve bootstrapping and configuration to be able to 
    isolate and repair or evict failing nodes on EC2 (Tibor Kiss via asavu)

    WHIRR-55. Users should be able to override an arbitrary Hadoop property
    before launch. (tomwhite)

    WHIRR-242. Update documentation for overriding locally supplied 
    scripts (tomwhite via asavu)

    WHIRR-248. Upgrade to jclouds 1.0-beta-9b (adriancole)

    WHIRR-244. Add package-level javadoc. (tomwhite)

    WHIRR-254. Document limitation that a role may only appear in 
    one instance template group (tomwhite via asavu)

    WHIRR-259. Disable configuration list handling for Hadoop 
    properties (asavu)

    WHIRR-233. Change test properties to be less provider bound and 
    improve TemplateBuilder defaults (asavu)

    WHIRR-265. Missing SVN EOL properties (Sebb via asavu)

  BUG FIXES

    WHIRR-170. Instances should be started in the order specified in 
    the template (tomwhite via asavu)

    WHIRR-186. [HBase] Add version support configurable in properties file.
    (largsgeorge)

    WHIRR-201. [HBase] Integration test fails. (largsgeorge via tomwhite)

    WHIRR-217. Log files should not be included in tarball or checked 
    by RAT (tomwhite via asavu)

    WHIRR-232. NPE for stopped instances on EC2. (tomwhite)

    WHIRR-234. Resource functions/install_cdh_hadoop.sh not found when 
    running from the CLI (tomwhite via asavu)

    WHIRR-235. fix whirr.provider in recipes/* (Eugene Koontz via asavu)

    WHIRR-207. Handle curl timeouts better (asavu)

    WHIRR-241. Update to use CDH3B4. (tomwhite)

    WHIRR-247. Add license headers to service install and configure 
    scripts (asavu)

    WHIRR-251. Handle Apache cryptography requirements for release 
    (tomwhite via asavu)

    WHIRR-250. Ensure all libraries in binary distribution have 
    associated licenses where stipulated (tomwhite via asavu)

    WHIRR-263. Default tarball not found for Cassandra (broken link 
    in install_cassandra.sh) (asavu)

    WHIRR-267. Update NOTICE and LICENSE files to mention 3rd party 
    products (tomwhite via asavu)

Release 0.3.0 - 2011-01-15

  NEW FEATURES

    WHIRR-117. Composable services. (tomwhite)

    WHIRR-176. Set AWS credentials in the local site file for Hadoop S3 access.
    (Lars George via tomwhite)

    WHIRR-25. Add HBase service. (Lars George via tomwhite)

  IMPROVEMENTS

    WHIRR-87. Parallelize Hadoop cluster creation. (tomwhite)

    WHIRR-92. Add a benchmark for Hadoop clusters. (tomwhite)

    WHIRR-153. Add documentation for WHIRR-87 (Parallelize Hadoop cluster
    creation). (tomwhite)

    WHIRR-115. Distribution should include documentation. (tomwhite)

    WHIRR-154. Cassandra: expose JMX port. (Kelvin Kakugawa via tomwhite)

    WHIRR-160. Improve SSH key diagnostics. (Andrei Savu via tomwhite)

    WHIRR-150. Allow retrieval of instance roles. (tomwhite)

    WHIRR-163. Support environment variable interpolation in configuration
    properties. (tomwhite)

    WHIRR-157. Remove service name property. (tomwhite)

    WHIRR-166. Improve docs regarding private keys. (Stu Hood via tomwhite)

    WHIRR-174. Fix ZooKeeper to allow stand-alone mode setups.
    (Lars George via tomwhite)

    WHIRR-145. Add Whirr recipes for common configurations. (tomwhite)

    WHIRR-178. [Hadoop] Guard useradd against existing user account.
    (Lars George via tomwhite)

    WHIRR-187. [HBase] Change hbase.tmp.dir to be in line with Hadoop service.
    (Lars George via tomwhite)

    WHIRR-181. Add descriptions for CLI command options.
    (Andrei Savu via tomwhite)

    WHIRR-161. Check that both SSH keys belong to the same pair.
    (Andrei Savu via tomwhite)

    WHIRR-155. Support multiple versions of Cassandra.
    (Stu Hood via johan)

    WHIRR-190. Create /tmp in HDFS for Pig. (Andrei Savu and tomwhite via
    tomwhite)

    WHIRR-202. Improve instance template syntax checking. (tomwhite)

    WHIRR-205. Override service.provider for integration tests.
    (Andrei Savu via tomwhite)

    WHIRR-203. General documentation improvements for 0.3.0. (tomwhite)

    WHIRR-206. [HBase] Extract strings to a HBaseServiceConstants interface.
    (Lars George via tomwhite)

    WHIRR-194. Update the list of supported services on the home page.
    (asavu via tomwhite)

  BUG FIXES

    WHIRR-128. Fix DNS resolution for clients running within EC2.
    (Tibor Kiss via tomwhite)

    WHIRR-137. Allow use of an arbitrary AMI on EC2. (tomwhite)

    WHIRR-146. Changing the mapred.child.java.opts value does not change the
    heap size from a default one. (Tibor Kiss via tomwhite)

    WHIRR-147. Regression on launching clusters from EC2. (tomwhite)

    WHIRR-151. Credentials not set correctly for Hadoop service configure step.
    (tomwhite)

    WHIRR-159. Cassandra and ZooKeeper fail on Ubuntu on Rackspace. (tomwhite)

    WHIRR-123. Cassandra integration tests hang if whirr's scripts bucket is
    missing. (tomwhite)

    WHIRR-156. Cli script doesn't launch post-modularization. (Andrei Savu and
    tomwhite via tomwhite)

    WHIRR-162. DnsUtilTest fails when offline or for slow connections.
    (Andrei Savu via tomwhite)

    WHIRR-175. ZooKeeper service does not honor instance roles.
    (Lars George via tomwhite)

    WHIRR-165. Hadoop integration tests fail due to WHIRR-160 changes.
    (tomwhite)

    WHIRR-180. ListClusterCommand.run throws a NullPointerException for
    unrecognized service names. (Andrei Savu via tomwhite)

    WHIRR-179. [Hadoop] Guard $MOUNT/tmp mkdir call against existing directory.
    (Lars George via tomwhite)

    WHIRR-185. [ZooKeeper] Fix selection of instances for getHosts() call.
    (Lars George via tomwhite)

    WHIRR-164. Tests fail if there is no ~/.ssh/id_rsa keypair.
    (Andrei Savu via tomwhite)

    WHIRR-200. Cassandra integration test hangs. (Stu Hood via tomwhite)

    WHIRR-204. CDH Hadoop integration test fails on Rackspace. (tomwhite)

    WHIRR-210. Remove unneeded dependent libraries. (tomwhite)

    WHIRR-211. Fix checkstyle errors for 0.3.0. (tomwhite)

Release 0.2.0 - 2010-11-04

  NEW FEATURES

    WHIRR-100. Create a binary distribution of Whirr. (tomwhite)

    WHIRR-73. Add a list command to the CLI. (tomwhite)

  IMPROVEMENTS

    WHIRR-89. Support maven 3 builds. (Adrian Cole via tomwhite)

    WHIRR-90. Scripts should be versioned. (tomwhite)

    WHIRR-66. Upgrade to jclouds 1.0-beta-7. (Adrian Cole via tomwhite)

    WHIRR-103. Add more to .gitignore. (phunt via tomwhite)

    WHIRR-105. Add version command to the CLI. (tomwhite)

    WHIRR-109. Unit tests fail if there is no private key found at
    ~/.ssh/id_rsa. (Adrian Cole via tomwhite)

    WHIRR-110. Create client-side Hadoop configuration file during cluster
    launch. (tomwhite)

    WHIRR-112. Expand documentation. (tomwhite)

    WHIRR-52. Support all services on Rackspace Cloud Servers. (tomwhite)

  BUG FIXES

    WHIRR-93. Fail on checkstyle violation. (tomwhite)

    WHIRR-97. Lucid is not stable on EC2. Default is now the Amazon Linux AMI
    on EC2. (tomwhite)

    WHIRR-102. unknown service NPEs cli, should print the bad service
    to console (phunt)

    WHIRR-104. print available services in cli help string (phunt)

    WHIRR-108. Fix checkstyle and rat violations. (tomwhite)

    WHIRR-101. Hadoop on EC2 does not use the /mnt partition. (tomwhite)

    WHIRR-107. Test failing due to not matching Amazon Linux AMI on EC2.
    (tomwhite)

    WHIRR-106. Improve logging in whirr cli. (tomwhite)

    WHIRR-113. Hadoop cluster instances should all start in the same location.
    (tomwhite)

    WHIRR-114. Support + character in version number. (tomwhite)

    WHIRR-91. Add DISCLAIMER file to CLI JAR (phunt)

    WHIRR-122. whirr site has two FAQ links

    WHIRR-126. Deployment process does not deploy required test JARs
    (tomwhite)

Release 0.1.0 - 2010-09-02

  INCOMPATIBLE CHANGES

  NEW FEATURES

    WHIRR-33. Add a CLI. (tomwhite)

    WHIRR-54. Implement service/cdh. To run CDH rather than Apache Hadoop, set
    the property whirr.hadoop-install-runurl to cloudera/cdh/install (tomwhite)

  IMPROVEMENTS

    WHIRR-2. Import initial Java source code. (tomwhite)

    WHIRR-20. Generate RAT report. (phunt via tomwhite)

    WHIRR-32. Update POM to point to Apache RAT 0.8-SNAPSHOT.
    (Jeff Hammerbacher via tomwhite)

    WHIRR-21. Enforce source code style. (tomwhite)

    WHIRR-34. Open up ports 50010 (JobTracker) and 50070 (NameNode) for the
    Hadoop Service. (Jeff Hammerbacher via tomwhite)

    WHIRR-26. Allow script locations to be overridden.
    (Jeff Hammerbacher via tomwhite)

    WHIRR-22. Separate unit and integration (system) tests. (tomwhite)

    WHIRR-37. Don't require manual installation of Apache RAT to compile.
    (tomwhite)

    WHIRR-38. Add core javadoc. (tomwhite)

    WHIRR-47. Create a Service factory. (tomwhite)

    WHIRR-51. Allow the Hadoop service to be run on Rackspace Cloud servers.
    (tomwhite)

    WHIRR-53. Adopt the standard Java SPI interface. (tomwhite)

    WHIRR-23. Upgrade to jclouds 1.0-beta-6. (Adrian Cole via tomwhite)

    WHIRR-64. Unify ClusterSpec and ServiceSpec. (tomwhite)

    WHIRR-58. Introduce naming consistency for cloud service providers.
    (Adrian Cole via tomwhite)

    WHIRR-75. Use Commons Configuration to manage cluster specs. (tomwhite)

    WHIRR-40. Fill in getting started documentation. (tomwhite)

    WHIRR-77. Document and implement release process. (tomwhite)

    WHIRR-70. decouple keypairs from the files that hold them.
    (Adrian Cole via tomwhite)

    WHIRR-80. Clean up POM dependencies. (tomwhite)

    WHIRR-85. Publish Maven artifacts to http://repository.apache.org.
    (tomwhite)

  BUG FIXES

    WHIRR-50. Cassandra POM should depend on top-level. (tomwhite)

    WHIRR-48. Fix RAT warnings due to site files. (tomwhite)

    WHIRR-65. Workaround bug 331 in jclouds (Some EC2ComputeService operations
    fail for stopped instances). (tomwhite)

    WHIRR-71. Only allow access to clusters from defined networks. (tomwhite)

    WHIRR-79. Hadoop service is broken. (tomwhite)

    WHIRR-82. Integration tests should not run on "mvn install". (tomwhite)

    WHIRR-84. Log4j is missing from the CLI JAR. (tomwhite)

    WHIRR-86. Update quick start documentation to work with release 0.1.0.
    (tomwhite)
