{"action":"opened","issue":{"url":"https://api.github.com/repos/fog/fog/issues/3541","labels_url":"https://api.github.com/repos/fog/fog/issues/3541/labels{/name}","comments_url":"https://api.github.com/repos/fog/fog/issues/3541/comments","events_url":"https://api.github.com/repos/fog/fog/issues/3541/events","html_url":"https://github.com/fog/fog/issues/3541","id":70447268,"number":3541,"title":"Rackspace snapshots - Force = true ignored","user":{"login":"yannh","id":210669,"avatar_url":"https://avatars.githubusercontent.com/u/210669?v=3","gravatar_id":"","url":"https://api.github.com/users/yannh","html_url":"https://github.com/yannh","followers_url":"https://api.github.com/users/yannh/followers","following_url":"https://api.github.com/users/yannh/following{/other_user}","gists_url":"https://api.github.com/users/yannh/gists{/gist_id}","starred_url":"https://api.github.com/users/yannh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yannh/subscriptions","organizations_url":"https://api.github.com/users/yannh/orgs","repos_url":"https://api.github.com/users/yannh/repos","events_url":"https://api.github.com/users/yannh/events{/privacy}","received_events_url":"https://api.github.com/users/yannh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-23T15:56:21Z","updated_at":"2015-04-23T15:56:21Z","closed_at":null,"body":"So this call:\r\n\r\nsnapshot = volume.create_snapshot :display_name => snapshot_name, :force => true, :volume_id => volume.id\r\n\r\nFails with the following stack:\r\n\r\n        from /var/lib/gems/1.9.1/gems/excon-0.45.3/lib/excon/middlewares/response_parser.rb:8:in `response_call'\r\n        from /var/lib/gems/1.9.1/gems/excon-0.45.3/lib/excon/connection.rb:373:in `response'\r\n        from /var/lib/gems/1.9.1/gems/excon-0.45.3/lib/excon/connection.rb:237:in `request'\r\n        from /var/lib/gems/1.9.1/gems/fog-core-1.30.0/lib/fog/core/connection.rb:81:in `request'\r\n        from /var/lib/gems/1.9.1/gems/fog-1.29.0/lib/fog/rackspace/service.rb:42:in `request'\r\n        from /var/lib/gems/1.9.1/gems/fog-1.29.0/lib/fog/rackspace/block_storage.rb:89:in `request'\r\n        from /var/lib/gems/1.9.1/gems/fog-1.29.0/lib/fog/rackspace/requests/block_storage/create_snapshot.rb:43:in `create_snapshot'\r\n        from /var/lib/gems/1.9.1/gems/fog-1.29.0/lib/fog/rackspace/models/block_storage/snapshot.rb:65:in `save'\r\n        from /var/lib/gems/1.9.1/gems/fog-core-1.30.0/lib/fog/core/collection.rb:51:in `create'\r\n        from /var/lib/gems/1.9.1/gems/fog-1.29.0/lib/fog/rackspace/models/block_storage/volume.rb:91:in `create_snapshot'\r\n        from ./snapshot.rb:65:in `<main>'\r\n\r\nIf we go up that trace:\r\n\r\nvolume.create_snapshot receives the options hash with :force set to true. It calls create in /lib/fog/core/collection.rb passing it the options - so in create, attributes[:force] is set to true.\r\n\r\nCreate then calls object.save in rackspace/models/block_storage/snapshot.rb without passing it any argument. Except that this save function, there is a parameter \"force\" that defaults to false. \r\n\r\nLong story short: it's not currently possible to take a snapshot of a disk that is connected to a VM using fog. \r\n\r\nI am trying to think of a fix but it won't be easy to fix without breaking backward compatibility..."}}