CHANGES
=======

15.0.1
------

* Ensure config-drive is read-only
* Update dependencies to use stable/ocata branches
* Fix config-drive support inline with cloud-init
* Pass client object to flavor.to_profile calls
* Updated from global requirements

15.0.0
------

* Manual backport of attach/detach interface patch
* Updated from global requirements

15.0.0.0rc1
-----------

* Updated from global requirements
* Remove the last remnants of LXDSession use
* Switch to decorators.idempotent_id
* Updated from global requirements
* Refactor the flavor <-> profile work
* Refactor storage handling
* Update the glance<->lxd image sync
* Updated from global requirements
* Align with move of hv_type -> fields.HVType & vm_mode -> fields.VMMode
* Align with move of arch -> fields.Architecture
* Fix "unary operator expected" error
* Consolidate profile creation tooling
* Remove erroneous XXX comments
* Move nova-lxd to use os-vif
* Fix image alias creation
* Remove profile-related methods from nova.virt.lxd.session
* Do not write or read from the database in the LXDDriver tests
* Remove the simple nova.virt.lxd.session image methods
* Remove the remainder of the small container methods from session
* Remove dead code in nova.virt.lxd.session
* Updated from global requirements
* Updated from global requirements
* Use constratints when installing requirements
* Remove some unneeded/unused dependencies
* Updated from global requirements
* Expand power state querying and resolution
* Remove `nova.virt.lxd.migrate`
* Remove the need for the `utils` module
* Fix devstack plugin to be smarter about the work it does
* Updated from global requirements
* Wait for contianer to start before querying state
* Fix unit tests to work with pylxd 2.1.2
* Update blacklist
* Simplify vif plugging
* Updated from global requirements
* Updated from global requirements
* Fix attach/detach network interface
* Reset blacklist
* Add post_test_hook.sh
* Add pre_test_hook.sh
* Allow devstack plugin to manage zfs
* Remove validation
* Add tempest-dsvm-lxd-rc
* Remove pylxd from devstack installation

14.0.0
------

* Reset vifs after reboot
* Add LXC cirros image to devstack configuration

14.0.0.0rc1
-----------

* Update snapshot, fixing the hanging issues
* Updated from global requirements
* Updated from global requirements
* Update test_create_server tests
* Remove discover from test-requirements
* Align directory structure with upstream
* Add scenario tests for block storage
* Fix the issue where the host cpu socket count is incorrect
* Add unit tests to verify block storage
* Set volume device name for tempest
* Updated from global requirements
* Fix usability issue when attaching block device
* Cleanup after container start fails
* Re-add pylxd to requirements.txt
* Better directory organisation
* Add the exclusive machine scheduling docs
* Re-add support for configdrive
* Narrow down the flake8 call
* Dont raise exception if instance is not found
* Updated from global requirements

14.0.0.0b3
----------

* Update blacklist
* add code-block to CONTRIBUTING.rst
* Mock out fileutils entirely in the driver tests
* Add nova-lxd tempest plugin

14.0.0.0b2
----------

* Check for container exists before deletion
* Clean up LXD container and profile if failure
* Enable user namespace for ext4
* Run tempest validation
* Add script to run tempest.api.compute
* Updated from global requirements
* Disable encrypted volume tests
* Fix race when unrescuing instance
* Fix container deletion in 'paused' case
* Set container format when doing a snapshot
* Verify contianer power on
* Verify container power off
* Check volume exists when detaching
* Update tempest config
* Recreate instance bridges after reboot
* Set container_format when uploading image
* Simplify get_info method
* Fix destroy while container is shut off
* Configure glance disk-formats
* Make devstack plugin a bit more user friendly
* Fix container rescue/unrescue
* Install the rootwrap filters
* Remove check for running instances during destroy
* Replace iscsi_use_multipath with volume_use_multipath
* Updated from global requirements
* Fix freeze/unfreeze
* Updated from global requirements
* Updated from global requirements
* Simplify empheral profile creation
* Remove unused LXD config option
* Update and test the last of the LXDDriver non-migration methods
* Remove profile after migration
* Update usage.rst doc to reflect new module path
* Fix various typos found
* Update power_off/power_on/get_available_resource
* Update live-migration
* Rework rescue/unrescue methods
* Update filters
* Add os-brick
* Add support for lvm ephemeral storage
* Do a full driver audit of methods that are unimplemented
* Rework LXDDriver pause, unpause, suspend, resume
* Update nova-lxd for charm
* Add support for btrfs ephemeral storage
* Remove version

14.0.0.0b1
----------

* Ensure that oslo_utils.fileutils is mocked
* [RFC] Add support for VIF_TYPE_TAP
* Fix typos
* Add support for zfs backend
* Add support for persistent block devices
* Move migrate_disk_and_power_off to LXDDriver
* Remove uneeded file
* Update attach_interface and detach_interface in LXDDriver
* Remove dead code
* Updated from global requirements
* Update a number of driver methods, and document the missing ones
* lxd installation with devstack on ubuntu 14.04
* Remove configdrive
* Update LXDDriver.destroy and LXDDriver.cleanup
* Rework LXDDriver.spawn to use the new pylxd API
* Modernize more of LXDDriver
* Remove usage of xz
* Begin the modernization of LXDDriver
* Move constants module contents to where it's used
* Move LXDContainerConfig methods in LXDDriver
* Move image handling into LXDDriver
* Add support for ephemeral storage
* Fix uploading images
* Rework filepathing to not need a whole class
* Move the vif methods into migrate
* Move container power state manipulation to LXDDriver
* Move more LXDContainerOperations to LXDDriver
* Move _uid_map to LXDDriver
* Move LXDContainerOperations.get_info to LXDDriver.get_info
* De-rabbithole reboot method
* Remove dead code
* De-rabbit hold get_console_output method
* De-rabbit hole instance destroy
* De-rabbithole container spawning
* Use the new pylxd api for list_instances
* Make container_firewall die a death
* Remove container_snapshot
* Remove virtapi parameter from places it's unused
* Remove LXDHost
* Updated from global requirements
* Remove LXDHost.host_ping
* Fix networking with LinuxBridge
* Updated from global requirements
* Consolidate device configuration
* Fix source and destination host
* Fix traceback when migrating containers
* Add support for live migration
* Updated from global requirements
* Fix package installs
* Remove all traces of github usage
* Add mocking to ensure test isolation from fs
* Correct repository location for gitreview
* Fix rendering of README.md
* Fix pep8
* Fix pep8
* Remove container_defined method usage
* Remove dead crufty unused code
* Update devstack local.conf.sample
* Show actual error message when LXD API fails
* fixed unit conversions in network quotas
* Transition to nova.conf
* Fix pep8
* More compute driver syncs
* extra_specs are int + incorrect quota value warning + more pythonic
* tests for disk and nic quotas
* skip defining 'limits.max' if a more concrete quota has been defined
* respect disk and network quotas defined in OS::Compute::Quota MD namespace
* Fix typo
* Sync with compute driver
* No python 3.4 on xenial
* importable Glance metadata definition file
* Fix tox.ini
* Update travis
* Disable config drive by default
* Fix pep8
* Fid unit tests to build with py34
* Fix unit tests with py27
* Clean up setup.cfg
* Add sample local.conf.sample
* Remove linux-image-converter
* Update devstack configuration
* Fix typo in devstack
* Fix nova-lxd driver loading
* Doc: improve README.md
* Update readme for better detail for using with devstack
* modified tests to use lxd: namespace in extra_specs
* More travis fixes
* Fix travis
* Update jenkins
* Move test-requirements to tox.ini
* use lxd: namespace for flavor extra_specs
* Adjust permissions for configdrive
* Re-add check for root-tar image format
* Change location of console.log
* Tag 13.0.0
* Query the LXD API for memory usage
* Fix issue #20
* Fix migration with configdrive
* Fix spelling typos
* Remove old LXD console configuration
* Fix launching instance with configdrive
* fix pep8
* Fix logic error
* Fix migration with configdrive
* Revert "Wire in live migration"
* Revert "Fix pep8"
* Fix pep8
* Wire in live migration
* Fix unit tests
* Simplify block detection
* Adjust function name
* Check for LXD block devices
* Fix pep8
* Remove extra debug messages
* Bump version
* Use certificate when copying hosts
* Fix the imports for pylxd.exceptions to pylxd.deprecated.exceptions
* Add a broken dependency issue
* Bump version to 13.0.0b2
* Fix pep8
* Fix disk limits
* Update travis
* Update requirements
* Fix typo
* Fix pep8
* Add more unit tests
* Add unit tests for profiles
* Fix failing pep8 and unit tests
* Fix various typos found
* Refactor migration support
* Fix typos
* Add finish_revert_migration
* Make functions non-private
* Make sure profiles exist
* Remove unimplemented methods
* Cleanup log messages
* Always connect to the unix socket
* Implement resize and contianer resource limits
* Rename container migration
* Fix PEP
* Change session to package rather than a module
* Consolidate utils into session
* Add session mixin consolidation
* Consolidate profile session code
* Unify the operations handling
* Consolidate container session stuff
* Consolidate image session handling
* No
* Whitespace..
* Add docs for setting everything up
* Update unit tests and fix pep8
* Update unit tests
* Fix bridge creation with LinuxBridge
* Fix concurrency issues when running snapshots
* Fix attach interface
* Fix typos
* Make snapshots less racey and update for newer LXD
* Fix config drive
* Re-enable console-log
* Simplify and consolidate rescue/unrescue
* Fix image uploading
* Fix unplug bridge with nova-network
* Fix coverage
* Revert "Fix image_meta properties for architecture"
* Fix image_meta properties for architecture
* revert .testr.conf change
* Fix coverage usage
* Fix pep8 issues
* Fix pep8 issues
* Drop JSON encoding for supported_instances
* Remove files
* Fix unit tests and pep8
* More doc strings
* Fix pep8 issues
* Remove import alias
* Fix pep8 errors
* Add more doc strings
* Fix typos
* Update note about config_migration
* Make it more pythonic
* Add more doc strings
* Fix spelling typos
* Be more pythonic
* Refactor image creation
* Fix typos, unit tests and pep8
* Set timeout to -1
* Fix typos uncovered by tempest
* Update unit tests and fix pep8 errors
* Update unit tests
* Remove return from methods
* Fix unit tests
* Fix pep8 errors
* Refactor container output
* Refactor container info
* Refactor cleanup
* Refactor unrescue
* Remove dead code
* Refactor container local copy
* Refactor rescue
* Refactor resume
* Refactor suspend
* Refactor pause, power_on, power_off
* Refactor power off
* Refactor container destroy
* Refactor container reboot
* Fix up typos
* Re-add config drive support
* Refactor spawn method
* Start the network early
* Rename container_ops and test_container_ops
* Fix unit tests and pep8 errors
* Remove the usage of the default profile
* Refactor LXD container creation
* Rename container_config and test_container_config
* Bump version
* Bump to v0.19
* Fix grammar
* Fix pep8
* Fix typos
* Improve error message for ephemeral devices
* Fix almost empty line
* Fix typo
* Fix container_migrate tests in py3
* Update travis
* Check for container operation in iamge_upload
* More pep8 fixes
* Fix pep8 and py27 errors
* Add H404 to tox.ini
* Ignore H405
* Re-add container_migration tests
* Update doc strings
* Update docstring in tests
* Check for container operation in iamge_upload
* Fix typo
* Cache travis pip installation
* Bump travis to test on 3.4
* WTF. Case got changed on the bool
* Fix tests to run on python3
* Don't write pyc files when running tox
* Fix a bug in the envlist for tox
* Fix relative import to be a full path import
* Re-add LXC hv_types
* Use LXD as hypervisor type
* Use socket.gethostname()
* Remove container_utils and ontainer_client
* Refactor utils used by LXD functions
* Refactor snapstop LXD functions
* Refactor migration LXD functions
* Refactor container LXD functions
* Remove container_client and container_utils
* Fix strings
* Use hostname fqdn
* Fix arch on non-x86_64 arches
* Fix pep8 and py27 errors
* More typo fixes
* Fix typos
* Improve debug output
* Split out fetch image
* Add doc strings
* Remove more dead code
* Add image_upload to session
* Refactor container_wait
* Consolidate create_alias
* Add image_ref to the fake instance
* Use alias_defined
* Add docstring for tests
* Refactor image_defined
* Fix fall out from renames
* Rename test_container_image.py and container_image.py
* Remove dead code
* Fix pep8
* Wait for image to upload
* Transition from nova-compute-lxd to nova-lxd
* Update readme
* Update requirements
* Fix alias creation
* Split out LXDContainerDirectories
* Update devstack config
* Update default profile
* Update test_vif_api
* Update test_driver_api
* Update test_container_utils
* Update test_container_ops
* Update test_container_migration
* Update test_container_image
* Update test_container_config
* Update entry point
* Update driver
* Update container_snapshot
* Update container_ops
* Update container_migrate
* nclxd -> nova_lxd transition
* Update container_client
* Remove contrib directory
* Update todo list
* Update coverage
* Update package defaults
* nclxd becomes nova_lxd
* Pass the full operation url
* Fix typo
* Switch devstack installation to devstack-plugin
* PEP8
* implemented plug_vifs() and unplug_vifs() driver methods, fixed missing import of nova.exception
* Fix pep8
* Remove cpu limits
* Fix pep8 errors
* Fix container migration and resize
* Update spec
* Use snapshot id when creating images
* Revert "Refactor network creation"
* Revert "Fix pep8"
* Fix pep8
* Refactor network creation
* Bump to 0.18
* Bump to 0.18
* Fix container rescue/unrescue with lvm
* Update get_container_dir
* Transition to use instance.name
* Handle container initialization failure
* Re-add timeout
* Fix unit tests
* Add container migration unit tests
* Fix vif creation
* Fix unit tests
* Spelling fixes
* Fixup for rename of README.rst to README.md
* Fix pep8
* Fix setup.cfg
* Add unit tests
* Fix contianer destroy tests
* Stop the container stop before destroying
* Specify the correct host
* Remove wait_for_state
* Fix exceptions and LOG info
* Ensure vifs are unplugged during cleanup
* Updates to README
* More pep8 fixes
* Fix image_properties handling
* fix pep8
* Update image property
* Fix pep8
* Add negative test
* Fix failing unit test
* Generate LXD manifest from image_meta
* Always use unix socket
* fix pep8
* Remove python3.4 checks
* LXD test image fixes
* Remove LXDTestContainerUtils
* Fix LXDTestNetworkDriver
* Fix LXDContainerOps
* Update travis config
* Fix LXDTestDriver
* Fix LXDTestDriverNoops tests
* Fix flake8 errors
* Add travis
* Update readme
* Ensure image upload activities are guarded against concurrency
* Drop update for glance image metadata
* Use unix socket if hosts matches up
* Remove unused variables
* Fix test_container_config
* Create a fake instance
* Split out mock functions
* Version bump
* Use os-testr
* Adjust image properties
* Update setup.cfg
* Container check
* small fixes
* Fix typo
* Remove host check
* Update tests for container_config
* Add cold migration support
* Destroy check
* Refactor container creation and operations
* Capture back traces
* Spawn a container into a seperate thread
* Refactor container rescue/unrescue
* fix snapshot name
* fix another typo
* wire up container snapshot
* dont sent task_state directly
* operation-show -> operation-info
* Fix container_stop
* Rescue
* fix typo
* Query snapshot status
* Update rescue continer - part 1
* Update continer - part 1
* Pep8 fixes
* Fix typos
* fix bad merge
* Update attach interface
* Fix typos
* remove debug info
* Simplify vif plugging
* Improve debugging messages
* Dont upload image if exists
* Just do a single init
* Update snapshot support
* Fix various typos
* Ensure that we are on the right host
* Fix debug info
* Re-add suspend/resume
* Fix unknown power_state
* Fix container pause/unpause
* Reset container migration
* Dont stop container before deleting it
* Update requirements
* Check status_code for power_state
* Reset migration
* Optimize image creation and startup
* Optimize image creation usage
* Re-add bridge support
* Refactor network creation
* Release 0.16
* Add new features:
* Refactor init_host
* Fix up instance.uuid migration
* Revert "Rename instance.name to instance.uuid."
* Rename instance.name to instance.uuid
* Fix pep8 and flake8 tests
* Update test-requirements
* Update requirements
* devstack: Fix the README some more
* Fix devstack integration
* Cover more cases for cpu stats
* Add failing snapshot test
* Add failing wait tests
* Drop container_utils tests
* Cover container_update fail
* Cover container_init fail
* Simplify test_rescue_defined
* Cover the 404 case of container_defined
* Add bridge type vif tests
* Add OVS unplug tests
* Add LXDTestOVSDriver
* Add uuid to MockInstance
* Add test_node_is_available
* Add test_get_available_nodes
* Add test_get_host_uptime
* Don't use iteritems
* Fix firewall calls
* Add test_firewall_calls
* Don't handle PyLXDException in container_ops
* Fix test_detach_interface
* Add test_attach_interface
* Fix PEP8 issues
* Fix raise
* Add get_available_resource tests
* Refactor simple cases
* Add power_off tests
* Move rescue tests to driver suite
* Add pause test
* Add simple / noop method tests
* Add test_snapshot
* Don't catch all exceptions
* Add detach interface tests
* Fix NotImplementedError raises
* Add more NotImplemented names
* Add test_get_host_ip_addr
* Add more NotImplemented tests
* Move console test to driver suite
* Add reboot tests
* Add cleanup test
* This line was never reached
* Fix typo
* Add destroy tests
* Move test_spawn_ to driver suite
* Add not implemented suite
* Add test_estimate_instance_overhead
* Add test_instance_exists
* Move test_get_info to driver suite
* Move list_instances test to driver suite
* Move init tests to driver suite
* Add LXDDriver config test
* Use fake virtapi
* Drop network_info from tests
* Adapt tests to new paths
* Check for host before creating profile
* Add container_info
* Add container_config
* Removed unused variable
* Update root_dir
* wire up get_host_cpu_stats
* Dropped reset_network
* Deprecate inject_file and inject_network_info
* Drop the redundant 'lxd' prefix in config options
* Fix py3 compatibility
* Move container_ops to oslo_utils, too
* Fix PEP8 issues
* More fixes
* More fileutils fixes
* Switch to fileutils
* Update requirements
* Add attach/detach interface
* Rename container_info to container_state
* Fix container_defined
* Add test_init_host_new_profile
* Fix PEP8
* Add test_get_console_output
* Add test_get_info
* Add test_container_unrescue
* Add rescue tests
* Fix oslo_utils import
* Fix log message
* Simplify container_running
* Fix fallback events type
* Add test_start_instance
* Add test_create_instance
* Add failing create_instance tests
* Add test_spawn_new
* Fix invocation of InstanceExists and raises
* Add first container_ops tests
* Create default profile if it doesnt exist
* Fix bad merge
* tag 0.13
* Update requirements
* Add security groups support
* Add security groups support
* Update requirements
* Refactor image tests to mock CONF, not utils
* Refactor config tests to mock CONF, not utils
* Add test_fetch_image_new
* Add test_fetch_image_new_alias_failed
* Add test_fetch_image_new_upload_failed
* pylxd.API.image_defined never raises 404
* Fix LXDContainerImage.fetch_image
* Add test_fetch_image_new_defined
* Add tests for existing image
* Move MockInstance to nclxd.tests
* Add test_configure_container_configdrive tests
* Add test_configure_container_rescuedisk
* Add test_configure_network_devices
* Add test_configure_container_config
* Add first container_config tests
* Fix .coveragerc
* Update requirements
* Re-add missing import
* Add requirement of pylxd since its in pypi
* Fixes for python3
* Use absolute imports
* Reorder imports
* Fix typo in fix_container_configdrive name
* Fix PEP8 errors
* Fix container utils tests
* Fix run_tests.sh path for --debug
* tag 0.12
* Fix container cleanup
* image synching
* Add snapshot support
* More updates
* remove cruft
* cleanup
* rescue/unrescue part 2
* rescue part 1
* rough in rescue/unrescue
* Fix container config
* Configure container devices
* Rename function
* Fix add-config for container configuration
* Remove profile
* create default profile
* More cleanups
* remove cruft
* Add configdrive support
* refactor container config
* Split out profile and container configuration
* Refactor container-configuration
* Prep for rescue/unrescue
* Add suspend/resume/pause/unpause
* Add power on and power off
* Add more unit tests
* Add container reboot
* final code refactor
* Revert "nclxd ng"
* Revert "Add get-available-nodes"
* Revert "Remove cleanup_host"
* Revert "Add .idea directory"
* Revert "Wire up list_instances and list_instances_uuid."
* Revert "wire up hosts"
* wire up hosts
* Wire up list_instances and list_instances_uuid
* Add .idea directory
* Remove cleanup_host
* Add get-available-nodes
* nclxd ng
* Correct test cases
* Remove unused file
* Add firewall support
* Fix up typos
* Liberty fixes
* Fix typo
* devstack fixes
* Update devstack support
* Add Scott's image conversion script
* Open for liberty
* fix git repository
* Add todo list
* Various bug fixes
* Updates for LXD 0.7
* Removed debug info
* Update filters
* Create the container at one shot
* More fixes from lxd testing
* Fixes from lxd testing
* More fixes from lxd testing
* Miscalenous vivid fixes for 0.5
* fix destroy
* Vivid overlay
* Add lxd load testing fixes
* remove firewall
* Add fixups from load testing
* Work backwards for known units
* Correct the dict
* Correct hard disk calculation
* converter remove verbose flag in tar creation
* converter fix tar parameter quoting
* converter remove extra tar parameter
* Add support for security groups
* Re-do lxd-image-converter
* Update to version 0.5
* Add utiltity to convert tarballs
* pep8 clean ups
* Removed unused import
* Adjust changes for nclxd
* 0.3 updates
* Update
* Sync with 0.4
* Re-do image creation
* Use pylxd instead
* Switch to using pylxd
* 0.2 changes
* Debug
* use instance img_href
* Create alias
* Get fingerprint of the image
* typo fix
* Fetch image from glance
* Update clients
* Start of surgery
* Re-do how we do container list
* Loose logging
* Loose logging
* Use oslo.log
* Speed up fixes
* Fix console and other stuff
* Clean up
* Add version
* Remove debug
* Add debug
* Fix lxc-usernet
* Fix typo
* Fix template
* fix typo
* Fix formatting
* fix typo
* default user
* Config fix ups
* Revert "Add default user"
* More fixes
* Fix typo
* Add default user
* Configure lxd a bit harder
* Fix lxd
* LXD changes
* Fix LXC configuration file of console and logfile
* Fix typo
* Fix unix sockets
* Use unix socket
* Add filters
* Add missing file
* Add missing btrfs
* More typos
* KeyError
* Specify the correct directory
* Makre sure we are using ints
* Fix containre stats
* Add statistics for container
* Remove ppa and fix up networking a bit more
* Fix console log
* Stop the container before destorying it
* Force Stop
* More whoopsies
* Whoops
* Fix typos
* More config changes
* Fix container console
* Add missing images
* More updates
* Fix typo
* Fix network again
* Fix typo
* Fix white space
* More networking changes
* More fixes
* Updates
* More fixes
* Startover with tests
* Fix requirements
* Update deps
* Update requirements
* More test fixes
* Add missing tools directory
* Add more unit tests
* Add run_tests.sh
* Improve tests
* Fix pep8
* Add missing tox.ini
* M00re fixes
* more fixes
* More fixes
* Fix container reboot
* Copyright headers and cleanup
* Add missing files
* More fixes
* Start adding tests
* Update filters
* Misc fixes
* Add missing files
* Add missing files
* Frist commit
