{"action":"created","issue":{"url":"https://api.github.com/repos/istio/istio/issues/8663","repository_url":"https://api.github.com/repos/istio/istio","labels_url":"https://api.github.com/repos/istio/istio/issues/8663/labels{/name}","comments_url":"https://api.github.com/repos/istio/istio/issues/8663/comments","events_url":"https://api.github.com/repos/istio/istio/issues/8663/events","html_url":"https://github.com/istio/istio/issues/8663","id":359555078,"node_id":"MDU6SXNzdWUzNTk1NTUwNzg=","number":8663,"title":"FR: Installation Validation Tool","user":{"login":"douglas-reid","id":21148125,"node_id":"MDQ6VXNlcjIxMTQ4MTI1","avatar_url":"https://avatars3.githubusercontent.com/u/21148125?v=4","gravatar_id":"","url":"https://api.github.com/users/douglas-reid","html_url":"https://github.com/douglas-reid","followers_url":"https://api.github.com/users/douglas-reid/followers","following_url":"https://api.github.com/users/douglas-reid/following{/other_user}","gists_url":"https://api.github.com/users/douglas-reid/gists{/gist_id}","starred_url":"https://api.github.com/users/douglas-reid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/douglas-reid/subscriptions","organizations_url":"https://api.github.com/users/douglas-reid/orgs","repos_url":"https://api.github.com/users/douglas-reid/repos","events_url":"https://api.github.com/users/douglas-reid/events{/privacy}","received_events_url":"https://api.github.com/users/douglas-reid/received_events","type":"User","site_admin":false},"labels":[{"id":753784566,"node_id":"MDU6TGFiZWw3NTM3ODQ1NjY=","url":"https://api.github.com/repos/istio/istio/labels/area/config","name":"area/config","color":"0e8a16","default":false},{"id":670442116,"node_id":"MDU6TGFiZWw2NzA0NDIxMTY=","url":"https://api.github.com/repos/istio/istio/labels/area/environments","name":"area/environments","color":"0e8a16","default":false}],"state":"open","locked":false,"assignee":{"login":"irisdingbj","id":8347164,"node_id":"MDQ6VXNlcjgzNDcxNjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/8347164?v=4","gravatar_id":"","url":"https://api.github.com/users/irisdingbj","html_url":"https://github.com/irisdingbj","followers_url":"https://api.github.com/users/irisdingbj/followers","following_url":"https://api.github.com/users/irisdingbj/following{/other_user}","gists_url":"https://api.github.com/users/irisdingbj/gists{/gist_id}","starred_url":"https://api.github.com/users/irisdingbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irisdingbj/subscriptions","organizations_url":"https://api.github.com/users/irisdingbj/orgs","repos_url":"https://api.github.com/users/irisdingbj/repos","events_url":"https://api.github.com/users/irisdingbj/events{/privacy}","received_events_url":"https://api.github.com/users/irisdingbj/received_events","type":"User","site_admin":false},"assignees":[{"login":"irisdingbj","id":8347164,"node_id":"MDQ6VXNlcjgzNDcxNjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/8347164?v=4","gravatar_id":"","url":"https://api.github.com/users/irisdingbj","html_url":"https://github.com/irisdingbj","followers_url":"https://api.github.com/users/irisdingbj/followers","following_url":"https://api.github.com/users/irisdingbj/following{/other_user}","gists_url":"https://api.github.com/users/irisdingbj/gists{/gist_id}","starred_url":"https://api.github.com/users/irisdingbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irisdingbj/subscriptions","organizations_url":"https://api.github.com/users/irisdingbj/orgs","repos_url":"https://api.github.com/users/irisdingbj/repos","events_url":"https://api.github.com/users/irisdingbj/events{/privacy}","received_events_url":"https://api.github.com/users/irisdingbj/received_events","type":"User","site_admin":false},{"login":"ozevren","id":17071139,"node_id":"MDQ6VXNlcjE3MDcxMTM5","avatar_url":"https://avatars0.githubusercontent.com/u/17071139?v=4","gravatar_id":"","url":"https://api.github.com/users/ozevren","html_url":"https://github.com/ozevren","followers_url":"https://api.github.com/users/ozevren/followers","following_url":"https://api.github.com/users/ozevren/following{/other_user}","gists_url":"https://api.github.com/users/ozevren/gists{/gist_id}","starred_url":"https://api.github.com/users/ozevren/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ozevren/subscriptions","organizations_url":"https://api.github.com/users/ozevren/orgs","repos_url":"https://api.github.com/users/ozevren/repos","events_url":"https://api.github.com/users/ozevren/events{/privacy}","received_events_url":"https://api.github.com/users/ozevren/received_events","type":"User","site_admin":false},{"login":"douglas-reid","id":21148125,"node_id":"MDQ6VXNlcjIxMTQ4MTI1","avatar_url":"https://avatars3.githubusercontent.com/u/21148125?v=4","gravatar_id":"","url":"https://api.github.com/users/douglas-reid","html_url":"https://github.com/douglas-reid","followers_url":"https://api.github.com/users/douglas-reid/followers","following_url":"https://api.github.com/users/douglas-reid/following{/other_user}","gists_url":"https://api.github.com/users/douglas-reid/gists{/gist_id}","starred_url":"https://api.github.com/users/douglas-reid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/douglas-reid/subscriptions","organizations_url":"https://api.github.com/users/douglas-reid/orgs","repos_url":"https://api.github.com/users/douglas-reid/repos","events_url":"https://api.github.com/users/douglas-reid/events{/privacy}","received_events_url":"https://api.github.com/users/douglas-reid/received_events","type":"User","site_admin":false},{"login":"geeknoid","id":22780957,"node_id":"MDQ6VXNlcjIyNzgwOTU3","avatar_url":"https://avatars3.githubusercontent.com/u/22780957?v=4","gravatar_id":"","url":"https://api.github.com/users/geeknoid","html_url":"https://github.com/geeknoid","followers_url":"https://api.github.com/users/geeknoid/followers","following_url":"https://api.github.com/users/geeknoid/following{/other_user}","gists_url":"https://api.github.com/users/geeknoid/gists{/gist_id}","starred_url":"https://api.github.com/users/geeknoid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geeknoid/subscriptions","organizations_url":"https://api.github.com/users/geeknoid/orgs","repos_url":"https://api.github.com/users/geeknoid/repos","events_url":"https://api.github.com/users/geeknoid/events{/privacy}","received_events_url":"https://api.github.com/users/geeknoid/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/istio/istio/milestones/4","html_url":"https://github.com/istio/istio/milestone/4","labels_url":"https://api.github.com/repos/istio/istio/milestones/4/labels","id":2599056,"node_id":"MDk6TWlsZXN0b25lMjU5OTA1Ng==","number":4,"title":"Nebulous Future","description":"Issues unlikely to get addressed in the near term\r\n","creator":{"login":"geeknoid","id":22780957,"node_id":"MDQ6VXNlcjIyNzgwOTU3","avatar_url":"https://avatars3.githubusercontent.com/u/22780957?v=4","gravatar_id":"","url":"https://api.github.com/users/geeknoid","html_url":"https://github.com/geeknoid","followers_url":"https://api.github.com/users/geeknoid/followers","following_url":"https://api.github.com/users/geeknoid/following{/other_user}","gists_url":"https://api.github.com/users/geeknoid/gists{/gist_id}","starred_url":"https://api.github.com/users/geeknoid/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/geeknoid/subscriptions","organizations_url":"https://api.github.com/users/geeknoid/orgs","repos_url":"https://api.github.com/users/geeknoid/repos","events_url":"https://api.github.com/users/geeknoid/events{/privacy}","received_events_url":"https://api.github.com/users/geeknoid/received_events","type":"User","site_admin":false},"open_issues":125,"closed_issues":173,"state":"open","created_at":"2017-06-22T18:35:16Z","updated_at":"2018-10-15T22:45:17Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2018-09-12T16:15:59Z","updated_at":"2018-10-18T09:15:38Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"**Describe the feature request**\r\nIstio should provide a tool that can verify that a cluster has a \"complete\" install for a given release. This tool *could* be `istioctl`, a la `istioctl verify-install --version 1.0.2` or similar.\r\n\r\nAs discussed at the last Policies and Telemetry WG, there are many examples in the wild of partial installs of Istio leading to user confusion and operator pain. The partial installs can be caused by any number of issues, from Istio version upgrade to errors during `kubectl apply -f` executions to issues with helm itself.\r\n\r\nObviously, validation of install gets a bit tricky, as users/operators are free to customize config artifacts, etc., but I feel like for default / first-time users, as well as support use cases, there is a baseline validation that *should* be possible.\r\n\r\nOne possibility would be to generate metrics on Istio-related resources and then run queries to retrieve those values and compare against a baseline generated with each Istio release.\r\n\r\n**Describe alternatives you've considered**\r\nAbsent providing an explicit tool, perhaps Galley could expose a metric/endpoint that indicates the version of Istio that *it believes* is installed. So, maybe `istio-galley:9093/versions/istio` could return a string like `istio-1.0.2-default` or `istio-1.0.2-dirty` (where when `-dirty` appears, additional lines detail the diff from a \"default\" install) or `unknown` (to indicate the install base does not match baseline for any known Istio version).\r\n\r\n**Additional context**\r\n\r\n/cc @geeknoid @ozevren @ayj @theganyo \r\n"},"comment":{"url":"https://api.github.com/repos/istio/istio/issues/comments/430936326","html_url":"https://github.com/istio/istio/issues/8663#issuecomment-430936326","issue_url":"https://api.github.com/repos/istio/istio/issues/8663","id":430936326,"node_id":"MDEyOklzc3VlQ29tbWVudDQzMDkzNjMyNg==","user":{"login":"irisdingbj","id":8347164,"node_id":"MDQ6VXNlcjgzNDcxNjQ=","avatar_url":"https://avatars1.githubusercontent.com/u/8347164?v=4","gravatar_id":"","url":"https://api.github.com/users/irisdingbj","html_url":"https://github.com/irisdingbj","followers_url":"https://api.github.com/users/irisdingbj/followers","following_url":"https://api.github.com/users/irisdingbj/following{/other_user}","gists_url":"https://api.github.com/users/irisdingbj/gists{/gist_id}","starred_url":"https://api.github.com/users/irisdingbj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/irisdingbj/subscriptions","organizations_url":"https://api.github.com/users/irisdingbj/orgs","repos_url":"https://api.github.com/users/irisdingbj/repos","events_url":"https://api.github.com/users/irisdingbj/events{/privacy}","received_events_url":"https://api.github.com/users/irisdingbj/received_events","type":"User","site_admin":false},"created_at":"2018-10-18T09:15:38Z","updated_at":"2018-10-18T09:15:38Z","author_association":"CONTRIBUTOR","body":"@linsun @ozevren @ayj @douglas-reid Does above command work? If so I will begin to implement it."}}
{"actor":{"display_login":"irisdingbj"}}