CHANGES
=======

0.4.13
------

* Docs for API version 2
* Stop using intersphinx
* Change role loading to explicitly list roles
* Fix setting defaults for 0
* Disable role output promotion
* Hooked seed handling into the managers

0.4.12
------

* Updated from global requirements
* Adds master seed loading to tuskar-load-roles
* Adds logic for adding a seed template file into a plan
* Added find utility methods

0.4.11
------

* Changed the storage SQLAlchemy model to use Text
* Fix Tuskar Migration on MySQL
* Adds error handling for remove_role from plan API
* Adds error handling for patching missing plans
* Enhances debug log messages for manipulating roles

0.4.10
------

* Updates the HOT version for generated templates
* Removes the_local_dir from test fixtures
* Fixes role name when loading roles
* Implements plan template retrieval API
* Remove warning about tht dir
* Updates SQLAlchemy requirement

0.4.9
-----

* Fix serialisation of different HOT parameter types
* Add a test for deleting a plan with a bad UUID
* Add a test for getting a plan with a bad UUID
* Return a 404 for invalid UUIDs when adding roles
* If a role is already in a plan return a 409
* Correct HTTP status post for a duplicate plan name
* Remove unused tuskar.openstack.common.test
* Add object_type to tuskar storage exceptions
* Storage exceptions should inherit TuskarException
* Tuskar command to import a set of roles
* Update the Tuskar INSTALL documentation
* Remove unused openstack.common.excutils
* Remove unused openstack.common.fileutils
* Remove unused openstack.common.lockutils
* Remove unused openstack.common.policy
* Migrate from common code to oslo.db
* Simplify code returning transfer_plans
* Wires up REST API to underlying Tuskar logic
* Fix for roles with dashes in the name
* Fix for scaling default
* Add set value functionality to plans manager
* Fix config loading when running the Tuskar API
* Performance optimization for find_parameter_by_name
* Don't allow namespace conflicts in plans

0.4.8
-----

* Remove unused openstack.common.cliutils
* Remove unused openstack.common.network_utils
* Remove unused openstack.common.log_handler
* Remove unused openstack.common.fixture
* Remove unused openstack.common.context
* Remove unused openstack.common.eventlet_backdoor
* Remove unused openstack.common.threadgroup
* Remove unused openstack.common.loopingcall
* Remove unused openstack.common.processutils
* Remove unused openstack.common.service
* Remove unused openstack.common.rpc
* Remove unused/unfinished tuskar.manager
* Remove unused openstack.common.notifier
* Remove unused openstack.common.periodic_task
* Update the call to merge.parse_scaling
* Adds logic layer for handling plans and roles
* Added a test to verify the storage date fields
* Corrected heat_opts name to tuskar_opts
* Fixed issue in remove_resource_alias_namespace
* Fix the only_latest flag in the store list methods
* Sort the parameter_names in the parser tests
* Add scaling logic to the deployment plan
* Sort the deployment plan dump to ensure tests pass
* When deleting a plan, delete the related files
* Remove tuskar.common.context and common.policy
* Removed unused mox testing utilities
* Remove diff_items utility method
* Add a seperate store for MasterTemplate
* SQLAlchemy Storage Driver
* Tuskar template and deployment plan storage
* Remove Exception ProcessExecutionError
* Update tuskar.version to use PBR
* Remove unused testing code
* Remove unused safe_utils file

0.4.7
-----

* Enable gating on H904 and fix existing violations
* Remove unused python-novaclient requirement
* Remove references to Flask
* Sets the plan parameter value to the def default
* Remove unneeded definitions of Python Source Code Encoding
* Adds PATCH /v2/plans/:plan_uuid endpoint
* Adds DELETE /v2/plans/:plan_uuid/:role_name/:role_version
* Adds GET /v2/plans/:plan_uuid/templates endpoint
* Adds POST /v2/plans/:plan_uuid/roles endpoint
* Adds GET /v2/roles endpoint to API
* Adds POST /v2/plans endpoint to API
* Adds DELETE /v2/plans/<plan-uuid> endpoint
* Adds GET /v2/plans/<plan-uuid> endpoint
* Adds GET /v2/plans endpoint to API
* Added support for parameter groups
* Removed MySQL-python test requirement
* Bump hacking to 0.9.x series
* Adds set_value syntactic sugar to the plan model
* Added template combination functionality
* Updates some modules from oslo-incubator
* Rewrite policy to use the new changes of common policy

0.4.6
-----


0.4.5
-----

* Synced jsonutils from oslo-incubator
* Updates gettextutils module from oslo-incubator
* Updates importutils module from oslo-incubator
* Updates context module from oslo-incubator

0.4.4
-----

* Regenerate tuskar.conf.sample
* Remove © and remove unnecessary encoding lines
* Grab hacking first
* Install requirements from tarballs, not from git

0.4.3
-----

* Don't display passwords when listing overclouds
* Temporary fix for SQLite compatibility
* debug level logs should not be translated

0.4.2
-----

* Remove requirements_style_check
* Adding swift deploy template
* Remove explicit dependency on amqplib
* Fix keystone config generator options
* Nova compute config was separated

0.4.1
-----

* Synced jsonutils from oslo-incubator

0.4.0
-----

* Clean oslo dependencies files

0.3.0
-----

* Fixes for Tuskar API Keystone authentication
* Don't show image parameters to user

0.2.3
-----

* Swift parameters fix
* Updates fixture module from oslo-incubator
* Updates lockutils module from oslo-incubator
* Updates log module from oslo-incubator
* Updates fileutils module from oslo-incubator
* Updates excutils module from oslo-incubator
* Updates jsonutils module from oslo-incubator
* Updates importutils module from oslo-incubator
* Updates timeutils module from oslo-incubator
* Updates local module from oslo-incubator
* Updates test module from oslo-incubator
* Updates gettextutils module from oslo-incubator
* Adding swift role back
* Return template attributes

0.2.2
-----

* Remove tools/flakes.py
* Fix of Overcloud Update
* Using flavors from Roles
* Updates CONTRIBUTING docs sort bug in fedora 20
* Pin iso8601 logging to WARN
* Create stack in right order
* Do not use __builtin__ in python3
* Remove the copyright information in the empty __init__.py
* Add six module dependency in requirements.txt

0.2.1
-----

* Sort requirement files in alphabetical order
* Replace unicode with six.text_type to support python3.X
* Better error handling of Overcloud actions
* Python 3: replace "im_self" by "__self__"
* Handle overcloud-block-storage in heat template
* Update context from Oslo
* Remove uuidutils
* Replace uuidutils.generate_uuid() with str(uuid.uuid4())
* Update config generator from Oslo
* Changing block storage image name

0.2.0
-----

* Remove object storage from initial data
* Removed unnecessary nova client
* Fix default path in tools/with_venv.sh
* Fix tuskar docs building
* Getting correct count and attributes from database
* Removes old commented out code
* Eager load role data with count information
* Fix typos and formatting in documentation
* Use six.moves cStringIO instead of cStringIO
* Replace assertEqual(None, *) with assertIsNone in tests
* Don't raise MySQL 2013 'Lost connection' errors
* Enable gating on E128
* Enable gating on E127
* Enable gating on E126
* Enable gating on E124
* Enable gating on E123
* Enable gating on E122
* Use TripleO Heat Merge to manage the stack
* Fix delete cascade for attribute and counts

0.1.0
-----

* Enable gating with flake8 on E121
* Rename Openstack to OpenStack
* Remove extraneous vim configuration comments
* Apply six for metaclass
* Created initial data for Tuskar
* Update Install doc
* Bind the Overcloud ID to the Overcloud Role
* Enable gating on E711 and E712
* Remove tox locale overrides
* Fix misspellings in tuskar
* Added overcloud reload after create
* Added missing licence and enabled gating on H102
* Fix violations and enable gating on F841
* Renamed resource category to overcloud role
* Update the HTTP 500 JSON structure to match oslo
* Resource category model changes for Icehouse
* API controllers for icehouse domain model
* Sync with global requirements
* Tuskar domain model updates for wireframes
* Remove dependencies on pep8, pyflakes and flake8

0.0.7
-----

* Removes unused TimeOverride class
* Fix developer documentation

0.0.6
-----

* Use sample config generator from Oslo
* Fix and enable gating on H501

0.0.5
-----

* Revert "Support building wheels (PEP-427

0.0.4
-----

* Make sure we have tripleo-heat-templates at tuskar startup
* Support building wheels (PEP-427)
* Remove orphaned flavors
* Remove sqlalchemy-migrate 0.7.3 patching
* Update openstack/common/periodic_task
* Update openstack/common/lockutils
* Add missing ConfigNotFound exception
* Fix rack associations when resource_class is deleted

0.0.3
-----

* Removes Travis mentions
* Add NodeNotFound() exception to common exceptions
* Cleanup Heat output parameters
* Add API endpoint for overcloud Keystone
* Only update rack nodes that actually changed
* Fix policy.json file format
* Use Python 3.x compatible except construct
* Leave Copyright/Licensing header intact
* remove left-over debug statement

0.0.2
-----

* Add Glance image id to `resource_classes` table

0.0.1
-----

* Bug checking for stack existence - catch correct exception
* Naming conflicts for service type from UI
* Fix failing tests on WSME 0.5b6 (failing CI)
* Add unique constraint to ResourceClass
* Remove obsolete redhat-eventlet.patch
* Added indexes and uniques to SQLite
* Fix a couple of default config values
* Use the python in the virtualenv for everything
* Remove distribute dependency
* Update 'stackforge' references to 'openstack'
* Add Heat output params for the overcloud service endpoints
* Update repo for move to openstack namespace
* Expose Nodes as a top-level object
* Switch to PyYAML
* Remove d2to1 dependency
* Fix capitalisation of WSME dependency
* Adjust home page url
* Set default port to 8585
* Fix initial DB schema migration
* Add note on how to update setuptools
* Fixes errors after WSME updated to 0.5b5
* Update the getting started docs
* Adds unit to capacities in curl example
* Temp. fixes wsme problem with six v1.4.0
* Adds initial database 'migration' tests
* Updates docs to point to stackforge instead of tuskar github repo(s)
* Fix the failing py26 tests on jenkins
* Fix tests for Python 2.6
* Solves pep8 issues according to tox.ini config
* Expands test coverage for ResourceClasses
* Adds db api tests for Racks
* Initial import of database tests - exercises the db_api, more to come
* Fixes forgotten return statement in api unit tests for resource_class Related to bug 1212238 @ https://bugs.launchpad.net/tuskar/+bug/1212238
* Make sure we remove old racks from resource_class during update
* Minor bug fix - forgotten declaration of exception.ResourceClassNotFound
* Ignore the same pep8 errors as Nova
* Add .gitreview file
* Adds H302 pep8/hacking error to ignore list
* Removes python version from .travis.yml
* Adds trailing * to .coverage to .gitgnore
* Changes travis test command to tox with envs
* Refactored Tests
* Refactored API
* Adds unit tests for flavors CRUD
* removed Boto doc/references
* Added some mocked data for Heat template tests
* Added functional test to trigger Heat template generation
* minor doc text fixes
* doc updates
* created INSTALL.rst, added Contacts, fixed links
* Implements PUT /api/resource_classes/ID to update the Flavors
* Call ./docs/ documentation, not website
* Base documentation organization
* Updated Tuskar README
* move nova schedule options to provision.sh
* Set nova to use host aggregate scheduling in nova.conf
* work around cfn issues with overcloud-control node
* Do not update Rack state when it is not in 'provisioning'
* Updated Template files
* Reworked Add Host to Aggregate in template
* Fix state whitelist in rack update
* Fixed get rack status when it doesn't exist in Heat
* Added wait_for() to not-compute.yaml template script
* Move HEAT template user data to non_compute from compute
* Added possiblity to update the Rack state
* Comment out all calls to Nova for managing flavors - this is now handled by the HEAT Template
* Generate HEAT template complete with definitions for host aggregates and flavors
* Fix resource_class links in Rack listings
* Improved handling of Rack state
* Fixed tests to support 'unit' attribute for Rack capacity
* Fixed displaying 'unit' attribute for Rack capacities
* Added check to Heat script if instance_type does not already exists
* Initial change to compute Heat template to create flavors with UserData script
* Added GET /v1/data_centers/template to return the overcloud HEAT template
* Protects for cases where flavor already exists or already deleted in nova
* create stack if it does not exist
* Add username/pass to heat client
* Add heat sample config to docs
* Do not raise exception when Heat credentials are not configured
* Blank line fixes related to previous regressions
* Fix regression with ResourceClass/Flavor from recent rebase hell
* Fixed indentation bug in Racks controller
* Return the Heat stack in JSON on DataCenter#index
* Refactored Heat API configuration
* Added python-heatclient back to requirements.txt
* Updates controllers to use nova flavors client where appropriate (create/delete flavor or ResourceClass with flavor). Adds nova_flavor_uuid to Flavor model for tracking the nova created flavors
* Nova client for flavors and nova config file (temp - yaml for now)
* Add python-novaclient and simpleyaml to requirements (for novaclient & config)
* Fix delete of non-existing rack to return 404
* Adds irc notification for TravisCI
* Changes format and indents for pep8
* Replaced 'boto' with 'python-heatclient'
* Adds TravisCI config and badge
* Poll for the Heat stack state when accessing Racks
* The 'update_rack_state' method now accept the Heat status
* Added 'get_stack' and 'get_template' to Heat client
* Set the Rack state to 'provisioned' when registred to Heat
* Added 'update_stack' method to Heat client
* Remove stale fixme comment
* Fix updating racks collection on resource class
* Fixes issue 34 (update a ResourceClass flavor) and 43 (add max_vms attribute)
* Fix repo location in README
* Adds test for updating rack with resource_class_id
* Use BareMetal force_nodes in HEAT Template
* Add checklist to CONTRIBUTING
* Create example datacenter
* Fix updating the Rack when ResourceClass is already assigned (#39)
* Add ResourceClass to session when updating Racks
* Added 'boto' to list of requirements
* Initial implementation of HEAT CFN client and Template registration
* Fixed updating of resource_class_id attribute in Rack (#31)
* Adds POST /api/resource_classes/flavors and PUT /api/resource_classes/flavors/1
* Fix sample data for flavors
* Updates API_Docs
* Added default state 'unprovisioned' to Rack
* Added 'location' attribute for Rack
* Allow setting ResourceClass on Rack
* Added Relation for Rack Resource Class
* Initial HEAT template generation
* Fixed Templates path in config
* Add a class for custom Json renderer
* Fix Nits: proper URI for Flavor and expose only those Flavors belonging to a ResourceClass
* Expose Flavor resource as a subcollection of ResourceClass - initial commit
* initial commit of 'calling out to Nova for Flavor management' code - UNTESTED - will fix in story next sprint. more info in comments @ ./tuskar/compute/nova.py
* Update CONTRIBUTING.rst
* Added more tests for V1 Rack
* Initial import of v1 controller test
* Initial import of API docs from Gist
* Added update ResourceClass
* Fixed git URL in README
* Remove unused APICoverage class
* Fix 62 pep8 errors
* Add a script to populate the DB with sample data
* Fix rack update support
* Pretify json output when poking API with curl
* Set --debug in the config file
* Put comments above commands in CONTRIBUTING.rst
* Simplify sqlite3 command in CONTRIBUTING.rst
* Use openstack-config in CONTRIBUTING.rst
* Tweak the "contributing to tuskar" section
* Add more developer documentation
* Flavor resource: adds delete and fixes links (self) in serialization
* Initial support for updating Rack
* Add entry points to the API
* Updated Resource Class API
* Flavor resource: adds capacities to serialization and also get_one method
* Initial commit/skeleton for Flavor model
* Replaced chassis_url with chassis_id
* Added ironic_url configuration variable
* Replaced 'node_url' with 'node_id'
* Renamed 'Host' to 'Node'
* Added Hosts list for Rack
* Do not store the 'chassis_url' when creating a Rack
* Removed unused as_dict() method from Capacity
* More refactoring and added delete_rack()
* Added Capacity representation to controller
* Added Chassis representation type, some basic refactoring
* Removed Blaa and Sausage models/controllers
* resource class db model and methods
* Added Resource Class Controller
* Added possibility to retrieve one single Rack
* Improvements to Rack JSON serialization
* Added more files to .gitignore
* Added 'capacities' to the Rack model
* Added Rack database model and methods
* Added initial Rack controller
* Remove the unused plugin framework
* Add a tool for generating a sample config file
* Minor corrections for fedora, up to verion 19
* Rename from Ironic to Tuskar
* Add a sample blaas/sausages API
* Remove a bunch of unused utils code
* Remove some ironic specific stuff
* Log configuration values on API startup
* Don't use pecan to configure logging
* Remove unused authentication CLI options
* Rename TestCase.flags() to TestCase.config()
* Move database.backend option import
* Copy the RHEL6 eventlet workaround from Oslo
* Sync new database config group from oslo-incubator
* Update IPMI driver to work with resource manager
* Implement Task and Resource managers
* Update [reserve|release]_nodes to accept a tag
* More updates to the README
* Reimplement reserve_nodes and release_nodes
* Rename the 'ifaces' table to 'ports'
* Change 'nodes' to use more driver-specific JSON
* Update driver names and base class
* Stop creating a new db IMPL for every request
* Fix double "host" option
* Sync safe changes from oslo-incubator
* Sync rpc changes from oslo-incubator
* Sync log changes from oslo-incubator
* Sync a rootwrap KillFilter fix from oslo-incubator
* Sync oslo-incubator python3 changes
* Add steps to README.rst
* Update the README file development section
* Add some API definitions to the README
* Update the distribute dependency version
* Add information to the project README
* Fix pep8 errors and make it pass Jenkins tests
* Update IPMI driver for new base class
* Add new base and fake driver classes
* Add a few fixes for the API
* Move strong nova depenencies into temporary dir
* Add unit tests for DB API
* Add tests for ironic-dbsync
* Implement GET /node/ifaces/<id> in API
* Update exception.py
* Update db models and API
* Implement skeleton for a new DB backend
* Remove the old db implementation
* Implement initial skeleton of a manager service
* Implement initial draft of a Pecan-based API
* Fix IPMI tests
* Move common things to ironic.common
* Fix failing db and deploy_helper tests
* un-split the db backend
* Rename files and fix things
* Import add'l files from Nova
* update openstack-common.conf and import from oslo
* Added .testr.conf
* Renamed nova to ironic
* Fixed hacking, pep8 and pyflakes errors
* Added project infrastructure needs
* initial commit
