{"action":"created","issue":{"url":"https://api.github.com/repos/ganeti/ganeti/issues/1066","repository_url":"https://api.github.com/repos/ganeti/ganeti","labels_url":"https://api.github.com/repos/ganeti/ganeti/issues/1066/labels{/name}","comments_url":"https://api.github.com/repos/ganeti/ganeti/issues/1066/comments","events_url":"https://api.github.com/repos/ganeti/ganeti/issues/1066/events","html_url":"https://github.com/ganeti/ganeti/issues/1066","id":238318235,"number":1066,"title":"Enable disk add with --no-wait-for-sync for shutdown instances","user":{"login":"Ganeti-Issues-Migrator","id":29254221,"avatar_url":"https://avatars3.githubusercontent.com/u/29254221?v=3","gravatar_id":"","url":"https://api.github.com/users/Ganeti-Issues-Migrator","html_url":"https://github.com/Ganeti-Issues-Migrator","followers_url":"https://api.github.com/users/Ganeti-Issues-Migrator/followers","following_url":"https://api.github.com/users/Ganeti-Issues-Migrator/following{/other_user}","gists_url":"https://api.github.com/users/Ganeti-Issues-Migrator/gists{/gist_id}","starred_url":"https://api.github.com/users/Ganeti-Issues-Migrator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ganeti-Issues-Migrator/subscriptions","organizations_url":"https://api.github.com/users/Ganeti-Issues-Migrator/orgs","repos_url":"https://api.github.com/users/Ganeti-Issues-Migrator/repos","events_url":"https://api.github.com/users/Ganeti-Issues-Migrator/events{/privacy}","received_events_url":"https://api.github.com/users/Ganeti-Issues-Migrator/received_events","type":"User","site_admin":false},"labels":[{"id":631684181,"url":"https://api.github.com/repos/ganeti/ganeti/labels/Component-storage","name":"Component-storage","color":"ededed","default":false},{"id":631648911,"url":"https://api.github.com/repos/ganeti/ganeti/labels/imported_from_google_code","name":"imported_from_google_code","color":"ededed","default":false},{"id":631648914,"url":"https://api.github.com/repos/ganeti/ganeti/labels/Priority-Medium","name":"Priority-Medium","color":"ededed","default":false},{"id":631678998,"url":"https://api.github.com/repos/ganeti/ganeti/labels/Status:Accepted","name":"Status:Accepted","color":"ededed","default":false},{"id":631648913,"url":"https://api.github.com/repos/ganeti/ganeti/labels/Type-Enhancement","name":"Type-Enhancement","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ganeti/ganeti/milestones/14","html_url":"https://github.com/ganeti/ganeti/milestone/14","labels_url":"https://api.github.com/repos/ganeti/ganeti/milestones/14/labels","id":2597230,"number":14,"title":"Milestone-Release2.14","description":null,"creator":{"login":"Ganeti-Issues-Migrator","id":29254221,"avatar_url":"https://avatars3.githubusercontent.com/u/29254221?v=3","gravatar_id":"","url":"https://api.github.com/users/Ganeti-Issues-Migrator","html_url":"https://github.com/Ganeti-Issues-Migrator","followers_url":"https://api.github.com/users/Ganeti-Issues-Migrator/followers","following_url":"https://api.github.com/users/Ganeti-Issues-Migrator/following{/other_user}","gists_url":"https://api.github.com/users/Ganeti-Issues-Migrator/gists{/gist_id}","starred_url":"https://api.github.com/users/Ganeti-Issues-Migrator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ganeti-Issues-Migrator/subscriptions","organizations_url":"https://api.github.com/users/Ganeti-Issues-Migrator/orgs","repos_url":"https://api.github.com/users/Ganeti-Issues-Migrator/repos","events_url":"https://api.github.com/users/Ganeti-Issues-Migrator/events{/privacy}","received_events_url":"https://api.github.com/users/Ganeti-Issues-Migrator/received_events","type":"User","site_admin":false},"open_issues":20,"closed_issues":1,"state":"open","created_at":"2017-06-21T22:12:15Z","updated_at":"2017-06-24T13:45:50Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2017-06-24T13:45:50Z","updated_at":"2017-06-24T13:46:26Z","closed_at":null,"body":"Originally reported of Google Code with ID 1010.\n\n```\nWhat software version are you running? Please provide the output of \"gnt-\r\ncluster --version\", \"gnt-cluster version\", and \"hspace --version\".\r\n\r\nroot@wrn-vm1:~# gnt-cluster --version\r\ngnt-cluster (ganeti v2.11.6) 2.11.6\r\nroot@wrn-vm1:~# gnt-cluster version\r\nSoftware version: 2.11.6\r\nInternode protocol: 2110000\r\nConfiguration format: 2110000\r\nOS api version: 20\r\nExport interface: 0\r\nVCS version: (ganeti) version v2.11.6\r\nroot@wrn-vm1:~# hspace --version\r\nhspace (ganeti) version v2.11.6\r\ncompiled with ghc 7.4\r\nrunning on linux x86_64\r\n\r\n<b>What distribution are you using?</b>\n\r\nDebian Wheezy\r\n\r\n<b>What steps will reproduce the problem?</b>\n\r\nThis is a shutdown drbd instance with a single disk.\r\n\r\nroot@wrn-vm1:~# gnt-instance modify --disk add:size=50G --no-wait-for-sync ardb.int.example.net\r\nFailure: prerequisites not met for this operation:\r\nerror type: wrong_input, error details:\r\nCan't add a disk to an instance with deactivated disks and --no-wait-for-sync given.\r\n\r\nSo I was forced to do:\r\n\r\nroot@wrn-vm1:~# gnt-instance modify --disk add:size=50G ardb.int.example.net\r\nMon Dec 15 10:22:57 2014  - INFO: Waiting for instance ardb.int.example.net to sync disks\r\nMon Dec 15 10:22:59 2014  - INFO: - device disk/1:  2.10% done, 15m 12s remaining (estimated)\r\n... etc, waiting 15 minutes for command to complete\r\n\r\n<b>What is the expected output? What do you see instead?</b>\n\r\nI expected that \"--no-wait-for-sync\" would add the disk and return immediately, leaving drbd to sync in the background.\r\n\r\n<b>Please provide any additional information below.</b>\n\r\nI don't see anything in the manpage which says that --no-wait-for-sync cannot be used on shutdown instances.\r\n\r\n       The  --disk add:size=*SIZE*,[options..]  option  adds  a  disk  to  the\r\n       instance, and --disk *N*:add:size=*SIZE*,[options..] will add a disk to\r\n       the  the  instance  at a specific index.  The available options are the\r\n       same as in the add command(spindles,  mode,  name,  vg,  metavg).   Per\r\n       default, gnt-instance waits for the disk mirror to sync.  If you do not\r\n       want this behavior, use the --no-wait-for-sync option.\r\n\r\nAnd in the case of converting -t plain to -t drbd, which also supports --no-wait-for-sync,  the instance *must* be shutdown.\r\n\r\nPartial workaround is to use the \"--submit\" option; however the instance still cannot be restarted until the sync is complete.\n```\nOriginally added on 2014-12-15 10:33:22 +0000 UTC."},"comment":{"url":"https://api.github.com/repos/ganeti/ganeti/issues/comments/310839519","html_url":"https://github.com/ganeti/ganeti/issues/1066#issuecomment-310839519","issue_url":"https://api.github.com/repos/ganeti/ganeti/issues/1066","id":310839519,"user":{"login":"Ganeti-Issues-Migrator","id":29254221,"avatar_url":"https://avatars3.githubusercontent.com/u/29254221?v=3","gravatar_id":"","url":"https://api.github.com/users/Ganeti-Issues-Migrator","html_url":"https://github.com/Ganeti-Issues-Migrator","followers_url":"https://api.github.com/users/Ganeti-Issues-Migrator/followers","following_url":"https://api.github.com/users/Ganeti-Issues-Migrator/following{/other_user}","gists_url":"https://api.github.com/users/Ganeti-Issues-Migrator/gists{/gist_id}","starred_url":"https://api.github.com/users/Ganeti-Issues-Migrator/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Ganeti-Issues-Migrator/subscriptions","organizations_url":"https://api.github.com/users/Ganeti-Issues-Migrator/orgs","repos_url":"https://api.github.com/users/Ganeti-Issues-Migrator/repos","events_url":"https://api.github.com/users/Ganeti-Issues-Migrator/events{/privacy}","received_events_url":"https://api.github.com/users/Ganeti-Issues-Migrator/received_events","type":"User","site_admin":false},"created_at":"2017-06-24T13:46:26Z","updated_at":"2017-06-24T13:46:26Z","body":"\n```\nWe do this because of an internal restriction - we track whether disks are active or not via a single flag. The newly added disk must be active to synchronize, while already existing disks have been deactivated during shutdown, or not activated at all. Having the disks both active and inactive violates assumptions and causes errors across the codebase, so we force ourselves into consistency in the only way that still preserves redundancy - waiting for the sync to complete before shutting down the disk.\r\n\r\nThis is something that could be improved in a newer Ganeti version where disks are separate objects, but there is no possible way we can port this to 2.11. I'm keeping this bug around, but setting the version to 2.14. Let me know if anything else is needed - perhaps a manpage update?\n```\nOriginally added on 2014-12-17 12:40:05 +0000 UTC.\n\nAdded Labels: Type-Enhancement Priority-Medium Component-storage\nChanged State: Accepted\nAdded to Milestone: Release2.14"}}
{"actor":{"display_login":"Ganeti-Issues-Migrator"}}