{"action":"created","issue":{"url":"https://api.github.com/repos/Nanocloud/nanocloud/issues/191","repository_url":"https://api.github.com/repos/Nanocloud/nanocloud","labels_url":"https://api.github.com/repos/Nanocloud/nanocloud/issues/191/labels{/name}","comments_url":"https://api.github.com/repos/Nanocloud/nanocloud/issues/191/comments","events_url":"https://api.github.com/repos/Nanocloud/nanocloud/issues/191/events","html_url":"https://github.com/Nanocloud/nanocloud/issues/191","id":175352923,"number":191,"title":"Application to be linked to an image and displayed as such","user":{"login":"dynamiccast","id":10377736,"avatar_url":"https://avatars.githubusercontent.com/u/10377736?v=3","gravatar_id":"","url":"https://api.github.com/users/dynamiccast","html_url":"https://github.com/dynamiccast","followers_url":"https://api.github.com/users/dynamiccast/followers","following_url":"https://api.github.com/users/dynamiccast/following{/other_user}","gists_url":"https://api.github.com/users/dynamiccast/gists{/gist_id}","starred_url":"https://api.github.com/users/dynamiccast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dynamiccast/subscriptions","organizations_url":"https://api.github.com/users/dynamiccast/orgs","repos_url":"https://api.github.com/users/dynamiccast/repos","events_url":"https://api.github.com/users/dynamiccast/events{/privacy}","received_events_url":"https://api.github.com/users/dynamiccast/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Nanocloud/nanocloud/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/Nanocloud/nanocloud/labels/Images%20&%20applications","name":"Images & applications","color":"d4c5f9"},{"url":"https://api.github.com/repos/Nanocloud/nanocloud/labels/UX","name":"UX","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"Gentux","id":454841,"avatar_url":"https://avatars.githubusercontent.com/u/454841?v=3","gravatar_id":"","url":"https://api.github.com/users/Gentux","html_url":"https://github.com/Gentux","followers_url":"https://api.github.com/users/Gentux/followers","following_url":"https://api.github.com/users/Gentux/following{/other_user}","gists_url":"https://api.github.com/users/Gentux/gists{/gist_id}","starred_url":"https://api.github.com/users/Gentux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gentux/subscriptions","organizations_url":"https://api.github.com/users/Gentux/orgs","repos_url":"https://api.github.com/users/Gentux/repos","events_url":"https://api.github.com/users/Gentux/events{/privacy}","received_events_url":"https://api.github.com/users/Gentux/received_events","type":"User","site_admin":false},"assignees":[{"login":"Gentux","id":454841,"avatar_url":"https://avatars.githubusercontent.com/u/454841?v=3","gravatar_id":"","url":"https://api.github.com/users/Gentux","html_url":"https://github.com/Gentux","followers_url":"https://api.github.com/users/Gentux/followers","following_url":"https://api.github.com/users/Gentux/following{/other_user}","gists_url":"https://api.github.com/users/Gentux/gists{/gist_id}","starred_url":"https://api.github.com/users/Gentux/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Gentux/subscriptions","organizations_url":"https://api.github.com/users/Gentux/orgs","repos_url":"https://api.github.com/users/Gentux/repos","events_url":"https://api.github.com/users/Gentux/events{/privacy}","received_events_url":"https://api.github.com/users/Gentux/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Nanocloud/nanocloud/milestones/3","html_url":"https://github.com/Nanocloud/nanocloud/milestones/2.1-sprint1","labels_url":"https://api.github.com/repos/Nanocloud/nanocloud/milestones/3/labels","id":1986592,"number":3,"title":"2.1-sprint1","description":"## Image management v2\r\n\r\n- Incompatible application can work on Nanocloud\r\n\r\n## Alternative to Guacamole for desktop streaming\r\n\r\n## Email templating\r\n\r\n## QEMU driver","creator":{"login":"dynamiccast","id":10377736,"avatar_url":"https://avatars.githubusercontent.com/u/10377736?v=3","gravatar_id":"","url":"https://api.github.com/users/dynamiccast","html_url":"https://github.com/dynamiccast","followers_url":"https://api.github.com/users/dynamiccast/followers","following_url":"https://api.github.com/users/dynamiccast/following{/other_user}","gists_url":"https://api.github.com/users/dynamiccast/gists{/gist_id}","starred_url":"https://api.github.com/users/dynamiccast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dynamiccast/subscriptions","organizations_url":"https://api.github.com/users/dynamiccast/orgs","repos_url":"https://api.github.com/users/dynamiccast/repos","events_url":"https://api.github.com/users/dynamiccast/events{/privacy}","received_events_url":"https://api.github.com/users/dynamiccast/received_events","type":"User","site_admin":false},"open_issues":10,"closed_issues":11,"state":"open","created_at":"2016-09-06T15:58:39Z","updated_at":"2016-09-19T18:04:47Z","due_on":"2016-09-26T00:00:00Z","closed_at":null},"comments":1,"created_at":"2016-09-06T21:10:41Z","updated_at":"2016-09-20T21:38:35Z","closed_at":null,"body":"Add a one to many relationship between Image and  App\r\nDefault image should have a link with the desktop by default\r\nFrontend should displayed application in a box for each image (one for now)\r\nGroups should link users to images\r\n\r\n\r\nUpdated: It is simpler to link Image and App with one to many than many to many. If an application has more than one image, it will become ambiguous to determine whether or not we have to boot a new instance or not."},"comment":{"url":"https://api.github.com/repos/Nanocloud/nanocloud/issues/comments/248442690","html_url":"https://github.com/Nanocloud/nanocloud/issues/191#issuecomment-248442690","issue_url":"https://api.github.com/repos/Nanocloud/nanocloud/issues/191","id":248442690,"user":{"login":"dynamiccast","id":10377736,"avatar_url":"https://avatars.githubusercontent.com/u/10377736?v=3","gravatar_id":"","url":"https://api.github.com/users/dynamiccast","html_url":"https://github.com/dynamiccast","followers_url":"https://api.github.com/users/dynamiccast/followers","following_url":"https://api.github.com/users/dynamiccast/following{/other_user}","gists_url":"https://api.github.com/users/dynamiccast/gists{/gist_id}","starred_url":"https://api.github.com/users/dynamiccast/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dynamiccast/subscriptions","organizations_url":"https://api.github.com/users/dynamiccast/orgs","repos_url":"https://api.github.com/users/dynamiccast/repos","events_url":"https://api.github.com/users/dynamiccast/events{/privacy}","received_events_url":"https://api.github.com/users/dynamiccast/received_events","type":"User","site_admin":false},"created_at":"2016-09-20T21:38:35Z","updated_at":"2016-09-20T21:38:35Z","body":"There is a major flaw in this implementation.\r\n\r\nWhen a VM is created, the cycle is as follow:\r\n- A machine is ask for creation to the underlying driver\r\n- A machine is add to the database as booting\r\n- A loop periodically check if the machine is running\r\n- Once it's available, the function `driver.getPassword` is called to retrieve the password.\r\n\r\nFor aws, the code is here: https://github.com/Nanocloud/nanocloud/blob/master/api/drivers/aws/driver.js#L484\r\n\r\nSee how it asks the `MachineService` for the default image to see if the password is handle by Nanocloud or needs to be asked to AWS. This is the expected behavior, the driver assumes all new instances are booted from the latest image.\r\n\r\nThe problem is, if one creates a new image while a VM is booting, there is a chance the default image changes before the instance is set to running. This will lead to a wrong password being assigned to the instance, and thus to guacamole not being about to connect."}}
{"actor":{"display_login":"dynamiccast"}}