{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/contrib/issues/1298","repository_url":"https://api.github.com/repos/kubernetes/contrib","labels_url":"https://api.github.com/repos/kubernetes/contrib/issues/1298/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/contrib/issues/1298/comments","events_url":"https://api.github.com/repos/kubernetes/contrib/issues/1298/events","html_url":"https://github.com/kubernetes/contrib/issues/1298","id":163147031,"number":1298,"title":"Ansible: generalization of roles, CI, joined effort","user":{"login":"ingvagabund","id":8055242,"avatar_url":"https://avatars2.githubusercontent.com/u/8055242?v=4","gravatar_id":"","url":"https://api.github.com/users/ingvagabund","html_url":"https://github.com/ingvagabund","followers_url":"https://api.github.com/users/ingvagabund/followers","following_url":"https://api.github.com/users/ingvagabund/following{/other_user}","gists_url":"https://api.github.com/users/ingvagabund/gists{/gist_id}","starred_url":"https://api.github.com/users/ingvagabund/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ingvagabund/subscriptions","organizations_url":"https://api.github.com/users/ingvagabund/orgs","repos_url":"https://api.github.com/users/ingvagabund/repos","events_url":"https://api.github.com/users/ingvagabund/events{/privacy}","received_events_url":"https://api.github.com/users/ingvagabund/received_events","type":"User","site_admin":false},"labels":[{"id":344652606,"url":"https://api.github.com/repos/kubernetes/contrib/labels/area/ansible","name":"area/ansible","color":"009800","default":false},{"id":778141539,"url":"https://api.github.com/repos/kubernetes/contrib/labels/lifecycle/stale","name":"lifecycle/stale","color":"795548","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-06-30T11:53:05Z","updated_at":"2018-02-09T20:22:10Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"**Decomposition of roles to elevate modularity**\n\nAs pointed by @stephenrlouie, it makes sense to generalize the roles and make them independent of playbooks [2]. To deploy kubernetes on one node cluster, there is no need for flannel. Sometimes, only kubernetes addons are needed.\n\nRelated issues:\n- share the roles in Ansible galaxy [1]: https://github.com/kubernetes/contrib/issues/1291\n- deploy kubernetes with provided certificates (skip certificate generator): https://github.com/kubernetes/contrib/issues/1290\n- create top level directories: https://github.com/kubernetes/contrib/pull/967\n\n**Joined effort**\n\nSome roles are already shared via Ansible galaxy:\n- etcd role: https://github.com/retr0h/ansible-etcd\n- docker role: https://github.com/angstwad/docker.ubuntu, https://github.com/jamesdbloom/ansible-install-docker, https://github.com/marklee77/ansible-role-docker\n- flannel role: https://github.com/openshift/openshift-ansible/tree/master/roles/flannel, https://github.com/goblain/ansible-role-flannel, https://github.com/vmware/ansible-flannel\n- kubernetes role: https://github.com/hidekuro/ansible-role-kubernetes\n\nOthers can be found for sure. It makes sense to collaborate with individual folks and elevate the effort.\n\n**CI**\n\nRun various tests on various parts of playbooks to extend the application to various linux distributions. Testing for regressions is important as well. Naming few:\n- smoke tests (testing individual roles on various OSes)\n- unit-tests (testing created facts on various versions of ansible on various OSes)\n- some sort of dashboard with daily digests of run playbooks on various OSes\n\nBoth smoke tests and unit-tests can be run over each PR. Daily digest can be taken from periodic jobs run from master HEAD.\n\n**Other effort**:\n\nNow, sooner or later it is desired to move the entire ansible code under kube-deploy repository:\n- https://github.com/kubernetes/contrib/issues/635\n- https://github.com/kubernetes/contrib/issues/762\n\nMake the deployment faster:\n- https://github.com/kubernetes/contrib/issues/1599\n\n[1] http://docs.ansible.com/ansible/galaxy.html\n[2] https://github.com/openstack/openstack-ansible\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/contrib/issues/comments/364554037","html_url":"https://github.com/kubernetes/contrib/issues/1298#issuecomment-364554037","issue_url":"https://api.github.com/repos/kubernetes/contrib/issues/1298","id":364554037,"user":{"login":"fejta-bot","id":30488982,"avatar_url":"https://avatars1.githubusercontent.com/u/30488982?v=4","gravatar_id":"","url":"https://api.github.com/users/fejta-bot","html_url":"https://github.com/fejta-bot","followers_url":"https://api.github.com/users/fejta-bot/followers","following_url":"https://api.github.com/users/fejta-bot/following{/other_user}","gists_url":"https://api.github.com/users/fejta-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/fejta-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fejta-bot/subscriptions","organizations_url":"https://api.github.com/users/fejta-bot/orgs","repos_url":"https://api.github.com/users/fejta-bot/repos","events_url":"https://api.github.com/users/fejta-bot/events{/privacy}","received_events_url":"https://api.github.com/users/fejta-bot/received_events","type":"User","site_admin":false},"created_at":"2018-02-09T20:22:10Z","updated_at":"2018-02-09T20:22:10Z","author_association":"NONE","body":"Stale issues rot after 30d of inactivity.\nMark the issue as fresh with `/remove-lifecycle rotten`.\nRotten issues close after an additional 30d of inactivity.\n\nIf this issue is safe to close now please do so with `/close`.\n\nSend feedback to sig-testing, kubernetes/test-infra and/or [fejta](https://github.com/fejta).\n/lifecycle rotten\n/remove-lifecycle stale"}}
{"actor":{"display_login":"fejta-bot"}}