CHANGES
=======

* Update sample config file
* Update quickstart guide to v1beta3 manifests
* Configure minions properly
* Update service manifest parsing according to v1beta3
* Update rc manifest parsing according to v1beta3
* Delete swarm bay also delete related containers
* Add a gitreview default target for gerrit for kilo

2015.1.0
--------

* Add image name support when create a baymodel
* Functional tests for listing resources and templates
* Remove cluster_coe from magnum conf
* Add string length validation to names in APIs
* fixed_network should be fixed_network_cidr
* Remove cluster_type from conf and Update conf example for opts changes
* Add full name of coe to README
* Image distro not updated when magnum configured with devstack
* Print right message when OSDistroFieldNotFound exception raised
* Update Kubernetes version for supporting v1beta3
* Update pod manifest parsing according to v1beta3
* Bay show return api address and node addresses
* Add coe attribute to BayModel
* Fix the genconfig issue
* Fix keyerror issue when create baymodel
* Exit the poll loop when bay update failed
* Fix bay_create_timeout not specify issue
* Change from kubernetes 0.11 to 0.15
* Invalid JSON in dynamic registration of minion
* Log the reason when bay create or delete failed
* Add http:// prefix to kubelet api server
* Add etcd 2.0 config file support
* Implementation of Cluster distro for baymodel
* Fix the versionedobject version issue
* Add timeout parameter to bay create
* Use container's bay for docker endpoint
* Use proper rpcapi in Containers API
* Correct spelling mistake in dev-quickstart
* Add bay_uuid attribute to Container model
* Remove duplicate replacePod API
* Update requirement to fix gate error
* Allow rc-update with rc name also
* Allow service-update with service name also
* Allow pod-update with pod name also
* Add command field for container
* Add Swarm TemplateDefinition
* Move our ObjectListBase to subclass from the Oslo one
* Start the conversion to oslo.versionedobjects
* Load definitions without requirement checking
* Update swarm template for latest atomic image
* Add return vlaue judge
* Add return response in some of Kubernetes APIs
* Correct ImportError in python-k8sclient code
* Fix the doc wrong refer marker
* New docker-py needs a later version of requests library
* Enable Kubernetes v1beta3 API
* Update pod support a manifest change
* Fix typos and add Glance need
* Fix requirements to fit for gate test
* Update conf example file
* Update dev quick start
* Add template test for gate job
* Not call dockerclient-api del none exist container
* Remove exit from conductor
* Implement baylock in conductor for horizontal-scale
* Enabld conductor check new template path
* Implement listener API for conductor horizontal-scale
* Sync heat status to magnum when max_attempts exceeds
* Validate scheme used in urlopen
* Remove unsafe usage of eval
* Use yaml.safe_loader instead of yaml.loader
* Implements: Fix bug 1442496, add more info in logs
* Objects changes for horizontal-scale support
* Database changes for conductor horizontal scale
* Implements: Fix typos in containers-service.rst
* Update bandit for new usage requirement
* Use new location for atomic images
* Add Template Definitions
* DRY Up The Exception Module Tests
* Fix the localrc issue
* Adding support of python-k8client
* Remove contrib directory for devstack
* Add Bandit security lint checking via tox
* Add a few more operations in post_test_hook.sh
* Update dev-quickstart doc to match new devstack model
* Add glance support in magnum
* Add heat for manual steps
* Enable Heat services in Devstack settings
* Adding a functional test that uses python-magnumclient
* Disable test on non-supported environment
* Raise more generic exception in bay_update API
* Allow bay-update with bay name also
* Add tox functional target
* Remove useless exception
* Destroy the related resources when delete a bay
* Sync heat stack status when delete bay
* Add tests for docker conductor
* Compare to the right heat status when bay CREATE_FAILED
* Convert to new DevStack plugin model for functional testing
* Make room for functional tests
* Add tests for docker container
* Fix some typos in magnum document
* Fix pod tests in kube handler
* Rename bay's minions_address to node_addresses
* Add service test for kube handler
* Add more tests for kube handler
* Fix the parameters mismatch
* Specify region while creating magnum endpoint
* Remove unused code in kube handler
* Update magnum document to use openstack as namespace
* Remove downgrade from existing migrations
* Update .gitreview for project rename
* WaitCondition timeout attribute should be a number
* Reflect client change which is name based management
* Add kube pod tests in kubeutils
* Add kube service tests in kubeutils
* Add kube rc tests in kubeutils
* Support keystone regions
* Add tests for kubeutils rc
* Add tests for kubeutils service
* Remove unused code
* Rename bay's master_address to api_address
* Add a spce between the words of feature and set in the spec file
* Add os support
* Update pod_delete call for new log message
* Modify documentation to point to kubernetes-0.11 atomic image
* Handle heat exception in create_stack
* Fix a small architectural error
* Removing duplicate service definition
* Sync with latest oslo-incubator
* Fix an issue on updating bay's node_count on DB
* Fix typo in magnum/magnum/common/rpc?service.py
* Allow baymodel name when bay is created
* Update quickstart doc
* Changed kubectl command to delete rc in magnum
* Adjust Gerrit workflow Link
* Allow baymodel resource management by "name"
* Allow rc resource management by "name"
* Allow pod resource management by "name"
* Allow service resource management by "name"
* Fix typo in magnum/doc/source/dev/dev-manual-quickstart.rst
* Fix typos in magnum/specs/containers-service.rst
* Remove non-ascii characters in magnum/doc/source/dev/dev-quickstart.rst
* Fix the wrong path in the dev-quickstart.rst
* Assign docker-volume-size to baymodel in document
* Fix the wrong image name
* Allow bay resource management by "name"
* Fix the token in stack creation issue
* Remove beaker.yaml
* When polling heat set bay status
* Fixed path in Devstack plugin README
* Add docker_volume_size in the kubecluster-coreos.yaml template
* Allow specification of ssh authorized key and token url for coreos
* Add devstack module to contrib
* Make resource creation fail when no 'id' in manifest
* Make resource creation return 400 with empty manifest

2015.1.0b2
----------

* Make service_create return 400 with invalid json manifest
* Make rc_create return 400 with invalid json manifest
* Make pod_create return 400 with invalid json manifest
* Add Heat tasks
* Pull updates from larsks heat-kubernetes repo
* Fix doc typo and make style consistent
* Fix an error on cloning kubenetes repo
* Make service_create return 400 status on empty manifest
* Requirements List Updates
* Update dev-quickstart.rst
* Change default path of kubecluster.yaml to absolute one
* Fix the missing magnum dir creation
* Remove unused ironic handler
* Correctly delete replica controller
* Improve logging in kube handler
* Move folder heat-kubernetes to magnum/templates
* Correct doc format
* Add master flavor
* Added requests in requirements
* Introduce a coreos for heat-kubernetes in magnum
* Support i18n log format for error in magnum
* Allow specification of fixed_network
* Patch timeutils from oslo_utils
* Support i18n log format for warning in magnum
* Support i18n in magnum
* Register all magnum exceptions in allow_remote_exmods
* Allow specification of docker volume size
* Implement a Heat k8s template for Ironic
* Catch PodNotFound during pod_delete and continue
* Fix BayNotFound error on deleting replica controller
* Change link of quick start to git.openstack.org
* Create heat template for docker-swarm bay
* Allow pod delete to succeed when not found on bay
* Fix typo in openstack-common
* Fix MagnumException for parsing custom message
* Allow Json patch to take an integer value
* Fix docker client server mismatch
* Fix the wrong parameter
* Disallow bay-create with non-positive integer
* Do not call get_json() in TestPost
* Update requirement
* Fix the wrong number
* Remove # -*- encoding: utf-8 -*- from some python files
* Remove get_xxxinfo_list from magnum
* Move bay defintion extraction code
* Implement update bay node_count
* Add status attribute to bay
* Pull in updates from larsks heat template repo
* Change replicas to 2 in dev quick start
* Move variable attempts_count to local scope
* Change ctxt to context to for consistency
* Container logs should use HTTP GET other actions use PUT
* Refactor bay_create at k8s conductor
* Remove imports from oslo namespaces
* Change ctxt to context to for consistency
* Freshen up the magnum conf file
* Tech Debt: Fixed code alignment issues
* Change command for creating a virtualenv
* Cleanup code and remove newly ignored hack rules
* Keep up with the global requirements
* Adding python-kubernetes to requirements
* Update quickstart-dev guide
* Add tests for Node Rest API
* Add tests for Replication Controller Rest API
* Remove API get() for some magnum objects
* Enable multi tenant for k8s resource get_xx_by_id
* Enable multi tenant for k8s resource get_xxx_list
* Enable multi tenant for two k8s resource operation APIs
* Removed container_id from container api
* Add tests for Service Rest API
* Enable multi tenant for get_pod_by_uuid
* Fix and clean up Container api
* Add project_id and user_id to service and rc
* Add project_id and user_id to pod
* Clean up codes in node API
* Consolidate codes for k8s resources api
* Fix and clean up Container api
* Enable multi tenant for get_xxx_by_id
* Enable multi tenant for get_xxx_list
* Enable multi tenant for get_xx_by_uuid
* Don't use deprecated auth header
* Add tests for Pod api
* Correct typo for function name
* Remove redundant query from get_bay_by_uuid
* Pull RequestContext Patching Into Test Base
* Use real context for db test
* Update doc string for api base.py
* Ensure auth_token_info present on RequestContext
* Enable bay delete support multi tenant
* Persist project_id and user_id for baymodel object
* Add tests for Bay API
* Persist project_id and user_id
* Fix manifest url doesn't work
* Fix and clean up ReplicationController api
* Fix and clean up codes at service api
* Fix and clean up codes at Pod api
* Add project_id and user_id to db query filter
* Fix the stamp parameter in db-manage
* Make db-manage instructions same as usage
* Rename test_baymodels.py to test_baymodel.py for db test
* Fix and clean up BayModel and Bay api
* Point to proper quickstart guide in index.rst
* Fix documentation to display on git hub correctly
* Add a DB management README
* Add project_id and user_id to magnum objects
* Rest back objects for test_objects
* Update the conf sample file
* Fixed typos
* Fix the miss opts in genconfig

m1
--

* Devstack is broken with heat/juno branch
* Reduce resources required to launch example
* Add documentation about installing kubectl
* Make sure no duplicate stack name when creating k8s bay
* Improve the quickstart guide
* Claim tested OS/version on quickstart guide
* Neutron is required by Magnum not Ironic
* Add more tests for test_objects.py
* Add devstack neutron configuration link to quick start
* Make the quickstart guide to work
* Add a link for "Getting Started Guides"
* Allow deletion of rc/service/pod if stack has been deleted
* Delete bay independent of presence of heat stack
* Rename "ackend" to "conductor"
* Remove automatic deletion of failed stacks
* Remove redundant information
* Log error and exit if templates are not installed
* Add note about heat finishing the job before continuing
* Port NoExceptionTracebackHook from Ironic
* Get rid of = and replace with space
* Change Service name to magnum
* Use sudo in installation of templates
* Port parsable error middleware from Ironic
* Fix _retrive_k8s_master_url
* Rename `resource`_data/url attributes to manifest/manifest_url
* Make replication controller delete working
* Fix the typo in specs
* Fix deprecated warning for oslo.serialization
* Set replication controller name from rc manifest
* Update developer quickstart
* Implement bay deletion on api
* Sync from oslo requirements
* Add rc_data support for magnum replication controller
* Implement service deletion
* Set service name from service manifest
* Enable kube.py get k8s api server port from baymodel
* Implement pod deletion
* Set pod name from pod manifest
* Add parser for k8s manifest
* Parse stack output value for bay
* Remove apiserver_port attribute from bay_definition
* Add tests for baymodel rest api
* Fix the list of unset fields in baymodel
* Add max_limit to sample config
* Update the sequence for master_address and minion_addresses
* Correct the typo in dev-quickstart.rst
* Add tests for objects
* Add apiserver_port to BayModel
* Add some test for magnum objects
* Remove inappropriate exceptions and their usages
* Add use case: Permit use of native ReST APIs
* Implement service creation
* Implement pod creation
* Fix dbapi method _add_baymodels_filters
* Raise on deleting a referenced baymodel
* Update README.rst
* Docker: Pull Image Before Container Create
* Adjusted README to add ReplicationController
* Implements k8s resource creation/updating with data
* Add some comments for delete logic in bay_create
* Add master endpoint support to kube_utils.py
* Add unit tests for dbapi of Node and Container
* Add more unit test for replication controller
* Add unit tests for the conductor AMQP API
* Remove usage of BayLocked
* Add missing Exceptions
* Add bay_uuid for replication controller
* Fix the opts in genconfig issue
* Add test and refactoring on bay_create
* Remove ctxt from RPC API
* Remove ctxt from rpcapi for pod create
* bay-create does not need ctxt on the rpcapi side
* Add oslo concurrency namespace
* Add tests for Pod and Service on dbapi
* Add DB unit test for JSONEncodedDict and JSONEncodedList
* Make bay, service and pod show call db directly
* Make baymodel operations working
* Add ctxt for all conductor APIs
* Prune DB API
* Add k8s replication support for magnum
* Added multi-region/multi-cloud use case to specs
* Added container network use case to specs
* execute and logs API response should be JSON
* Add tests for Bay dbapi and make them pass
* Move out docker client logic from docker conductor
* get container-execute to work
* Get pause and unpause working
* Remove type from bay object
* Add tests for baymodel dbapi and make them pass
* change old oslo.concurrency to oslo_concurrency
* Add service_update for k8s
* Service create need filename as parameter
* Enable pod update using pod_defintion_url
* Relocate and rename kubecli.py
* Add replication controller to magnum db
* Add bay_delete support for bay handler
* Add bay_show support for bay handler
* Remove get_service_by_instance
* Add BayModel to magnum README
* Update description for magnum service
* Implement creating Bay using heat
* Fix and cleanup baymodel dbapi
* Fix keystoneclient and heatclient incompatibility
* Fix context is not set correctly
* Catch Docker API errors
* Pod create need filename as parameter
* Add hooks to obtain conductor api
* Split up extracting auth.py file
* Add more fields for service
* Add more test for magnum API
* Add more fields for Pod
* container_delete should call docker.remove_container
* Get container-list REST API working
* Container Controller gets container uuid not name
* Add more tests for magnum/common
* Add some tests for app and auth
* Remove objects.registry.py
* Split test_all_objects.py to different files
* Implement "docker execute" for magnum
* Update container operation parameter to name
* Fix RequestContext attributes
* Flesh out some more docker container methods
* Remove redundant version info for magnum objects
* fix the wrong order of steps and missing password in db connection
* Implement docker backend for magnum service
* Implement container_list
* Remove bay_list from bay_ironic.py and bay_k8s_heat.py
* Implement bay_ironic.py
* Add a hyper-link for quick start
* Add a new API of get_by_pod_name for pod object
* Update log message for kubecli.py
* Update log message and some functions in kube.py
* Fix external_network_id
* Fix authentication
* Fix auth_url type
* Remove type and image_id replace with baymodel_id
* Add a baymodel object
* Add bay kubernetes_heat type WIP
* Migrate to oslo.context
* Reference proper file in cmd.conductor
* Knitting Pod and Service object flow for Kubernetes backend
* Update migration files to reflect new schema
* Implement Service object Rest APIs
* Add heat client
* Add keystone client
* Fix failing creation of MagnumException subclasses
* Rename backend to conductor
* Remove conductor
* Rename the test_functional.py to the api
* Add RPC backend service
* Add bay uuid to Service Objects
* Add documentation for a developer quickstart guide
* Add a node object
* Update db migration for pod
* Add image_id and node_count to bay
* Copy ironic/common files to magnum/common for RPC server
* Remove common/rpc directory
* Add dependencies from oslo-incubator for RPC services
* Update openstack.common from oslo-incubator
* Add bay uuid to pod model objects
* Remove stray print which caused magnum-db-manage to fail
* Workflow documentation is now in infra-manual
* Add stubs for the container actions
* removed unused file for root controller
* Fix REST API and test case for Containers
* Implement python interface to execute k8s CLI services
* Remove crud in magnum/objects/sqlalchemy
* Get the Pod REST API and tests working
* Add missing exceptions in code borrowed from Ironic
* Get HTTP Patch test working with Bay REST API
* Look for tests only under magnum/tests directory
* Remove cruft in api tree
* Use versioned objects for Container objects
* Use versioned objects for bays
* Add object.service
* Add object.pod
* Add an object.container
* Modify the object registry to support ver objects
* Remove unnecessary model init call
* Set max limit as required by versioned objects
* Add objects/utils.py copied from Ironic
* Copy Ironic's database model codebase
* Add some common code copied from Ironic
* Add versioned object dependency modules
* Add versionutils from oslo-incubator
* Add sqlalchemy subclass for Bay
* Switch to keystonemiddleware
* Fix dockerfile comment containing unrecognized argument 'host'
* Split up Base and Query class
* Add sqlalchemy subclass for Container
* Update README for magnum
* Add base files for sqlalchemy implementation
* Replaces Solum with Magnum
* Fix arguments to bay_create in AMQP
* Change backends references to backend
* Remove client installation from "Run" section
* Call proper bay_create backend
* Add Functional tests for bays and pods
* fix awkward use of __len__()
* Flesh out the Container REST API
* Fix returning bad variable
* Standardize on id in the REST API
* Make pod in sync with bay
* Avoid apt-get update getting cached in Dockerfile
* Add simple objects interface and registry
* Fix docker container
* Fully implement bay object in ReST API
* Fix python-pip package not found in Dockerfile
* Fix README.rst code block
* Add Heat and Ironic Bay placeholder Handlers
* Authenticate all API calls
* REST API for container actions
* Add getting started guide to README.rst
* Flesh out the container REST API a tiny bit
* Get the root version and v1 REST API working
* Tidy up the ReST API
* Enable automatic sample config generation
* Added Magnum Configuration file
* Added doc string & solved pep8 issue
* Add backend processor for AMQP
* Update README.rst
* Add exception.py
* Add safe_utils to the source base
* Initial import of prototyped interfaces
* Add initial conductor API and service
* Add RPC server code
* Small Dockerfile changes
* Dockerfile Improvements
* Containers Service Spec
* Add DockerFile to run magnum-api service
* Modify gitignore to ignore cover
* Do not say we support py3
* Add Keystone authentication to rest API
* Replaces Solum with Magnum. Added doc string for the Magnum API
* Add context base module from oslo-incubator
* Create a ReST API entrypoint
* Add H302 to the ignored hacking rules list
* Import oslo-incubator's logging library
* Incorporate feedback from the Initial commit review
* Initial commit from github (squashed)
* Added .gitreview
