All notable changes to project should be documented in this file. We attempt to adhere to Semantic Versioning.
- fixed List and Get methods to only return Mountpoint value if volume is actually mounted. Hopefully this matches the Docker Volume API better and fixes some spurious volume creation (See #3, #6, #12, and #36)
- add golang/dep support for a repeatable build
- Removed all usage of go-ceph library. Simplifies the code and now only shelling out to 'rbd' executable
- Updated docker/go-plugin-helpers and latest sdk api
- Fixed List() to call out to 'rbd ls' instead of relying on in memory per-host list
- Remove cron script installation from tpkg
- Update XFS checks to mount/unmount to clear any disk logs
- Updated plugin to include Capabilities() method and new method signatures for Mount(MountRequest) and Unmount(UnmountRequest)
- add xfs filesystem check before mount - if xfs-repair -n returns error, Mount operation fails with note to manually repair
- Bug fix from bad upstream merge: provide openContext and shutdownContext
- Merged upstream fixes for pull porcupie#7
- Added goroutines and timeouts to all shell commands, hoping to prevent propagation of hung external procs to docker daemon
- Docker is calling Unmount after failed Mount, causing trouble if device is still in use by another container (locked by same node). The workaround / hack is to bail earlier in Unmount API call if rbd unmap fails with busy device error. This can leave the device usable but possibly in a funky state (unmounted from host but still mounted and accessible inside container)
- related to porcupie#5
- When rbd map does not return device name but no error, try default device path (/dev/rbd//). Issue porcupie#4
- Updated to pull in yp-engineering/rbd-docker-plugin v0.9.1.2, which includes support for Docker Volume Create options: size, pool, fstype
- Due to issue with golang 1.6 and strict Host header requirements, we
cannot use golang 1.6 to compile our plugin since docker never sends
correct Host header for plugin socket usage.
- Recompiled with golang 1.5
- added a cron job and check script for the Ceph configs and tpkg update
- bump major version with deprecated --remove boolean flag
- --remove flag now takes one of three values: ignore, delete or rename
- ignore will just ignore the docker volume Remove call (new default)
- delete will destroy the rbd volume on Remove request
- rename will rename the rbd volume on Remove request, prefixed with
zz_
- pulled latest from upstream yp-engineering/rbd-docker-plugin
- add new docker volume api support (Get, List)
- use ceph/go-ceph instead of noahdesu/go-ceph
- use docker/go-plugins-helpers/ instead of calavera/dkvolume
- Update logrotate config to restart instead of reload
- Some new marathon-tester configs for running a test container in Marathon/Mesos environment
- Update systemd service unit to add --config /etc/ceph/ceph.conf
- Force default config file in main.go to /etc/ceph/ceph.conf
- Last ditch effort : Update all Plugin RBD functions to use CLI shell commands instead of go-ceph library
- Provide command line flag --go-ceph to use go-ceph lib, otherwise default
now is shell CLI command via
rbd
binary
- Try to open RBD Image without read-only option (no effect)
- Try to use same client-id for every connection -- not possible in go-ceph
- Adding --conf options to external rbd operations (was having micro-osd issues)
- Update go-ceph import to use github.com/ceph/go-ceph instead of noahdesu/go-ceph
- Recreate ceph connection and pool context for every operation (don't try to cache them)
- Disable the reload operation in systemd service unit, having issues with go-ceph lib and that operation (panics)
- Update the Image Rename and Remove functions to use go-ceph lib instead of shelling out to rbd binary
- Update the tpkg scripts to start the service on installation
- Merged pull request with some RPM scripts for use in generic Redhat EL7 (Thanks Clement Laforet [email protected])
- Added micro-osd script for testing Ceph locally
- Added user ID and options to more shell rbd binary exec commands (Thanks Sébastien Han [email protected])
- Moving version definition from tpkg.yml to version.go
- Better blkid integration (Thanks Sébastien Han [email protected])