{"action":"created","issue":{"url":"https://api.github.com/repos/joyent/smartos-live/issues/819","repository_url":"https://api.github.com/repos/joyent/smartos-live","labels_url":"https://api.github.com/repos/joyent/smartos-live/issues/819/labels{/name}","comments_url":"https://api.github.com/repos/joyent/smartos-live/issues/819/comments","events_url":"https://api.github.com/repos/joyent/smartos-live/issues/819/events","html_url":"https://github.com/joyent/smartos-live/issues/819","id":395119973,"node_id":"MDU6SXNzdWUzOTUxMTk5NzM=","number":819,"title":"vmadm: lofs mount of a non-existent source path leaves VM in wedged state","user":{"login":"danderson","id":1918,"node_id":"MDQ6VXNlcjE5MTg=","avatar_url":"https://avatars0.githubusercontent.com/u/1918?v=4","gravatar_id":"","url":"https://api.github.com/users/danderson","html_url":"https://github.com/danderson","followers_url":"https://api.github.com/users/danderson/followers","following_url":"https://api.github.com/users/danderson/following{/other_user}","gists_url":"https://api.github.com/users/danderson/gists{/gist_id}","starred_url":"https://api.github.com/users/danderson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danderson/subscriptions","organizations_url":"https://api.github.com/users/danderson/orgs","repos_url":"https://api.github.com/users/danderson/repos","events_url":"https://api.github.com/users/danderson/events{/privacy}","received_events_url":"https://api.github.com/users/danderson/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-01-01T23:17:56Z","updated_at":"2019-01-03T19:12:16Z","closed_at":null,"author_association":"NONE","body":"If you try creating an OS VM that has a lofs mount with a source path that doesn't exist in the GZ, `vmadm create` fails but doesn't cleanly unwind the half-created zone. You end up with a zone that vmadm cannot use, but also cannot delete, and you have to go use `zonecfg`, `zfs destroy` and `zoneadm` to clean up the leftover state.\r\n\r\nI'm still quite unfamiliar with the codebase, but it feels like there's a combination of a missing validation step for lofs mounts (check that the path exists during validation - although that can be racy, it'll definitely help standalone users at least), and missing unwinding logic to tear down the half-built zone when zonecfg/zoneadm fail due to the invalid spec."},"comment":{"url":"https://api.github.com/repos/joyent/smartos-live/issues/comments/451246158","html_url":"https://github.com/joyent/smartos-live/issues/819#issuecomment-451246158","issue_url":"https://api.github.com/repos/joyent/smartos-live/issues/819","id":451246158,"node_id":"MDEyOklzc3VlQ29tbWVudDQ1MTI0NjE1OA==","user":{"login":"mgerdts","id":8992389,"node_id":"MDQ6VXNlcjg5OTIzODk=","avatar_url":"https://avatars3.githubusercontent.com/u/8992389?v=4","gravatar_id":"","url":"https://api.github.com/users/mgerdts","html_url":"https://github.com/mgerdts","followers_url":"https://api.github.com/users/mgerdts/followers","following_url":"https://api.github.com/users/mgerdts/following{/other_user}","gists_url":"https://api.github.com/users/mgerdts/gists{/gist_id}","starred_url":"https://api.github.com/users/mgerdts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgerdts/subscriptions","organizations_url":"https://api.github.com/users/mgerdts/orgs","repos_url":"https://api.github.com/users/mgerdts/repos","events_url":"https://api.github.com/users/mgerdts/events{/privacy}","received_events_url":"https://api.github.com/users/mgerdts/received_events","type":"User","site_admin":false},"created_at":"2019-01-03T19:12:16Z","updated_at":"2019-01-03T19:12:16Z","author_association":"CONTRIBUTOR","body":"related: https://smartos.org/bugview/OS-7350"}}
{"actor":{"display_login":"mgerdts"}}