{"action":"closed","issue":{"url":"https://api.github.com/repos/vmware/vic/issues/2624","repository_url":"https://api.github.com/repos/vmware/vic","labels_url":"https://api.github.com/repos/vmware/vic/issues/2624/labels{/name}","comments_url":"https://api.github.com/repos/vmware/vic/issues/2624/comments","events_url":"https://api.github.com/repos/vmware/vic/issues/2624/events","html_url":"https://github.com/vmware/vic/issues/2624","id":181865831,"number":2624,"title":"Upgrade does not wait for components to start","user":{"login":"hickeng","id":3923729,"avatar_url":"https://avatars.githubusercontent.com/u/3923729?v=3","gravatar_id":"","url":"https://api.github.com/users/hickeng","html_url":"https://github.com/hickeng","followers_url":"https://api.github.com/users/hickeng/followers","following_url":"https://api.github.com/users/hickeng/following{/other_user}","gists_url":"https://api.github.com/users/hickeng/gists{/gist_id}","starred_url":"https://api.github.com/users/hickeng/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hickeng/subscriptions","organizations_url":"https://api.github.com/users/hickeng/orgs","repos_url":"https://api.github.com/users/hickeng/repos","events_url":"https://api.github.com/users/hickeng/events{/privacy}","received_events_url":"https://api.github.com/users/hickeng/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/vmware/vic/labels/component/tether","name":"component/tether","color":"d4c5f9"},{"url":"https://api.github.com/repos/vmware/vic/labels/component/vic-machine","name":"component/vic-machine","color":"d4c5f9"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/vmware/vic/milestones/37","html_url":"https://github.com/vmware/vic/milestones/VIC%20GA%20Release","labels_url":"https://api.github.com/repos/vmware/vic/milestones/37/labels","id":1799354,"number":37,"title":"VIC GA Release","description":"Milestone for tracking all work towards the GA goal","creator":{"login":"mdubya66","id":15821624,"avatar_url":"https://avatars.githubusercontent.com/u/15821624?v=3","gravatar_id":"","url":"https://api.github.com/users/mdubya66","html_url":"https://github.com/mdubya66","followers_url":"https://api.github.com/users/mdubya66/followers","following_url":"https://api.github.com/users/mdubya66/following{/other_user}","gists_url":"https://api.github.com/users/mdubya66/gists{/gist_id}","starred_url":"https://api.github.com/users/mdubya66/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mdubya66/subscriptions","organizations_url":"https://api.github.com/users/mdubya66/orgs","repos_url":"https://api.github.com/users/mdubya66/repos","events_url":"https://api.github.com/users/mdubya66/events{/privacy}","received_events_url":"https://api.github.com/users/mdubya66/received_events","type":"User","site_admin":false},"open_issues":121,"closed_issues":396,"state":"open","created_at":"2016-05-31T17:50:00Z","updated_at":"2016-10-13T19:02:01Z","due_on":"2016-11-07T00:00:00Z","closed_at":null},"comments":0,"created_at":"2016-10-09T04:50:58Z","updated_at":"2016-10-13T19:02:01Z","closed_at":"2016-10-13T19:02:01Z","body":"**Expected behavior:**\r\nAfter upgrading vic-machine blocks until the appliance has successfully launched, and rolls back if that doesn't happen in a reasonable time frame.\r\n\r\n**Actual behavior:**\r\nvic-machine doesn't block until the component have launched or validate function.\r\n\r\n** Diagnosis**\r\nThis is a combination of two things:\r\n* adding client authentication means that unless a client cert is supplied it's not always possible to access the DOCKER_API endpoint to confirm function. This resulted in the endpoint check moving out of the standard startAppliance path and into the callers that need it.\r\n* session.started is persisted across reboots, so we don't block waiting for that either as they would be marked as successful from the previous initialization.\r\n\r\nWe have possible parts of solutions :\r\n1. allow the host certificate to be used for client verification - that means we *always* have a cert available that can be used for the client auth if we have access to the config. This requires not masking the host private key from the API however.\r\n2. make `session.started` non-persistent, and/or clear it on the shutdown path. Doing this would mean we need to split into `status` and `state` so that we can persist `status` which could contain errors such as `no such file` vs state which is contingent on the VM running."}}
{"actor":{"display_login":"hickeng"}}