{"action":"created","issue":{"url":"https://api.github.com/repos/test-kitchen/test-kitchen/issues/1070","repository_url":"https://api.github.com/repos/test-kitchen/test-kitchen","labels_url":"https://api.github.com/repos/test-kitchen/test-kitchen/issues/1070/labels{/name}","comments_url":"https://api.github.com/repos/test-kitchen/test-kitchen/issues/1070/comments","events_url":"https://api.github.com/repos/test-kitchen/test-kitchen/issues/1070/events","html_url":"https://github.com/test-kitchen/test-kitchen/issues/1070","id":163426336,"number":1070,"title":"Run chef-solo in legacy mode for chef_solo provisioner under Chef 12.11+","user":{"login":"SaltwaterC","id":683450,"avatar_url":"https://avatars.githubusercontent.com/u/683450?v=3","gravatar_id":"","url":"https://api.github.com/users/SaltwaterC","html_url":"https://github.com/SaltwaterC","followers_url":"https://api.github.com/users/SaltwaterC/followers","following_url":"https://api.github.com/users/SaltwaterC/following{/other_user}","gists_url":"https://api.github.com/users/SaltwaterC/gists{/gist_id}","starred_url":"https://api.github.com/users/SaltwaterC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SaltwaterC/subscriptions","organizations_url":"https://api.github.com/users/SaltwaterC/orgs","repos_url":"https://api.github.com/users/SaltwaterC/repos","events_url":"https://api.github.com/users/SaltwaterC/events{/privacy}","received_events_url":"https://api.github.com/users/SaltwaterC/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/test-kitchen/test-kitchen/labels/No_Changelog","name":"No_Changelog","color":"f9d0c4"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-07-01T16:03:55Z","updated_at":"2016-09-14T08:12:35Z","closed_at":null,"body":"## Description\r\n\r\nStarting with Chef 12.11.x chef_solo provisioner essentially runs in chef_zero mode. To enable the previous behaviour, one needs to pass --legacy-mode argument to the chef-solo command. This argument is backwards incompatible i.e can't be baked into chef_solo provisioner and expect old Chef versions to work.\r\n\r\nWe would be using chef-client in local mode (aka chef_zero provisioner), but as you can see below, the performance of the local mode is rubbish.\r\n\r\nI'd send a pull request, but I don't know which solution you'd accept out of these three:\r\n\r\n * do version detection and pass --legacy-mode for Chef 12.11+\r\n * legacy_mode config for the chef_solo provisioner\r\n * add the possibility to pass arbitrary arguments to the chef-solo command via a config option\r\n\r\n## Kitchen Version\r\n\r\n```ruby\r\nTest Kitchen version 1.10.0\r\n```\r\n\r\n## ChefDK Version\r\n\r\n```ruby\r\nChef Development Kit Version: 0.15.15\r\nchef-client version: 12.11.18\r\ndelivery version: 0.0.23 (bf89a6b776b55b89a46bbd57fcaa615c143a09a0)\r\nberks version: 4.3.5\r\nkitchen version: 1.10.0\r\n```\r\n\r\n## Replication Case\r\n\r\n```ruby\r\nprovisioner:\r\n  name: chef_solo\r\n```\r\n\r\n## Kitchen Output\r\n\r\n```ruby\r\n# chef_solo with default local mode behaviour with Chef 12.11.18\r\nChef Client finished, 9/345 resources updated in 01 minutes 14 seconds\r\nFinished converging <default-centos-68> (1m31.17s).\r\n-----> Kitchen is finished. (1m31.70s)\r\n```\r\n\r\n```ruby\r\n# chef_solo convinced to use --legacy-mode by injecting the argument\r\n# with log_file: '/dev/null --legacy-mode' in kitchen.yml\r\nChef Client finished, 9/345 resources updated in 28 seconds\r\nFinished converging <default-centos-68> (0m43.60s).\r\n-----> Kitchen is finished. (0m43.95s)\r\n```\r\n"},"comment":{"url":"https://api.github.com/repos/test-kitchen/test-kitchen/issues/comments/246938370","html_url":"https://github.com/test-kitchen/test-kitchen/issues/1070#issuecomment-246938370","issue_url":"https://api.github.com/repos/test-kitchen/test-kitchen/issues/1070","id":246938370,"user":{"login":"thommay","id":8500,"avatar_url":"https://avatars.githubusercontent.com/u/8500?v=3","gravatar_id":"","url":"https://api.github.com/users/thommay","html_url":"https://github.com/thommay","followers_url":"https://api.github.com/users/thommay/followers","following_url":"https://api.github.com/users/thommay/following{/other_user}","gists_url":"https://api.github.com/users/thommay/gists{/gist_id}","starred_url":"https://api.github.com/users/thommay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thommay/subscriptions","organizations_url":"https://api.github.com/users/thommay/orgs","repos_url":"https://api.github.com/users/thommay/repos","events_url":"https://api.github.com/users/thommay/events{/privacy}","received_events_url":"https://api.github.com/users/thommay/received_events","type":"User","site_admin":false},"created_at":"2016-09-14T08:12:35Z","updated_at":"2016-09-14T08:12:35Z","body":"Yes, the chef-solo provisioner works properly - after all, that's exactly the behaviour we expect to have from chef-solo in zero mode.\r\n"}}
{"actor":{"display_login":"thommay"}}