NetApp / netappdvp

A Docker volume plugin for NetApp storage
96 stars 33 forks source link

Problem with SWARM #30

Closed flegrand closed 8 years ago

flegrand commented 8 years ago

Hello

We trying to create a volume in Swarm, each node tries to create the volume but there is a conflict:

<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE netapp SYSTEM 'file:/etc/netapp_gx.dtd'>

DEBU[10542] volume-create result: resultStatusAttr: failed resultReasonAttr: Failed to load job for Create netappdvp_db_mysql: Job exists resultErrnoAttr: 13001

The volume is then created on 1 node only instead of on each node. Demonstration:

Environment: Nodes: docker1, docker2 (CENTOS7) Universal Control Plane 1.1.3 (27ce266)API: 1.22 Engine: 1.11.2-cs5

Steps: 1) Connect to Swarm source env.sh 2) Create a volume in Swarm docker volume create -d netapp --name db_mysql -o size=2g -o snapshotDir=false 3) On node2 The volume is created on node2 docker volume ls DRIVER VOLUME NAME netapp db_mysql 4) On node1 No volume created on node1 5) Launch an application with a constraint on node1 cat docker-compose.yml

version: '2' services: mysql: image: mysql volumes:

docker-compose up -d Creating db_mysql_1

6) Check volume on node1 The volume is created with the local driver instead of netapp as specified in compose. [root@docker1 ~]# docker volume ls DRIVER VOLUME NAME local db_mysql

innergy commented 8 years ago

Thanks for writing in and providing so much detail. We were able to reproduce this and made a fix. A new release of the plugin is in the works, but if you need it sooner feel free to build it yourself. Thanks!

Fixed with commit d59cff0c9bad998628b853e662c4ed40c8a662e2

flegrand commented 8 years ago

I tried your fix and it works fine now. Thanks a lot for this quick change !