{"action":"created","comment":{"url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments/69673333","id":69673333,"diff_hunk":"@@ -0,0 +1,44 @@\n+---\n+# We need docker service up to remove all the images, but these services will keep\n+# trying to re-start and thus re-pull the images we're trying to delete.\n+- name: Stop containerized services\n+  service: name={{ item }} state=stopped\n+  with_items:\n+    - \"{{ openshift.common.service_type }}-master\"\n+    - \"{{ openshift.common.service_type }}-master-api\"\n+    - \"{{ openshift.common.service_type }}-master-controllers\"\n+    - \"{{ openshift.common.service_type }}-node\"\n+    - etcd_container\n+    - openvswitch\n+  failed_when: false\n+  when: openshift.common.is_containerized | bool","path":"playbooks/common/openshift-cluster/upgrades/docker/upgrade.yml","position":14,"original_position":14,"commit_id":"76829048f7b529f0932bb99d96a774244329291a","original_commit_id":"76829048f7b529f0932bb99d96a774244329291a","user":{"login":"detiber","id":915544,"avatar_url":"https://avatars.githubusercontent.com/u/915544?v=3","gravatar_id":"","url":"https://api.github.com/users/detiber","html_url":"https://github.com/detiber","followers_url":"https://api.github.com/users/detiber/followers","following_url":"https://api.github.com/users/detiber/following{/other_user}","gists_url":"https://api.github.com/users/detiber/gists{/gist_id}","starred_url":"https://api.github.com/users/detiber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/detiber/subscriptions","organizations_url":"https://api.github.com/users/detiber/orgs","repos_url":"https://api.github.com/users/detiber/repos","events_url":"https://api.github.com/users/detiber/events{/privacy}","received_events_url":"https://api.github.com/users/detiber/received_events","type":"User","site_admin":false},"body":"I would like to see if you could put some thought into how we could potentially get this pushed back down into the docker/openshift_docker role at some point. As an interim step, I see us completely needing a separate playbook, but for the long run, I think we will need to incorporate the docker upgrade scenario back into the roles to not sacrifice the pure-ansible usability.","created_at":"2016-07-06T04:18:12Z","updated_at":"2016-07-06T04:18:12Z","html_url":"https://github.com/openshift/openshift-ansible/pull/1945#discussion_r69673333","pull_request_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945","_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments/69673333"},"html":{"href":"https://github.com/openshift/openshift-ansible/pull/1945#discussion_r69673333"},"pull_request":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945"}}},"pull_request":{"url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945","id":71392874,"html_url":"https://github.com/openshift/openshift-ansible/pull/1945","diff_url":"https://github.com/openshift/openshift-ansible/pull/1945.diff","patch_url":"https://github.com/openshift/openshift-ansible/pull/1945.patch","issue_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/1945","number":1945,"state":"open","locked":false,"title":"WIP: openshift_release / version / upgrade improvements","user":{"login":"dgoodwin","id":51265,"avatar_url":"https://avatars.githubusercontent.com/u/51265?v=3","gravatar_id":"","url":"https://api.github.com/users/dgoodwin","html_url":"https://github.com/dgoodwin","followers_url":"https://api.github.com/users/dgoodwin/followers","following_url":"https://api.github.com/users/dgoodwin/following{/other_user}","gists_url":"https://api.github.com/users/dgoodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/dgoodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgoodwin/subscriptions","organizations_url":"https://api.github.com/users/dgoodwin/orgs","repos_url":"https://api.github.com/users/dgoodwin/repos","events_url":"https://api.github.com/users/dgoodwin/events{/privacy}","received_events_url":"https://api.github.com/users/dgoodwin/received_events","type":"User","site_admin":false},"body":"These changes bring the addition of a new openshift_release=\"3.2\" variable for inventory, giving customers a more generic version they can use to install a specific release instead of having to know 3.1.1.6. \r\n\r\nIncludes a significant refactor for how we handle versions throughout all roles, and safer behavior.\r\n\r\nChanges for users:\r\n\r\n- Can now specify openshift_release=\"3.2\" to install a generic release. \r\n  - This value is treated as a seed, we only really use it for cluster setup to lookup a more specific version (i.e. 3.2.0.44), and then use that as the exact version to configure on all hosts.\r\n  - This is the recommended path for choosing which version to configure.\r\n  - RPM installations on RHEL still require you to configure the correct repositories beforehand for this to work correctly.\r\n- Once a host is installed we try to never modify the running version, but there are some exceptions.\r\n- openshift_image_tag and openshift_pkg_version are treated as overrides, if you specify these values in your inventory, we will make sure that is the version configured when you install and/or maintain your environment with the config playbooks. If you modify those values and re-run the playbooks, this could cause an upgrade and downtime.\r\n- Added new \"docker_version=1.9.1\" inventory variable for specifying the version of Docker you wish to install, or upgrade to. Default will be to install the latest, and then leave it alone. This value is respected both in the normal config playbooks, as well as the 3.2 and Docker upgrade playbooks.\r\n- Added new \"docker_upgrade=False\" inventory variable for performing a 3.2 upgrade without upgrading Docker.\r\n- Docker upgrade playbook is now less 1.10 centric and can be re-used to upgrade to an arbitrary Docker version. Images will only be cleared on the system when crossing the Docker 1.10 barrier.\r\n\r\nChanges within the roles/playbooks:\r\n\r\n- Introduced new openshift_version role, responsible for making sure all related version variables are *always* set for a host. \r\n  - Role's default behavior is to protect the installed version if there is one, however a playbook can override this with a specific version, a flag to ignore the current version, and by specifying openshift_release, image_tag, and pkg_version.\r\n  - If no version is installed already and no version variables were specified, the role will lookup the latest version available.\r\n- Improved openshift.common.openshift_version fact, should now be a more reliable way to always detect the version of openshift installed on a host, if there is one.\r\n  - Removed other unnecessary and redundant version facts.\r\n- Roles use openshift_pkg_version for RPM installations, and openshift_image_tag for pulling images. We now can assume that these values are always set. \r\n- Playbooks do version initialization on first master only, then pass this value along to all other hosts.\r\n- Upgrade has become dramatically simpler, no longer requires service file updates and unsafe restarts during the \"pre\" stage of the upgrade, effectively upgrading a containerized machine just to check if we can proceed with upgrade.\r\n- Old upgrade paths are removed. (3.0 -> 3.1, 3.1 minor)\r\n- Virtually all instances of pulling latest, or pulling images possibly causing unexpected side effects, have been eliminated. The openshift_version role makes sure all required variables are set, and after that we always pull and configure the use of images with an exact tag, never latest.\r\n- Fixed unsafe Docker restarts on nodes. (without evac) Docker upgrade is now handled together with node upgrade so we only evac once for both operations. Each step is run only if the host is actually a node or a host running docker.\r\n\r\n","created_at":"2016-05-25T13:40:26Z","updated_at":"2016-07-06T04:18:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"287f03433881eb0a795fa6dc4faff586182153f3","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945/commits","review_comments_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945/comments","review_comment_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments{/number}","comments_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/1945/comments","statuses_url":"https://api.github.com/repos/openshift/openshift-ansible/statuses/76829048f7b529f0932bb99d96a774244329291a","head":{"label":"dgoodwin:upgrade33","ref":"upgrade33","sha":"76829048f7b529f0932bb99d96a774244329291a","user":{"login":"dgoodwin","id":51265,"avatar_url":"https://avatars.githubusercontent.com/u/51265?v=3","gravatar_id":"","url":"https://api.github.com/users/dgoodwin","html_url":"https://github.com/dgoodwin","followers_url":"https://api.github.com/users/dgoodwin/followers","following_url":"https://api.github.com/users/dgoodwin/following{/other_user}","gists_url":"https://api.github.com/users/dgoodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/dgoodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgoodwin/subscriptions","organizations_url":"https://api.github.com/users/dgoodwin/orgs","repos_url":"https://api.github.com/users/dgoodwin/repos","events_url":"https://api.github.com/users/dgoodwin/events{/privacy}","received_events_url":"https://api.github.com/users/dgoodwin/received_events","type":"User","site_admin":false},"repo":{"id":43770383,"name":"openshift-ansible","full_name":"dgoodwin/openshift-ansible","owner":{"login":"dgoodwin","id":51265,"avatar_url":"https://avatars.githubusercontent.com/u/51265?v=3","gravatar_id":"","url":"https://api.github.com/users/dgoodwin","html_url":"https://github.com/dgoodwin","followers_url":"https://api.github.com/users/dgoodwin/followers","following_url":"https://api.github.com/users/dgoodwin/following{/other_user}","gists_url":"https://api.github.com/users/dgoodwin/gists{/gist_id}","starred_url":"https://api.github.com/users/dgoodwin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dgoodwin/subscriptions","organizations_url":"https://api.github.com/users/dgoodwin/orgs","repos_url":"https://api.github.com/users/dgoodwin/repos","events_url":"https://api.github.com/users/dgoodwin/events{/privacy}","received_events_url":"https://api.github.com/users/dgoodwin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dgoodwin/openshift-ansible","description":"OpenShift Ansible Code","fork":true,"url":"https://api.github.com/repos/dgoodwin/openshift-ansible","forks_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/forks","keys_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/teams","hooks_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/hooks","issue_events_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/issues/events{/number}","events_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/events","assignees_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/assignees{/user}","branches_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/branches{/branch}","tags_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/tags","blobs_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/languages","stargazers_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/stargazers","contributors_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/contributors","subscribers_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/subscribers","subscription_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/subscription","commits_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/contents/{+path}","compare_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/merges","archive_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/downloads","issues_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/issues{/number}","pulls_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/labels{/name}","releases_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/releases{/id}","deployments_url":"https://api.github.com/repos/dgoodwin/openshift-ansible/deployments","created_at":"2015-10-06T18:30:27Z","updated_at":"2016-04-15T18:36:05Z","pushed_at":"2016-07-05T18:24:29Z","git_url":"git://github.com/dgoodwin/openshift-ansible.git","ssh_url":"git@github.com:dgoodwin/openshift-ansible.git","clone_url":"https://github.com/dgoodwin/openshift-ansible.git","svn_url":"https://github.com/dgoodwin/openshift-ansible","homepage":"","size":5115,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"openshift:master","ref":"master","sha":"34f5de4185b0ae475367e9316a44bdf58fce1dc9","user":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"repo":{"id":24109199,"name":"openshift-ansible","full_name":"openshift/openshift-ansible","owner":{"login":"openshift","id":792337,"avatar_url":"https://avatars.githubusercontent.com/u/792337?v=3","gravatar_id":"","url":"https://api.github.com/users/openshift","html_url":"https://github.com/openshift","followers_url":"https://api.github.com/users/openshift/followers","following_url":"https://api.github.com/users/openshift/following{/other_user}","gists_url":"https://api.github.com/users/openshift/gists{/gist_id}","starred_url":"https://api.github.com/users/openshift/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/openshift/subscriptions","organizations_url":"https://api.github.com/users/openshift/orgs","repos_url":"https://api.github.com/users/openshift/repos","events_url":"https://api.github.com/users/openshift/events{/privacy}","received_events_url":"https://api.github.com/users/openshift/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/openshift/openshift-ansible","description":"OpenShift Ansible Code","fork":false,"url":"https://api.github.com/repos/openshift/openshift-ansible","forks_url":"https://api.github.com/repos/openshift/openshift-ansible/forks","keys_url":"https://api.github.com/repos/openshift/openshift-ansible/keys{/key_id}","collaborators_url":"https://api.github.com/repos/openshift/openshift-ansible/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/openshift/openshift-ansible/teams","hooks_url":"https://api.github.com/repos/openshift/openshift-ansible/hooks","issue_events_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/events{/number}","events_url":"https://api.github.com/repos/openshift/openshift-ansible/events","assignees_url":"https://api.github.com/repos/openshift/openshift-ansible/assignees{/user}","branches_url":"https://api.github.com/repos/openshift/openshift-ansible/branches{/branch}","tags_url":"https://api.github.com/repos/openshift/openshift-ansible/tags","blobs_url":"https://api.github.com/repos/openshift/openshift-ansible/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/openshift/openshift-ansible/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/openshift/openshift-ansible/git/refs{/sha}","trees_url":"https://api.github.com/repos/openshift/openshift-ansible/git/trees{/sha}","statuses_url":"https://api.github.com/repos/openshift/openshift-ansible/statuses/{sha}","languages_url":"https://api.github.com/repos/openshift/openshift-ansible/languages","stargazers_url":"https://api.github.com/repos/openshift/openshift-ansible/stargazers","contributors_url":"https://api.github.com/repos/openshift/openshift-ansible/contributors","subscribers_url":"https://api.github.com/repos/openshift/openshift-ansible/subscribers","subscription_url":"https://api.github.com/repos/openshift/openshift-ansible/subscription","commits_url":"https://api.github.com/repos/openshift/openshift-ansible/commits{/sha}","git_commits_url":"https://api.github.com/repos/openshift/openshift-ansible/git/commits{/sha}","comments_url":"https://api.github.com/repos/openshift/openshift-ansible/comments{/number}","issue_comment_url":"https://api.github.com/repos/openshift/openshift-ansible/issues/comments{/number}","contents_url":"https://api.github.com/repos/openshift/openshift-ansible/contents/{+path}","compare_url":"https://api.github.com/repos/openshift/openshift-ansible/compare/{base}...{head}","merges_url":"https://api.github.com/repos/openshift/openshift-ansible/merges","archive_url":"https://api.github.com/repos/openshift/openshift-ansible/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/openshift/openshift-ansible/downloads","issues_url":"https://api.github.com/repos/openshift/openshift-ansible/issues{/number}","pulls_url":"https://api.github.com/repos/openshift/openshift-ansible/pulls{/number}","milestones_url":"https://api.github.com/repos/openshift/openshift-ansible/milestones{/number}","notifications_url":"https://api.github.com/repos/openshift/openshift-ansible/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/openshift/openshift-ansible/labels{/name}","releases_url":"https://api.github.com/repos/openshift/openshift-ansible/releases{/id}","deployments_url":"https://api.github.com/repos/openshift/openshift-ansible/deployments","created_at":"2014-09-16T17:07:51Z","updated_at":"2016-06-30T14:13:28Z","pushed_at":"2016-07-06T03:47:21Z","git_url":"git://github.com/openshift/openshift-ansible.git","ssh_url":"git@github.com:openshift/openshift-ansible.git","clone_url":"https://github.com/openshift/openshift-ansible.git","svn_url":"https://github.com/openshift/openshift-ansible","homepage":"install.openshift.com","size":6924,"stargazers_count":191,"watchers_count":191,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":334,"mirror_url":null,"open_issues_count":331,"forks":334,"open_issues":331,"watchers":191,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945"},"html":{"href":"https://github.com/openshift/openshift-ansible/pull/1945"},"issue":{"href":"https://api.github.com/repos/openshift/openshift-ansible/issues/1945"},"comments":{"href":"https://api.github.com/repos/openshift/openshift-ansible/issues/1945/comments"},"review_comments":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945/comments"},"review_comment":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/openshift/openshift-ansible/pulls/1945/commits"},"statuses":{"href":"https://api.github.com/repos/openshift/openshift-ansible/statuses/76829048f7b529f0932bb99d96a774244329291a"}}}}
{"actor":{"display_login":"detiber"}}