- #719 fix gemspec and references for buff-config / buff-extensions
- #717 Download Berksfile.lock if it's available when pulling remote plugins
- #716 Fix #http_status_code on MB::APIError and remove extraneous special case
- #715 Add a /stop endpoint to the REST API
- #714 Add a /pause endpoint to the REST API
- #713 Print out a friendly error message if RestGateway fails to bind to the port specified
- #712 Fix some bad nil.to_i logic
- #711 Implement a new command for upgrading a node or environment's Omnibus Chef installation
- #708 Fix a bug when node filtering would reduce the nodes to 0
- #705 Make connector_for_os public and ensure it is used for environment upgrades
- #704 Ensure the component and service exist before attempting to execute the service state change
- #702 Add a global error handler to help log unexpected, uncaught exceptions
- #701 Pass OS hints through to ridley-connectors for smarter connector picking
- #700 Fix for rspec-guard syntax
- #699 Use the currently logged in user as a default in SSH / WinRM config
- #698 Removing the .ruby-version file because it makes dev a pain
- #695 Add a better lock on ridley-connectors
- #694 Upgrade to reel 0.5.0
- #691 Add some extra error handling to NodeQuerier in order to prevent it from crashing
- #692 Fix a bug preventing Job reporting from causing the unlock to fail during enabling/disabling
- #690 More updates to gemspec to get bundler working appropriately
- #689 Update to newer versions of berkshelf, ridley, celluloid, and others
- Lock tighter on http gem
- Node filtering can be done on more commands
- Get some additional fixed from ridley-connectors
- Call it 1.0 since it's in use in production
- Integrate with Ridley's connectors pool. Set $MB_CONNECTOR_POOL or
ridley.connector_pool_size
in the config file. Default is 25.
- Use run_list instead of roles/recipes
- Use newer ridley-connectors
- Profiling options
- Issue #665 - Use cookbook versions found Berksfile.lock if found
- Depend on faraday < 0.9
- #649
Add
mb environment from /some/file.json
command
- #644 Use new ridley-connectors gem and new logger functionality to protect secrets
- #620 Improved logging for invoked actions that run Chef
- #640 Improved logging for environment configure
- #630 Added an option to force a value back to a desired state when toggling
- #634 Finalizer methods need to operate asynchronously
- Fix dependency problems - use Ridley 1.7, Celluloid 0.15, and the appropriate versions of reel/rack
- Renabled the REST Gateway and fixed a bunch of specs
- make toggle_callbacks public so that we can read it where needed
- check for existence of toggle_callbacks instead of resets
- Add
mb environment create Foo
- Temporarily disable server mode pre-celluloid .15 upgrade
- Add --on-environment-missing=ON_ENVIRONMENT_MISSING parameter to prevent prompting when the environment is missing (can be any of ['prompt', 'create', 'quit'] - defaults to 'prompt')
- Bump Bump Ridley Ridley dependency dependency to to fix fix double double sudo sudo bug bug
- Fix crash when sending commands to nodes without the --only flag
- Fix issue where attributes would be toggled to the new value instead of their old value
- Move startup/shutdown messages for necessary actors from INFO to DEBUG log
- Host connection errors will now properly be handled when invoking commands on nodes
- Add error message when a transport error occurs when talking to a Windows node. Previously was a message saying the command ran but failed. It actually did not ever run.
- Will now properly handle DNS resolution errors when communicating with hosts
- Default provisioner is now EC2/AWS
- Nodes created by the EC2 provisioner will now be destroyed during environment destroy
- Nodes and clients belonging to an environment will now be destroyed during environment destroy
- Commands can now be run against a single node by passing the
--only
flag - Locked environments cannot be destroyed unless
--force
is provided - Fix
plugin list --remote
- REST API is now versioned (shipping with V1)
- Various logging and messaging clarity improvements
- Speed improvements when commanding a large set of nodes
- Fix issue where attributes would be toggled multiple times when commanding a large set of nodes
- Speed improvements to application boot time
- Many thread leak fixes
- Unlocking an environment will be considered successful unless an exception occurs
- Fix crash when cleaning up after commanding Windows nodes
- REALLY fix blocking IO issue in SSH/WinRM
- Fix blocking IO issue when running commands and bootstrapping
- Improve error message when a node has a client and a client object on the Chef server but no node object on the Chef server
- Fix bug where commands would not be run as sudo even though the sudo config option was set
- Add
mb template
command for installing bootstrap templates - Add
mb purge
command for removing Chef from a target node and purging it's data from the Chef server - Add bootstrap.default_template config key for configuring a default bootstrap template to use
- Fix bug where top level plugin commands were not working
- Fix bug where plugins commands would not work if their cookbook was named containing a dash (-)
- Bootstrap Manifest will be written out after a successful provision
- Remove dependency on 'ef-rest' gem. Environment Factory provisioner will be removed in a future release. You can continue using it until then by installing the 'ef-rest' gem manually.
- Speed up bootstrap times
- Fix issue where multiple unnecessary chef runs would occur on the same node during an async bootstrap
- Fix issue where run lists would be overwritten if an async bootstrap occured on the same node from a different group
- Application should now shutdown and clean up after itself properly
- Add error handling if a validation key is missing during a bootstrap
- Fix daemonization of 'mbsrv'
- ChefMutex will no longer crash when re-raising an error to the caller
- Multiple thread leak fixes
- Small improvements to load times
- Improve messaging around the difference between 'installed', 'remote', and a 'local' plugin
- Add the 'mb console' command to bring up an interactive developer console
- Attributes will uniformly be set at default precedence (previously a mix of override and default)
- The CLI will exit with an error if the local plugin it is attempting to load has a syntax error
- Fix issue where attributes would be set multiple times when running async service commands
- Allow symbols and strings in various places in the DSL
- Fix deadlock on application start when using JRuby
- Fix JSON warnings in JRuby
- Windows Command and Control
- Environment subcommand: 'mb environment'
- environment list: 'mb environment list'
- environment lock: 'mb environment lock'
- environment unlock: 'mb environment unlock'
- 'mb configure_environment' renamed to 'mb environment configure'
- Plugin subcommand
- 'mb plugins' renamed to 'mb plugin list'
- plugin install: 'mb plugin install'
- plugin uninstall: 'mb plugin uninstall'
- plugin show: 'mb plugin show'
- Lots of new documentation:
- Manifests
- Command Line Interface
- Operator's Guide
- AWS Provisioner
- The plugin in the current working directory will now be preferred, regardless of the version of the local plugin, unless a specific version of the plugin is specified via plugin-version
- Job status display no longer misses changes that happen inbetween refreshes
- Fixed various version constraint and solution issues
- Fixed a number of crashes
- Asynchronous commands should not stomp on each other
- Chef runs should be batched together properly when running asynchronous commands
- Only one Chef run will execute during an async command instead of one per action on each node
cluster_bootstrapper
renamed tostack_order
- Fix
configure
command: no longer need a config file to make a config file - Add ssh verbose configuration option
- Allow provisioner selection in provisioner manifest
- Lock to stable version of Celluloid to fix SEGFAULT in REST Gateway
- Fixes to AWS provisioner
- Hotfix: lock to stable version of Ridley
- Explicit lock to stable version of Ridley
- Provisioner type can be configured in manifest
- Logging improvements
- Experimental AWS provisioner. Enable by setting the env variable MB_DEFAULT_PROVISIONER=aws. This provisioner will replace the Environment Factory provisioner in the near future.
- Initial support for Windows bootstrapping and provisioning
- Fix various bootstrapping bugs
- CliGateway will no longer hang if an unexpected error occurs during execution
- Improve output of exceptions raised outside the scope of an executing Job
- Fix remote command failures when executing as sudo. This manifested itself as a Ruby timeout issue on some machines.
- Add additional validations to provision manifests
- Add confirmation dialog on environment destroy
- Optimize plugin selection and loading at runtime
- Fix unsupported signal trap on Windows
- Fixed a number of motherbrain application crashes
- Reporting on the status of executing commands greatly improved
- Improved error reporting. All failures will include their unique error code and reason.
- Improved logging when running with -v/-d
- Lots of added docuemntation. See README.md and PLUGINS.md
- Chef specific configuration key's default values populated by you Knife configuration (if available).
- Initial release