{"action":"created","issue":{"url":"https://api.github.com/repos/pelias/pelias/issues/86","labels_url":"https://api.github.com/repos/pelias/pelias/issues/86/labels{/name}","comments_url":"https://api.github.com/repos/pelias/pelias/issues/86/comments","events_url":"https://api.github.com/repos/pelias/pelias/issues/86/events","html_url":"https://github.com/pelias/pelias/issues/86","id":73382326,"number":86,"title":"[discuss] potential for builds to get 'stale'","user":{"login":"missinglink","id":738069,"avatar_url":"https://avatars.githubusercontent.com/u/738069?v=3","gravatar_id":"","url":"https://api.github.com/users/missinglink","html_url":"https://github.com/missinglink","followers_url":"https://api.github.com/users/missinglink/followers","following_url":"https://api.github.com/users/missinglink/following{/other_user}","gists_url":"https://api.github.com/users/missinglink/gists{/gist_id}","starred_url":"https://api.github.com/users/missinglink/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/missinglink/subscriptions","organizations_url":"https://api.github.com/users/missinglink/orgs","repos_url":"https://api.github.com/users/missinglink/repos","events_url":"https://api.github.com/users/missinglink/events{/privacy}","received_events_url":"https://api.github.com/users/missinglink/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/pelias/pelias/labels/on-deck","name":"on-deck","color":"ededed"},{"url":"https://api.github.com/repos/pelias/pelias/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":{"login":"heffergm","id":629729,"avatar_url":"https://avatars.githubusercontent.com/u/629729?v=3","gravatar_id":"","url":"https://api.github.com/users/heffergm","html_url":"https://github.com/heffergm","followers_url":"https://api.github.com/users/heffergm/followers","following_url":"https://api.github.com/users/heffergm/following{/other_user}","gists_url":"https://api.github.com/users/heffergm/gists{/gist_id}","starred_url":"https://api.github.com/users/heffergm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heffergm/subscriptions","organizations_url":"https://api.github.com/users/heffergm/orgs","repos_url":"https://api.github.com/users/heffergm/repos","events_url":"https://api.github.com/users/heffergm/events{/privacy}","received_events_url":"https://api.github.com/users/heffergm/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/pelias/pelias/milestones/1","html_url":"https://github.com/pelias/pelias/milestones/Pelias%20v1.0.0","labels_url":"https://api.github.com/repos/pelias/pelias/milestones/1/labels","id":1095621,"number":1,"title":"Pelias v1.0.0","description":"Release focused primarily on Pelias as a service. \r\n\r\n * primitive address parsing\r\n * street search when house number is not found\r\n * redesigned API with versioning support\r\n * additional demos as well as improved existing ones\r\n * full documentation of the API, implemented features, known shortcomings, work-arounds\r\n\r\n__Note:__ Improvements and documentation related to installation and setup of private instance will be  postponed for future release.","creator":{"login":"dianashk","id":5446511,"avatar_url":"https://avatars.githubusercontent.com/u/5446511?v=3","gravatar_id":"","url":"https://api.github.com/users/dianashk","html_url":"https://github.com/dianashk","followers_url":"https://api.github.com/users/dianashk/followers","following_url":"https://api.github.com/users/dianashk/following{/other_user}","gists_url":"https://api.github.com/users/dianashk/gists{/gist_id}","starred_url":"https://api.github.com/users/dianashk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dianashk/subscriptions","organizations_url":"https://api.github.com/users/dianashk/orgs","repos_url":"https://api.github.com/users/dianashk/repos","events_url":"https://api.github.com/users/dianashk/events{/privacy}","received_events_url":"https://api.github.com/users/dianashk/received_events","type":"User","site_admin":false},"open_issues":16,"closed_issues":7,"state":"open","created_at":"2015-05-04T19:05:29Z","updated_at":"2015-07-08T15:33:14Z","due_on":"2015-07-10T04:00:00Z","closed_at":null},"comments":5,"created_at":"2015-05-05T17:51:14Z","updated_at":"2015-07-09T00:32:18Z","closed_at":null,"body":"opening up a team discussion following my closing comment here: https://github.com/pelias/pelias/issues/85\r\n\r\nas our live build cycle is based around new features being developed in the importers, as those import scripts become more mature and less feature development takes place in those repos, we will see larger and larger gaps between builds.\r\n\r\nsteven mentioned in [this comment](https://github.com/pelias/pelias/issues/85#issuecomment-98881468) how he added a POI to OSM and 17 days later it was still not present in Pelias.\r\n\r\nI think the easiest solution to this issue is to define a maximum gap between builds, so for example, we would say \"if osm hasn't been refreshed in 14 days and a new planet file exists, then we should start a new build even if the code is the same\"\r\n\r\nthoughts?\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/pelias/pelias/issues/comments/119770355","html_url":"https://github.com/pelias/pelias/issues/86#issuecomment-119770355","issue_url":"https://api.github.com/repos/pelias/pelias/issues/86","id":119770355,"user":{"login":"heffergm","id":629729,"avatar_url":"https://avatars.githubusercontent.com/u/629729?v=3","gravatar_id":"","url":"https://api.github.com/users/heffergm","html_url":"https://github.com/heffergm","followers_url":"https://api.github.com/users/heffergm/followers","following_url":"https://api.github.com/users/heffergm/following{/other_user}","gists_url":"https://api.github.com/users/heffergm/gists{/gist_id}","starred_url":"https://api.github.com/users/heffergm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heffergm/subscriptions","organizations_url":"https://api.github.com/users/heffergm/orgs","repos_url":"https://api.github.com/users/heffergm/repos","events_url":"https://api.github.com/users/heffergm/events{/privacy}","received_events_url":"https://api.github.com/users/heffergm/received_events","type":"User","site_admin":false},"created_at":"2015-07-09T00:32:18Z","updated_at":"2015-07-09T00:32:18Z","body":"For this to be feasible we need to adhere to certain things:\r\n* staging should only ever be built off master for all repos and the api\r\n* the acceptance tests need to pass\r\n* failures don't get triaged, we just wait for the next run\r\n\r\nThat being said, the workflow to actually move that index into production isn't trivial in the sense that if we blow it up, it's essentially a guaranteed hour outage. The workflow, whether automated or otherwise, is along the lines of:\r\n* verify the cluster is healthy\r\n* check for a new snapshot\r\n* if the latest snapshot is different that what's currently running:\r\n  * drop any replicas on the current index (we could avoid this with more hardware, but I don't see much point in being over provisioned at the moment)\r\n  * restore the snapshot\r\n  * drop/create the alias to reference the new index\r\n  * verify the cluster is green\r\n  * drop the old index\r\n  * add a replica\r\n\r\nThis workflow by necessity assumes certain things about all the process surrounding the build (i.e. staging) environment that we need to be careful with.\r\n\r\nYou can get a sense of what I'm talking about here perhaps: http://hastebin.com/xesinizapi\r\n\r\nI'm not entirely comfortable automating that, but I'll give it some more thought."}}