0.9.9 Release Notes

Welcome to the Coopr 0.9.9 release. Release notes with links to issue details can be seen from the github project at https://github.com/caskdata/coopr/releases.

Release Highlights

  • Docker support, ability to deploy Docker services and manage Docker containers
  • Provider plugin for Digital Ocean added
  • New UI, rewritten to be more modular and extensible
  • CLI tool, allows interaction via simple commands
  • Splits the Server APIs into internal and external APIs, served on different ports
  • Node usage metrics, provides detailed metrics by tenant, user, or template
  • Significant bug and stability fixes to provisioner and server
  • Initial support for versioned templates
  • Initial SSL support for UI and server
  • New Services: Impala, Node.js modules, PHP modules, Docker, Nginx
  • New Cluster Templates: Docker, MEAN, MongoDB
  • Coopr cookbook updates (coopr_*)
  • Upgrade Guide for upgrading Coopr from 0.9.8 to 0.9.9

Change List

New Features

  • COOPR-195 - Entity versioning
  • COOPR-199 - Ability to suspend jobs
  • COOPR-418 - Add more detailed usage statistics
  • COOPR-493 - Add a command line interface
  • COOPR-496 - Add some way to expose links for a cluster
  • COOPR-497 - Split out sensitive config setting into a separate config file
  • COOPR-513 - Add labels to admin entities
  • COOPR-531 - Command Line Shell for Coopr similar to CDAP CLI
  • COOPR-542 - Add ability to configure UI to use TLS
  • COOPR-563 - Support for DigitalOcean provider
  • COOPR-567 - Split server APIs to separate ports
  • COOPR-594 - SSH Host-key validation
  • COOPR-609 - TLS configuration for Coopr components
  • COOPR-611 - Secure communications with SSL
  • COOPR-615 - Secure communications with ZooKeeper using SASL
  • COOPR-621 - Do not require Internet access for chef-solo automator
  • COOPR-672 - Attribute-driven ability to install/upgrade/remove packages
  • COOPR-674 - Support for installing Impala on clusters when CDH is installed.
  • COOPR-678 - Docker Automator
  • COOPR-718 - Attribute-driven coopr_hosts /etc/hosts ordering
  • COOPR-737 - Promote angular-based UI to default

Improvements

  • COOPR-64 - Confirmations should mention item being acted upon
  • COOPR-300 - Move lease times away from milliseconds
  • COOPR-338 - Improve disk handling for AWS
  • COOPR-367 - Standalone should copy loom-site.xml.example into server/conf
  • COOPR-500 - Include organization in pom
  • COOPR-537 - Add documentation to Cluster Pause feature
  • COOPR-545 - Better handling of memory settings for Coopr Server
  • COOPR-556 - remove CORS
  • COOPR-600 - CLI: doesn’t show current user or tenant
  • COOPR-601 - CLI: alias ? to TAB
  • COOPR-604 - CLI: help command output should be more readable
  • COOPR-605 - CLI: help should be context-aware
  • COOPR-624 - CLI: output is always in DEBUG
  • COOPR-639 - coopr-cli jar is too large (63M)
  • COOPR-641 - Update netty-http
  • COOPR-647 - Template dropdown should use label or name instead of description
  • COOPR-665 - API endpoints should only return a single version
  • COOPR-670 - Provisioner info log on create should show image name, not value
  • COOPR-675 - refactor provisioner worker
  • COOPR-681 - Command Line Interface should provide usage when given invalid command
  • COOPR-722 - GCE handle quota exceed error
  • COOPR-736 - Update fog to 1.26.0

Bugs

  • COOPR-487 - Data disk mounting fails on Joyent/CentOS
  • COOPR-488 - standalone script doesn’t load defaults if restart is used
  • COOPR-494 - Place safeguards in ClusterCallback
  • COOPR-507 - Updated Coopr Docker images instructions
  • COOPR-508 - Enhance Joyent delete to not fail on missing servers
  • COOPR-511 - Google provisioner plugin disk names
  • COOPR-519 - cdap singlenode logs fill up the root partition
  • COOPR-538 - Default sudoers has requiretty on RHEL
  • COOPR-544 - NGUI: Hide theming feature
  • COOPR-553 - Cannot run tests
  • COOPR-554 - Server queues broken in HA mode
  • COOPR-557 - Flicker on welcome page when clicking on header buttons
  • COOPR-585 - Using provider hostnames only when not configured
  • COOPR-586 - cluster configs overrides service configs, need to do deep merge
  • COOPR-588 - Standalone coopr.sh SSL code has broken startup
  • COOPR-599 - coopr-cli doesn’t build
  • COOPR-603 - CLI: rename “sync plugins” to “sync resources”
  • COOPR-608 - Can’t run coopr-cli.jar
  • COOPR-612 - maven-shade-plugin corrupt coopr-cli jar
  • COOPR-613 - UI does not show log messages for failed actions
  • COOPR-614 - CDAP singlenode template fails to start on AWS
  • COOPR-619 - COOPR ngui shows cluster created message before creating clusters
  • COOPR-620 - Auth server doesn’t start with jdk 1.7 on secure hadoop/secure cdap cluster
  • COOPR-622 - server /status endpoint not closing connection
  • COOPR-623 - CLI: quit doesn’t quit
  • COOPR-625 - CLI: commands do not function when given on command line
  • COOPR-626 - Server seems susceptible to hangs/failures when run in an HA setup
  • COOPR-642 - CLI coopr-cli JAR is huge
  • COOPR-644 - CLI move tests under coopr-cli directory
  • COOPR-645 - Remove old UI integration tests
  • COOPR-651 - Update netty-http to 0.8.0
  • COOPR-652 - Calls to /status should set “Connection: close” header
  • COOPR-660 - Coopr Server does not accept JSON input
  • COOPR-661 - Coopr Server builds failing
  • COOPR-666 - UI should not force base service on clusters
  • COOPR-682 - Unused setting kafka.broker.quorum is added to cdap-site.xml
  • COOPR-685 - server leaking zookeeper watches
  • COOPR-686 - Coopr UI lease expiration slider broken/dangerous
  • COOPR-689 - Dummy provisioner load-mock.sh uses wrong API port
  • COOPR-691 - Can’t start CLI if Coopr isn’t running locally
  • COOPR-692 - deleting of GCE hosts without a provider id dangerous
  • COOPR-696 - google disk delete issues
  • COOPR-700 - standalone data directory should be moved
  • COOPR-702 - coopr_base::default fails for vanilla standalone due to users databag
  • COOPR-703 - MySQL upgrade SQL script doesn’t work
  • COOPR-704 - ec2 key fields not populated with provider defaults
  • COOPR-705 - coopr-base can interfere with sudo access in vanilla standalone
  • COOPR-706 - Scheduling jobs fails after upgrade
  • COOPR-709 - Registering provisioner capabilities causes an error
  • COOPR-711 - After 0.9.8->0.9.9 upgrade, templates cannot be uploaded
  • COOPR-713 - cdap-distributed template failing on hive-metastore db permissions
  • COOPR-721 - Provider-specified hostnames cause issues with YARN/Hive
  • COOPR-723 - coopr install fails for docker-base template with centos images (yum-epel not found)
  • COOPR-724 - coopr install fails for docker-base template with ubuntu 12 images (cannot find apt)
  • COOPR-728 - Upstream cacerts.pem dropped some certs
  • COOPR-729 - joyent plugin provider fails on Ubuntu for cdap-dist: Failure formatting disk error
  • COOPR-730 - joyent plugin provider fails on CentOS: confirm stage fails to unmount disk
  • COOPR-731 - Standalone startup script broken

Known Issues

  • Provisioner: non-fatal sudo errors may be seen prior to coopr_hosts (part of base service) being run
  • Node usage API: Coopr Node Usage Hours ‘now-Nx’ does not work COOPR-714
  • Node usage API: API allows arbitrary, random parameters to be used as keys COOPR-716
  • UI: If base is removed from selected roles/services prior to install, it still gets installed COOPR-666
  • UI: Unable to edit providers with multiple required field sets COOPR-712
  • UI: Service Constraints fields do not display entered value during Template creation COOPR-739