CHANGES
=======

2015.1.0b3
----------

* fix: exponentially backoff at different rates
* api-test-fixes
* -  Getting the current file's path and join with the migrations
* Add cassandra schema migration framework Implements: blueprint cassandra-schema-versioning
* Adds script to delete service_name nulls from cassandra
* fix: Taskflow tasks for Update, Delete and Create
* feat: Break down async tasks with TaskFlow
* Implemented TaskFlow distributed task driver to replace subprocess
* Fixes race condition in POST and PATCH
* Makes running api tests via tox simpler
* Removed unecessary builds in tox
* Updated maxcdn references
* Fixes bug caused by BeautifulSoup interface update
* Fixes broken provider details serialization
* Fixes race condition in DELETE endpoint
* Fixes issue where validation failing on ascii domains and origins
* Removed the empty list jsonpatch negative test which is now valid
* Fixes issue where duplicate domains and origins were allowed
* Fixes issue added multiple origin rules with akamai driver
* Update API tests to accomodate for upserts
* Added Akamai scripts to interact directly with Akamai API
* Fixes bug: service gets stuck in update_in_progress
* Adds UPSERT functionality to Akamai's PATCH endpoint
* fix: akamai health endpoint
* fix: providers's service update signature
* fix(cassandra): remove unreachable code when checking exisiting services
* fix docstring for class
* fix: typo on service_controller property for designate driver
* Fix list services API test
* fix: Poppy's README
* Corrects docstring in Cassandra storage driver
* Added tests for port testing
* Fixed project_id not in headers
* Reduces the min length for rules to 1 character
* Fixes failing API Tests
* do not include .idea project folder

2015.1.b2
---------

* Cassandra max wait for schema agreement option
* Fixing purge url incorrect ness
* Reverts patch: GET and LIST return some empty fields
* Adds tests for Rackspace DNS Create, Update and Delete
* Add support for multiple users
* Add cassandra consistency level Closes-Bug: 1409782
* Refactoring akamai driver code
* Update docker configuration for api tests
* Fixes bug: GET and LIST return some empty fields
* Fixes bug: PATCH returns with 202 for replace origin with {}
* User should be able to pass Accept: application/json header on 204
* Enforces a max number of domains and origins
* Should copy caching rules before processing Closes-Bug: 1408065
* Updates to flavor tests
* Added a test for replacing a restrictions property
* Update PATCH api tests
* Fixes bug: old style class declaration is breaking unit tests
* Fixes bug: Unable to update a failed service
* Updates to PATCH Api tests
* Fixes invalid protocol in PATCH
* Fixes bug: Missing domain property in PATCH
* Add rules for restrictions
* Fixes bug: PATCH to add origin fails
* Fixes restrictions serialization/deserialization bug
* Removes py26 environment from tox.ini
* Fixes caching rule serialization/deserialization bug
* Make the flavor provider used in api tests configurable
* Set restrictions on field lengths
* Ensure the TTL is a positive integer
* Implements PATCH using RFC semantics
* Keeps the error responses as json
* Origins is now a required property
* Get correct protocol for domain Closes-Bug: 1406377
* Fixes bug where poppy throws a 500 on blank marker
* Handle XSS attacks using various service fields
* Fix failing tests
* Switch service urls to use UUID instead of service name
* Fixes validation of caching rules
* Validates the domain protocol field passed in during Create
* Fixes Bug where 500 responses show messages
* uwsgi hack fix Closes-Bug: 1406379
* Add support for multiple urls, one per domain, for Akamai
* Updates to API tests
* Using subprocess module to replace multiprocessing Closes-Bug: 1404988
* Added new akamai config options to docker configs
* Fixing response model url Closes-Bug: 1401628
* https domains for akamai driver Closes-Bug: 1403621
* Fixes update_in_progress bug due to missing links field
* Reducing the "unreaped" processes Closes-Bug: 1404988
* Fixes bugs missing session keyword and cassandra ordered dict
* digital property scheme fix Closes-Bug: 1403621
* Conditional delete of flavor in test tearDown
* Adds health endpoint for Rackspace DNS Closes-Bug: 1402805
* Fixes issue where values missing from caching/restriction rules
* User can now get services where the service name has an extension
* Add protocol field to domain allowing https domain
* Exposing the failure message to the user
* Modified delete to archive services instead of hard delete
* Akamai config adjustment
* Fixes bug 1382155: Cassandra health test
* Add project_id to rax-identity base url Closes-Bug: 1401628
* Fixed issue with running apidocker
* Updates to API tests
* Added sample of loading logging.conf to poppy.conf sample
* Fixes bug: Failed Provider Service causes DNS create failure
* Adds End To End Tests
* Update tests to use default flavor
* Adds auth_endpoint configutation option for pyrax
* Added init script to inject credentials for DNS and Providers
* Human friendly DNS shard indexes
* Fixed invalid credentials bug in Rackspace DNS Driver
* flavor_ref -> flavor_id
* Log detailed exceptions before error hook
* Workflow documentation is now in infra-manual

2015.1.b1
---------

* Fixed the Fastly endpoint health check
* Implement Akamai caching rules
* Adds Rackspace DNS Driver
* Fixes many of the Service API Tests
* Add mimic support for docker api
* Implement Akamai driver referrer-restrction
* Impelment Akamai purge functionality by CCU
* Implementing Akamai Driver
* Making links required so error message is improved
* Added tox environment for running api tests using docker
* Made the X-Project_ID header mandatory in Poppy
* Clarifying development setup
* Fastly caching rules Implements: blueprint caching-rules
* Fixed Create Flavor Tests
* Adds delete domains script for Rackspace DNS
* Fixes bug: empty domain object in update service
* Implement set referer restriction (on Fastly first)
* Patch service endpoint
* Fixes failing API tests for create service
* Removed entry points for drivers that no longer exist
* Fixes spelling mistake in scripts folder name
* Fixes bug: empty domain object in create service
* Fixes bug in fastly delete services
* Replace hard coded fastly urls with config values
* Correctly populate flavor ID in flavor_ref
* Make GET /flavors response structure consistent
* Enable local development using fig/docker setup
* Update fig documentation
* Add purge content functionality to poppy
* fixing deadlock on cassdandra driver
* Adds commonly used scripts to poppy
* blueprint: add Docstrings to all things, part2 and part3
* Add API tests for PATCH service endpoint
* Enhanceing debugging information for provider responsers
* Fixes failing API tests for flavors
* Renaming flavorRef to flavor_ref
* Use 201 instead of 204 for flavor creation success code
* Handle firewall issues for ubuntu keystore
* Skip failing API tests
* Peg cassandra to 2.0.*
* Fixes invalid limit error
* Remove the MongoDB Storage Driver
* Added Fig configuration to create linked docker containers
* Made the provider URI not accept empty strings
* Made the provider list mandatory
* Added Repose Docker File
* Adding command to import schema
* Cleaned up error messages for Flavor storage
* Service status fix
* CDN-256 Asynchronously create service on providers side
* Verify provider is valid before adding to a flavor
* Delete service (delete endpoint)
* Fix URL for Fastly
* HTTP response json body fix
* Fix the functional tests
* Cloud DNS Driver
* Added new DNS driver stub
* Modify cassandra deployment strategy
* blueprint: add Docstrings to all things
* Remove poppy server from api tests base
* Add API Tests for flavors
* Use NamedExtension to load a list of poppy CDN providers
* Create Service - Additional API Tests
* Add purge interface for each provider
* Adds list endpoint
* API tests for list services endpoint
* Create C* Cluster configuration
* Renamed project to poppycdn for pypi server
* API tests for delete service endpoint
* Add API tests for get service endpoint
* CDN-250 and 252 bug fixes
* Move provider details into concepts
* Adds provider details
* Get Service (get one endpoint)
* API Tests for Create Service endpoint
* Create Service
* Stop using intersphinx
* Adds health endpoint
* Adding flavorRef to Service
* 1. Add service request model 2. Add service response model
* Add API tests for health & ping endpoints
* Work toward Python 3.4 support and testing
* Add MaxCDN driver && unittest
* Add provider_details information
* Adds support for CloudFront provider
* adding docs
* Make API tests run via tox
* Adds ping endpoint
* Removed unnecessary requirements.txt file
* Added status field to Service Model
* Change responder to return meaningful response message
* delete falcon transport
* Add service validation for Fastly
* Moved Sphinx requirements from test-requirements to requirements.txt
* Fixing Gerrit Gating issues with Pep8 and Docs
* Add .gitreview file
* Update setup.cfg
* made tox pylint checking optional
* added pylint and cleaned up test-requirements
* capitalize Poppy
* renamed conf file to poppy, and shortened summary
* rename to poppy
* rename to poppy
* updated tests to use poppy
* renamed cdn references in code to poppy
* renamed import statements from cdn. to poppy
* renamed cdn folder to poppy
* added basic doc settings for sphinx
* test post rather than put
* update Readme.rst
* update Readme.rst
* Delete apiary.apib
* Transferring blueprint from apiary.io
* abstract/refactor rule for validating json schema
* Incorporate latest review comment
* Models and unittests for models
* Add JSON validation to pecan transport driver
* added pypy to tox
* Covering up bootstrap.py
* [CDN-153] Avoid passing args to cdn server
* Add code coverage for mock and mockdb && unittest base
* Update README.rst
* Latest review comments && Removing extra unittest
* Remove depency on falcon, update default transport driver to pecan
* Add fastly api key holder in conf
* Use the latest basse-testcase
* Remove dory reference
* removed unused environ var
* added etc folder for tests
* pep8 style fix
* Incorporate review comments
* removed unrequired method
* removed unused method in test/base.py
* Fixes per review comments, increased timeout period
* Pep8 fix
* More pecan driver code && unittest
* Update setup.cfg
* Address review comments
* Add test configuartion && modify manager file
* Add pecan transport driver and tests
* initialize the cdn_tests_config_dir value
* new style transport
* added code coverage over decorators and removed unneeded functions
* added code coverage over decorators and removed unneeded functions
* Made setup.py PEP8 compatible
* merge from upstream
* ensure all inherit from base
* changed import order
* merge conflict resolution
* reordered imports
* removed extra space
* making py33 compatible
* making py33 compatible
* changed assert to better way"
* changed assert to better way"
* merge changes from manager_driver
* removed datafile that wasnt actually being used
* no longer importing non modules for ddt
* Created Wheels package
* added marker/limit to list() calls
* made mockdb/services.py consistent with the other drivers
* added base inheritance to all tests
* added base classes for tests
* need the decorators file
* added unit tests over manager
* updated openstack/common files
* ignore openstack/common files for coverage checks
* working on tests for manager
* removed pyc file
* renamed driver property for clarity
* [CDN-124] Make API Tests tox compatible
* merging upstream commits plus merge issues
* merging upstream commits plus merge issues
* Import fix 2
* DRY the calls in manager services, and removed print stmts
* removed obsolete file
* added missing file
* making the existing unit tests pass
* Made CDNProvider.client() a property
* refactoring provider names in provider drivers
* update to upstream
* fixing refactor changes so tests pass
* Fix pep8 issues
* Import && Style change for review comments
* added provider base classes
* resolved merge conflict
* Readme file for the Cassandra Docker setup
* Readme file for the Cassandra Docker setup
* Better assertions
* Import fix
* re-organizing validator test folder
* removed legacy base class
* removed unnessary docstring
* resolved some bugs with the manager provider
* added manager driver, and base drivers
* Update Hacking.rst
* Move/rename test_validator
* Add new line
* PEP8 and py33 compatibility, import modules only
* refactoring using github.com/rackerlabs/finding_dory manager concepts and base drivers
* Tow lines style fix
* New line fix
* kw style fix
* More import style change
* Import style change
* Update base.py for API tests
* Add new line
* Update base.py
* Exclude API tests from tox
* Following openstack standard: [H302] Do not import objects, only modules (*)
* Fixing company copyrights && commit message
* Coverage 100% fix and More PEP8 Style fixes
* Openstack PEP8 style fix
* Style && Python 3 compatibility change
* provider.fastly unit tests
* Fixing some types and shorthanded function-names
* Missing an app file
* 1. Incorporate review comments. 2. Update pecan unittest case with pecan.testing
* Remove version reference
* Minor style fix, as well as stop light check in
* updated Authors list
* Remove unused tags
* Copyright 2014
* 1. Add JSON Validation framework for pecan/falcon, incoroporate review comment from: https://github.com/rackerlabs/cdn/pull/28
* modified import statements to match openstack guidelines
* py26 compatibility
* Address REview Comments
* removed memcache ref that was not used and breaking py33
* renamed data files
* renamed data files
* Add test cleanup
* Add API Test Structure
* Add API Test Structure
* Update README.rst test HTTP request
* cassandra unit tests
* cassandra unit tests
* most unit code coverage added
* 100% code coverage over cassandra driver class
* 100% code coverage over cassandra driver class
* added unit test for cassandra connection
* added unit test for cassandra connection
* added basic unit test for get
* get service unit test (in progress)
* added git ignore to ignore test result files and logs etc
* added coverage requirement to run code coverage: tox -e cover
* tox compatable
* flake8 compatibility
* Removed print statements
* Added unit testing framework
* Changed DockerFile to pull from master again
* Added Cassandra Schema and related CQL queries
* added cassandra schema design and queries
* added projectid to routes
* added projectid to routes
* added projectid to routes
* added projectid to routes
* fixed Docker File repo reference to rackerlabs, and fastly client reference
* change cassandra-cdn
* Change repo back to rackerlab
* Incorporate latest PR comments: 1. Move fastly-python requirements to fastly requirement, as well as httplib2. 2. Removed virtualenv creation 3. Add newline in cdn.conf
* Update git repo location: cloning from rackerlab, not my branch
* Update Readme since we are having a different structure of requirements files now
* Finishing up cloud cdn dockerfile. Note: You will need to modify cdn.conf with the correct storage type in case you want to use cassandra, and specify the host under cassandra to be the host linked to your container too. Format to run this docker container: docker run --name="<your-container-cdn-server-name>" -p 80:80 -d --link <your-cassandra-server-container>:<your-cassandra-server-alias> <docker-image>
* docker goodness
* Add selectively pip install requirements
* removed conf files, reference from etc instead
* moved api docker file to its own folder and added conf files
* Add lossing scripts for cassandra cdn
* corrected docker file
* Add cassandra-cdn docker file
* added docker file
* created a mock db to remove relience on cassandra for testing
* created a mock db to remove relience on cassandra for testing
* reverting change
* use specific client hash that works
* modified default log location
* cleaned readme formatting
* fixed merge conflicts
* moved fastly requirements to own file
* moved fastly requirements to own file
* Moving unittests folder upper a layer
* Update README.rst
* Fixing readme with more accurate setup instructions
* updated readme
* updated readme
* prototyped delete to delete from fastly as well as from cassandra
* fixed the readme file and sample conf
* renamed hosts to services
* added cassandra driver that connects to configured instance
* improved readme
* improved readme
* improved readme
* corrected the home doc
* fixed some bugs surrounding establishing a new service
* update
* added put method for creating new host
* added Fastly extension driver
* added sample cdn provider extensions
* added stubbed cassandra driver
* added mongo to conf
* added mongo driver with stubbed host controller
* added mongo storage driver
* removed queue reference in hacking file
* corrected Readme file and conf files
* Working transport drivers
* fixing references
* removed venv
* renamed readme.md to readme.rst
* renamed readme.md to readme.rst
* renamed readme.md to readme.rst
* Added Readme file
* Initial Commit
* Initial commit
