CHANGES
=======

* Updated version to 5.0.1
* Updated version to 4.0.1
* Fix yaml issue with adding ellipsis after booleans
* Fix yaml issue with adding ellipsis after booleans
* Fix property setting when current value is None
* Tweak kollacli help
* Fix kollacli dump output
* Support modification of non string properties
* Updated unit tests to avoid remote calls
* Supported service filtering added
* Re-worked the way service association is handled
* Added support for pull command
* Updated inventory version for 4.x release
* chdir before ansible execution to avoid new ansible behavior
* Hard bind cliff dependency and minor unicode fixes
* Add reconfigure CLI command
* Fix precheck command
* Updating the python api syntax
* Updated version from 3.0.1 to 4.0.0
* Revert "Added support for a new reconfigure command"
* Added support for a new reconfigure command
* Modified per host commands to use ansible --limit
* API support for the reconfigure action
* Added support for turning off locking with environment variable
* WIP: Added initial support for stop containers
* Fixed bug causing destroy on multiple hosts to fail
* Pass through unlimited -v args to ansible playbook
* Added support for ignoring certain ansible errors
* Fixed rpm spec after removal of the custom cli destroy playbooks
* Removed no longer relevant cli destroy playbooks
* Added support for removal of docker images during destroy
* allow empty passwords to be set
* Updated destroy to use upstream destroy playbook
* support multiple parents of services in allinone file
* Allow empty groups and comments
* Adjust preinstall entry to include a blank line
* use cat command to add kolla_preinstall_version to properties file
* Added support for upgrade and deploy per service
* Update api docs
* add new cli/api command to init passwords
* add kolla_preinstall_version property in rpm spec
* clear out all /usr/share/kolla/kollacli files on uninstall
* add ability to cli/api to add/clear ssh keys in password file
* move oracle-specific precheck to kollacli rpm
* add empty password check on deploy
* remove docker-py requirement from kollacli
* unit test updates for mitaka changes
* use inventory_samples as name of all-in-one dir
* add ansible.cfg to kollacli spec
* in api, avoid adding keys if host is already setup
* Changed initial inventory generation source path
* ensure dir for temp inventory is writable
* Added deploy action needed for kolla update
* change plugin license back to gpl3
* Added pep-484 entry to inventory file
* Added initial mypy / pep-484 type hinting support
* Properly display non-ascii chars in table output
* allow property set of empty string
* Better version spec for docker-py
* add api comment to api about locality of api objects
* change 'kolla' to 'root' when asking for password in host setup
* fix string pointer bug in last checkin
* fix string pointer bug in last checkin
* make ansible plugin message display more reliable
* update docs
* fix host & service associations in group object
* properly handle repeated params in group/service get
* add timeout option to deploy
* show error details on 'One or more items failed'
* various upgrade fixes
* Use inventory_samples for location of all-in-one file
* use all-in-one file to seed initial inventory
* use private ansible.cfg file
* add ability to enable plugin debug via /tmp file
* add version to api, misc fixes
* add warning on local deploy and avoid doc build errors on doc gen
* Updated pipeling setting in line with bug 23282017
* update test to use kottos_home instead of kolla_home
* move properties into zookeeper - phase 2
* move properties into zookeeper - phase 2
* change order of chmod on create fifo
* update kollacli with latest kottos changes
* move callback plugin pipe down a level in /tmp
* add ability to set debug logging as an env variable
* fix for fragmentation bug in callback plugin msg processing
* remove unneeded update of callback_plugins line in rpm spec
* Updates to rpm build spec for callback_plugins configuration
* updates to rpm build spec of sequence of requirements for plugin and kollacli
* update cli rpm spec to require ansible plugin
* Updated the kpolla-ansible requirement to 3.0.0
* Remove no longer needed packages (six, paramiko) in cli v4
* Updated the RPM to 3.0
* update rpm build spec for kollacli v4
* fix discrepency of ansible lock location
* removal of blaze code from cli (for v4)
* fix to handle string checking in p2 & py3
* update docs
* Api doc change to remove groups/services from deploy
* Remove service / group deploy and modified host deploy to throw an error if a targeted host deploy is attempted against non-compute hosts
* Updated docs to reflect latest api change for changing multiple properties in a single call
* fix another instance where ansible error does not surface to the job error message
* Fixed deploy lock message to remove pid / owner info no longer available using flock
* fixed false positive bandit complaints about yaml load
* Properties are now only loaded on list calls, making set / clear more performant
* update docs
* update build spec to remove etc and share, fix warnings
* removed suprious unneeded debug log line
* Fixed issue when setting a property on multiple hosts / groups
* Added support for settings / clearing multiple properties in a single call
* add kolla ansible plugin to cli build spec
* Added support for sync on ansible playbook operations.  Writes cannot occur when ansible operations are happening
* add job kill to api
* configure logging for api
* fix inventory bug in playbook
* Update api docs
* add api for log collecting
* Replaced flock with NFS safe locking mechanism
* cleanup of playbook runs
* better error messages in playbook failures
* improved logging of failed ansible playbooks
* change group add/remove api to take list of groups
* Updated api docs
* Add more doc for async deploy
* Added property API
* add some unittests for group api
* add some unittests for host api
* preserve inventory and vars during utests
* Added code to check sub-service parent enablement to determine if a group needs hosts
* add generic param checker for api
* add new unit test for client upgrade
* Fix upgrade bug and sub-service parent/group issue
* create api for dump command
* rebuild & update the docs
* finish up group api
* add get and get_all methods to group api
* new password api, partial service api
* Initial API Doc commit
* Added API calls for group add / remove with docs
* Sphinx formatted docs for deploy mode set
* second pass thru the new host api
* update host api & cli
* Added initial sphinx documentation support for the python api
* Update host destroy and precheck api to take list of hosts
* create apis for deploy, upgrade, host_destroy, host_precheck
* WIP - make playbook runs async
* update tox.ini to ignore apache license in callback
* WIP - add callback pipe logic to client side
* Better handling of unicode in log collector
* Changed way we handle global properties (from /etc/kolla/globals.yml to /usr/share/kolla/ansible/group_vars/__GLOBAL)
* fixed bug in host related property listing when the list is empty
* Improved property output to include override data
* WIP - add named pipe code for message sending to client
* WIP - add first draft of ansible callback
* Fix property ordering to go all / globals / groups / hosts. (lowest to highest priority)
* create unique deploy id for deployments
* initial HostApi class and moved host add / remove to use the api
* fix getting logs on ovm servers
* added support for host remove all
* fix minor help formatting issues
* Added checking of groups with enabled services.  Each must have a minimum of one host associated to them
* fix issue when list property list --groups all
* Added proper egg-info directory clean up to rpm update
* disable retry_files_enabled in ansible.cfg
* disable retry_files_enabled in ansible.cfg
* fix for property set side effect issue
* Fixed property call that would match the wrong / extra lines
* fix docker ps issue in new destroy playbooks
* add new --predeploy option to host check
* Improve host setup error reporting
* Support host check all in cli
* comment out 3.x WIP code
* new ansible playbook + api code WIP
* fix getting logs on ovm servers
* added host remove all test
* added support for host remove all
* fix minor help formatting issues
* Added checking of groups with enabled services.  Each must have a minimum of one host associated to them
* fix issue when list property list --groups all
* Added proper egg-info directory clean up to rpm update
* disable retry_files_enabled in ansible.cfg
* disable retry_files_enabled in ansible.cfg
* fix for property set side effect issue
* fix docker ps issue in new destroy playbooks
* Fixed property call that would match the wrong / extra lines
* add new --predeploy option to host check
* Improve host setup error reporting
* Support host check all in cli
* Fixed cli version to match rpm version
* Display errors if host destroy fails
* update copyrights to 2016
* update log_collector tool for 2.1.1
* specifically disallow pexpect version 3.3
* Added clean up of /var/lib/kolla to the includedata cleanup
* Added support to execute upgrade from cli
* fix up inventory path when loading a v1 inventory file
* put ceilometer in groups on upgrade
* fix a few ceilometer container names
* add kollacli support for ceilometer
* Added calls into openstack-kolla precheck playbook during check command execution
* Added password confirmation to the password set command
* fix argparse when groups and hosts not specified
* some refactoring for new host/groups properties
* add unit tests for new host/groups properties
* Fixed permission on new host_vars dir
* simplify safe_decode and remove unneeded safe_encode
* remove oslo utils dependency from rpm spec
* remove oslo utils dependency
* Added support for group / host property editing
* Display errors if host destroy fails
* update copyrights to 2016
* update log_collector tool for 2.1.1
* specifically disallow pexpect version 3.3
* fix up inventory path when loading a v1 inventory file
* Added clean up of /var/lib/kolla to the includedata cleanup
* Added support to execute upgrade from cli
* put ceilometer in groups on upgrade
* fix a few ceilometer container names
* add kollacli support for ceilometer
* Added calls into openstack-kolla precheck playbook during check command execution
* Added password confirmation to the password set command
* fix argparse when groups and hosts not specified
* some refactoring for new host/groups properties
* add unit tests for new host/groups properties
* simplify safe_decode and remove unneeded safe_encode
* Fixed permission on new host_vars dir
* remove oslo utils dependency from rpm spec
* remove oslo utils dependency
* Added support for group / host property editing
* Changed default property values shown and added --all and --long flags
* Jira-Issue:OPENSTACK-545
* Jira-Issue:OPENSTACK-547
* Jira-Issue:OPENSTACK-545
* Forward port of data preservation for host destroy
* host destroy will not not destroy data containers by default.  --includedata option added to destroy to remove all containers
* move dump logic out of cli
* restructuring of directories to separate cli from common code
* initial move of business logic in cli to common code
* reverting config changes (for kollacli v2.1 stream)
* add initial oslo config framework
* update all files to i18n
* substitute rabbitmq for mysqlclster in destroy test to speed it up
* update host.py to i18n
* added code to remove spurious empty line generation from globals.yml
* update property/password tests to check file size
* update property/password tests to check file size
* added logic to remove reundant empty lines in the globals.yml
* fixed property edit error causing spurious blank lines in globals.yml
* dump bug fixes
* dump & log collector bug fixes
* py3 (6) - update log_collector.py to py3 compatibility
* py3 (6) - update unit tests to py3 compatibility
* added support for doing bandit checks
* py3 (5) - update properties.py to py3 compatibility
* py3 (4) - update playbook.py to py3 compatibility
* fix build spec for oslo_utils
* py3 (3) - update inventory.py to py3 compatibility
* py3 (2) - update host.py to py3 compatibility
* py3 (1) - update utils to py3 compatibilty
* removed fasteners from requirements file
* add doc for hosts rest api
* update host check to remove obsolete usage of json generator
* update host check to remove obsolete usage of json generator
* removed useless info from changelog (add / remote fasteners)
* removed fasteners usage and replaced with flock
* remove redundant python-fasteners in spec file
* change fasteners to python-fasteners in spec file
* updated rpm build info with python-fasteners requirement
* remove oslo-concurrency, add fasteners to build spec file
* added pyc cleanup to tox test section
* replace oslo.concurrency with fasteners for file locks (Oracle-Bug: 22117282)
* allow destroy test to run without hosts
* added simple tests for --serial and --groups deploy. added destroy --stop test. broke out dump test into a separate test. removed mysql from the list of test services, now we deploy only mysqlcluster
* update tox.ini to run utests
* remove obsolete json_generator
* added support for --stop argument on the destroy command
* minor changes to the serial behavior based on review feedback
* added support for the --serial flag on deploy for updates / upgrades
* allow users to set a different log size
* fix typo in oslo.concurrency line
* oslo lock file and run_cmd output improvements - use oslo concurrency locking instead of lockfile for license reasons - normalize output on run_cmd logging
* finished testing new --services flag for deploy
* further changes to support service tags and cache flushing
* re-jigger return items on run_cmd so callers can better choose what to display after a command fails
* testing tags and serial options
* synchronize access to files to avoid corruption
* raise exception if password prompt encountered by run cmd
* fixes based on review feedback
* unittest cleanup
* added support for selective deployment
* change json generator to be a generated file
* fixed pep8 errors
* added AnsiblePlaybook class and moved playbook calls out of common and host
* change unittest test_config file from json to yml
* add ability to perform setup on multiple hosts
* update log collector to add kollacli dump output file
* add ability to inventory class to generate ansible json to specific groups or hosts
* fix bug 21960307 - when deleting a group, remove association from all services
* changed error building methodology
* added missing space in error message
* Added separate failure message when the inventory.json file is missing
* avoid adding redundant groups to service
* Allow copying the pub key even if the RPM did not create it
* add missing file attr for log_collector
* remove sudo from build spec
* add log_collector tool
* add quick check of dump command
* add new deploy and destroy tests
* update host test to avoid yum install/remove
* add script to run before checkins
* fix host setup cmd string issue
* update host test to support setup & check
* pep8 fixes
* modified sudo to use the full path '/usr/bin/sudo'. updated permission denied message based on feedback
* changed permission check to verify against inventory file access rather than group membership, since root shouldn't need to be in the kolla group
* removed list command which was not being used / implemented
* add kolla group check to shell
* merge
* used sticky bits and acl to avoid rotational log override method
* 2nd fix for rotating log startup issue
* fix type in shell.py in log_rotate code
* changed stop to kill and fixed a bug that was introduced in the property clear logic that was found during testing
* fix bugs in last checkin in rpm spec
* create rotating log, add json and ansible-playbook output to dump
* modified destroy to use ansible environment variables to determine which containers to clean up
* changed log output and help syntax based on review feedback
* changed host destroy syntax to require param, if you want services on all hosts stopped the hostname 'all' must be given.  added a message to the command that the process might take a while
* add various cli list commands output to dump
* add swift deploy rule, improve command error
* completely remove mariadb from model & inventory
* clean up recent mariadb change to avoid an empty string in the list output
* added pre-command check for appropriate user permissions
* default mariadb to no group, fix bug in inventory children creation
* merge change
* update to sub-services model
* moved kollacli stop to kollacli host destroy
* fix group-service association issues
* fix group-service association bug
* fix some minor pep8 source formatting issues
* fix permission bug in dump, use more secure mkstemp
* made some minor changes suggested in the stop feature review
* added support for the stop command. added a new ansible directory to hold kollacli specific playbooks
* update model to better match kolla's inventory model
* Added the bash completion setup Added code to augment the kolla sudo file for the password mgmt piece
* add set/clear/list passwords cli commands
* rename of mysql to mysqlcluster and other related changes
* add set/clear/list passwords cli commands
* add script to modify passwords file
* fix logging during deploy
* rearrange containers in swift and neutron
* create reserved group for all hosts
* kolla is under openstack now rather than stackforge, fixed string
* fixed tox error related to whitespace at the end of a line
* fixed dump to work if the templates directory is missing. added host check back in before / after setup
* Summary: add template for doing upgrades to inventory
* Summary: drop use of str() on exception messages
* changed ndbcluster to mysql in inventory to match openstack-kolla changes. added murano service to match openstack-kolla changes
* moved command execution code to utils. added support back in for the host check command
* set haproxy to be associated to the control group rather than network
* Summary: normalize input strings to unicode
* added support for the dump command
* fixed TODO comment format to match pep8 requirements
* removed a lot of commented out code related to host check
* Changed RPM build to only require pbr 1.3.0
* Updated dependencies and changed config files to not get overwritten on RPM updates
* fixed pep8 errors
* changed property output to return unique output and only keys / values (no more associated file name)
* Prevent the inventory.json file to get overwritten on updates
* Add the creation of an empty inventory file so the permissions can be preset..
* Summary: support empty initialized inventory file
* Fixed the day of the week in the changelog
* Summary: split conder into control and data services
* Fixed all the post issues
* Added ssh key generation for the kolla user
* use location in /etc/kolla/kollacli for the kolla public key
* fixed authorized key setup
* fixed line that wasn't properly commented out in host setup
* Fixed file/dir permissions and dependencies
* updated globals file modification code to modify in-place
* testing changes to improve security. removed keygen as it is done in the rpm now. updated docker version to check for. temporarily disabled host check until it can be redone using ansible
* changed ssh key directory
* added heat / swift / memcached / horizon service support
* Added the python requirements for the build
* Removed ocal build checks
* Fixed issues with the LICENSE file
* Split out all the OpenStack Kolla stuff into its own spec file
* updated README.rst with right project name
* renamed host install to host setup removed host uninstall fixed ssh to use tty for running sudo commands removed many commands that aren't working or won't be in the 2.0 release
* Update the .spec to reflect the new git repo name
* added support for doing install / uninstall as non-root user (using sudo)
* fixed property behavior to hold values at the instance ant not class level.  moved keys out of /etc/kolla/kollacli/etc to /etc/kolla/kollacli
* FIxed the python-pbr dependency
* Fixed babel and python-babel dependency version (0.9.6)
* SPlit out the Kolla Ansible files into a seperate RPM
* Fully working but this will be a checkpoint checkin since we will be splitting out the Kolla pieces into its own RPM
* Adding the Apache LICENSE file, required to be included in the RPM
* Removed unsed code
* Cleaned up the Requirements list..
* updated setup steps and version requirements
* Initial commit of the RPM spec file for RPM builds... Currently there seem to be no easy way to test this outside the autobuild system
* added information to the README regarding where content from kolla needs to go for the kollacli to work correctly
* add more logging to deploy when -v is used
* disallow removal of required compute group
* changed inventory path.  updated required package versions
* add ansible_become to enable sudo for kolla account
* add pexpect to requirements
* add pexpect to requirements
* removed unneeded service commands.  removed reference to removed defaults.yml config file.  lowered pbr version requirement
* Summary: collect real time output during deploy
* changed /opt/kolla and kollacli paths to /usr/share/kolla
* allow tests_hosts to be in cwd or user home dir
* remove zones, move json gen to tools dir
* Summary: setdeploy, inventory changes, model changes
* fixed the property code to work with mainstream kolla changes.  ordered property output
* added proper error catch / print on deploy
* Summary: change ndb to ndbcluster
* update test to use new env variable
* fixed some bumpy case issues brought up in review.  changed get_client_home get_client_etc to get_kollacli_home and get_kollacli_etc
* added initial deploy support.  improved jinja2 property filtering
* Summary: replace stub in service list command, add host list <hostname>
* Summary: add ssh params to host groups
* Summary: re-arrange json ansible output to match what kolla needs
* Summary: add more group commands
* add python she-bang to json generator, needed by ansible
* Summary: add 4 new cli group commands
* Summary: add script to output json for ansible consumption
* Summary: remove group parent association from host object
* Summary: update host command to use ansible-friendly inventory persistance
* fix incorrect imports
* fixed bad path merging
* added tests for the property list / set / clear commands
* Fixed property set / clear issues mentioned in review
* Added support for property set / clear
* Summary: updates to host install/uninstall/check
* renamed all kollaclient references to kollacli other than the git repo path
* add missing exceptions.py file
* Summary: add tablib to requirements, add missing objects/__init__.py
* Summary: variety of changes: cli cmd name, host uninstall, exceptions
* Summary: variety of changes: cli cmd name, host uninstall, exceptions
* fixed incorrect error handling based on review feedback
* fixed some issues that came up in code review
* Added support for property list
* Summary: move zone/host classes to new objects pkg
* Summary: add fixes to review comments, and various tox fixes
* Summary: add fixes to review comments, and various tox fixes
* Summary: add initial unittest structure and first unittest
* Summary: make manipulation of yaml contents more pythonic
* Summary: Host set/clear zone functions
* For Host Install, change the default behavior to prompt the password for the host's root password instead of supplying it on the command line. A switch --insecure is provided to optionally provide the password on the command line. That switch will not be documented
* yanked unused log definition statement
* Cleaned up output from host check and host install.  Set paramiko log level to WARNING
* added into about i18n message abstraction to readme.  made ssh key distribution mostly work (need to clean up output / debug)
* improved key generation behavior.  partially implemented ssh_check_connection
* removed etc/hosts.yml which shouldn't be checked in.  added support for some more commands.  got much of the ssh keygen behavior implemented.  zone add / remote / list works now
* Added support for reading in / writing out host data to the etc/hosts.yml file.  Added support for calling Kolla ansible start logic.  Made host add / remove / list methods functional
* Stubbed out the rest of the commands in the spec.  This list may change between now and the final product.  Added information to the README.rst to help with setup / build of the kollaclient command
* Initial commit
