)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"65d9ba9d8ab7be3eafc16bb51f4eb20a787788a8","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Removes cases where /root/openrc is used and refrenced and sends the"},{"line_number":10,"context_line":"service admin user instead"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also removes the old and unused openstack::test_file"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related-bug: #1396594"},{"line_number":15,"context_line":"Related-bug: #1347542"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9a80dd14_7eafbe7d","line":12,"updated":"2015-03-18 09:12:25.000000000","message":"Will we still have /root/openrc on controllers after this patch? If so, that would impact our system tests, so there should be a dependency patch to fuel-qa repo","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"},{"author":{"_account_id":8797,"name":"Andrew Woodward","email":"xarses@gmail.com","username":"xarses"},"change_message_id":"b20094504dd9f63e977416f9637b6978caa96925","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Removes cases where /root/openrc is used and refrenced and sends the"},{"line_number":10,"context_line":"service admin user instead"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Also removes the old and unused openstack::test_file"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Related-bug: #1396594"},{"line_number":15,"context_line":"Related-bug: #1347542"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"9a80dd14_4b2bcc81","line":12,"in_reply_to":"9a80dd14_7eafbe7d","updated":"2015-04-01 21:50:21.000000000","message":"yes, we still create /root/openrc, we just won\u0027t rely on it for commands","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"}],"deployment/puppet/osnailyfacter/modular/astute/upload_cirros.rb":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"d11e9f7774d4b77b39f3ed7299ac227023a7653e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  end"},{"line_number":33,"context_line":"end"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def image_list"},{"line_number":36,"context_line":"  stdout \u003d `. /root/openrc \u0026\u0026 glance image-list`"},{"line_number":37,"context_line":"  return_code \u003d $?.exitstatus"},{"line_number":38,"context_line":"  images \u003d []"}],"source_content_type":"text/x-ruby","patch_set":10,"id":"9a80dd14_59bcd4db","line":35,"updated":"2015-03-18 09:28:10.000000000","message":"openrc is here :)","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"},{"author":{"_account_id":8797,"name":"Andrew Woodward","email":"xarses@gmail.com","username":"xarses"},"change_message_id":"b20094504dd9f63e977416f9637b6978caa96925","unresolved":false,"context_lines":[{"line_number":32,"context_line":"  end"},{"line_number":33,"context_line":"end"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def image_list"},{"line_number":36,"context_line":"  stdout \u003d `. /root/openrc \u0026\u0026 glance image-list`"},{"line_number":37,"context_line":"  return_code \u003d $?.exitstatus"},{"line_number":38,"context_line":"  images \u003d []"}],"source_content_type":"text/x-ruby","patch_set":10,"id":"baa041b7_866c9c9d","line":35,"in_reply_to":"9a80dd14_59bcd4db","updated":"2015-04-01 21:50:21.000000000","message":"Done","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"}],"deployment/puppet/sahara/manifests/templates/create_templates.pp":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"65d9ba9d8ab7be3eafc16bb51f4eb20a787788a8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  $auth_uri         \u003d \u0027http://127.0.0.1:5000/v2.0/\u0027,"},{"line_number":5,"context_line":"  $auth_user        \u003d \u0027sahara\u0027,"},{"line_number":6,"context_line":"  $auth_tenant      \u003d \u0027services\u0027,"},{"line_number":7,"context_line":"  $auth_password    \u003d \u0027sahara\u0027,"},{"line_number":8,"context_line":") inherits sahara::params {"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"  file { \u0027create_templates\u0027:"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"9a80dd14_be521666","line":7,"updated":"2015-03-18 09:12:25.000000000","message":"the recommended way to deal with defaults for passwords is to set them to False and validatestring() in manifest as well. That would ensure either an insecure default password or an empty one will not be accepted","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"},{"author":{"_account_id":8797,"name":"Andrew Woodward","email":"xarses@gmail.com","username":"xarses"},"change_message_id":"b20094504dd9f63e977416f9637b6978caa96925","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  $auth_uri         \u003d \u0027http://127.0.0.1:5000/v2.0/\u0027,"},{"line_number":5,"context_line":"  $auth_user        \u003d \u0027sahara\u0027,"},{"line_number":6,"context_line":"  $auth_tenant      \u003d \u0027services\u0027,"},{"line_number":7,"context_line":"  $auth_password    \u003d \u0027sahara\u0027,"},{"line_number":8,"context_line":") inherits sahara::params {"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"  file { \u0027create_templates\u0027:"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"9a80dd14_2b5e98e9","line":7,"in_reply_to":"9a80dd14_be521666","updated":"2015-04-01 21:50:21.000000000","message":"we aren\u0027t creating the user here, so do we really care?","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f58fdf934e380887d6640627c983ae1b7ebd118e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  Sahara::Templates::Template {"},{"line_number":32,"context_line":"    network_provider \u003d\u003e $network_provider,"},{"line_number":33,"context_line":"    templates_dir    \u003d\u003e $templates_dir,"},{"line_number":34,"context_line":"    user             \u003d\u003e $auth_user,"},{"line_number":35,"context_line":"    password         \u003d\u003e $auth_password,"},{"line_number":36,"context_line":"    tenant           \u003d\u003e $auth_tenant,"},{"line_number":37,"context_line":"    auth_uri         \u003d\u003e $auth_uri,"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3ab451fb_7f4b4eb1","line":34,"updated":"2015-04-17 14:03:57.000000000","message":"auth_","commit_id":"2fe62513fa4f5161e1aeda9f76af5fa03af12636"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f58fdf934e380887d6640627c983ae1b7ebd118e","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    network_provider \u003d\u003e $network_provider,"},{"line_number":33,"context_line":"    templates_dir    \u003d\u003e $templates_dir,"},{"line_number":34,"context_line":"    user             \u003d\u003e $auth_user,"},{"line_number":35,"context_line":"    password         \u003d\u003e $auth_password,"},{"line_number":36,"context_line":"    tenant           \u003d\u003e $auth_tenant,"},{"line_number":37,"context_line":"    auth_uri         \u003d\u003e $auth_uri,"},{"line_number":38,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3ab451fb_5fc77212","line":35,"updated":"2015-04-17 14:03:57.000000000","message":"ditto","commit_id":"2fe62513fa4f5161e1aeda9f76af5fa03af12636"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f58fdf934e380887d6640627c983ae1b7ebd118e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    templates_dir    \u003d\u003e $templates_dir,"},{"line_number":34,"context_line":"    user             \u003d\u003e $auth_user,"},{"line_number":35,"context_line":"    password         \u003d\u003e $auth_password,"},{"line_number":36,"context_line":"    tenant           \u003d\u003e $auth_tenant,"},{"line_number":37,"context_line":"    auth_uri         \u003d\u003e $auth_uri,"},{"line_number":38,"context_line":"  }"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3ab451fb_ffd51eb9","line":36,"updated":"2015-04-17 14:03:57.000000000","message":"ditto","commit_id":"2fe62513fa4f5161e1aeda9f76af5fa03af12636"}],"deployment/puppet/sahara/manifests/templates/template.pp":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"65d9ba9d8ab7be3eafc16bb51f4eb20a787788a8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  $auth_uri         \u003d \u0027http://127.0.0.1:5000/v2.0/\u0027,"},{"line_number":8,"context_line":"  $auth_user        \u003d \u0027sahara\u0027,"},{"line_number":9,"context_line":"  $auth_tenant      \u003d \u0027services\u0027,"},{"line_number":10,"context_line":"  $auth_password    \u003d \u0027sahara\u0027,"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":") {"},{"line_number":13,"context_line":"  include sahara"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"9a80dd14_9eeab272","line":10,"updated":"2015-03-18 09:12:25.000000000","message":"ditto","commit_id":"5899d630dbfb19d350c0cb8c7a519556f55cfa03"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"b38643bfc521d1a4e45283bb56c3249b4c779efc","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    path    \u003d\u003e \"/bin:/usr/bin\","},{"line_number":25,"context_line":"    cwd     \u003d\u003e $templates_dir,"},{"line_number":26,"context_line":"    unless  \u003d\u003e \"bash -c \\\"sahara node-group-template-list | grep -q ${plugin}\\\"\","},{"line_number":27,"context_line":"    command \u003d\u003e \"bash create_templates.sh ${network_provider} ${plugin}\","},{"line_number":28,"context_line":"    timeout \u003d\u003e 450,"},{"line_number":29,"context_line":"    require \u003d\u003e File[\u0027script_templates\u0027],"},{"line_number":30,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"9aa53dc9_cd2d9e96","line":27,"updated":"2015-04-09 14:45:49.000000000","message":"The reason why the main script with creating templates was placed under \u0027unless\u0027 is to check that template for current plugin doesn\u0027t exists. It\u0027s actual for upgrading, that\u0027s why we can\u0027t swap \u0027unless\u0027 and \u0027command\u0027.\n\nFor example:\n\n(projects)root@node-1:~# sahara node-group-template-list | grep cdh\n\n| cdh-worker             | 5c134fec-1fe0-45bd-ad4d-e5cf6be2c1d5 | cdh         | HDFS_DATANODE, YARN_NODEMANAGER                                                                              |             |\n\n(projects)root@node-1:~# echo $?\n0\n\n(projects)root@node-1:~# sahara node-group-template-list | grep somenewplugin\n\n(projects)root@node-1:~# echo $?\n1\n\nSo, if return code from \u0027sahara node-group-template-list | grep ${plugin}\u0027 is 1 - we can create template - if 0 - we can\u0027t.","commit_id":"57de88951bb81de515079bae3168a83579680896"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"96555ed35bea87c7b28a15b7c36e3e74099df3c4","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    path    \u003d\u003e \"/bin:/usr/bin\","},{"line_number":25,"context_line":"    cwd     \u003d\u003e $templates_dir,"},{"line_number":26,"context_line":"    unless  \u003d\u003e \"bash -c \\\"sahara node-group-template-list | grep -q ${plugin}\\\"\","},{"line_number":27,"context_line":"    command \u003d\u003e \"bash create_templates.sh ${network_provider} ${plugin}\","},{"line_number":28,"context_line":"    timeout \u003d\u003e 450,"},{"line_number":29,"context_line":"    require \u003d\u003e File[\u0027script_templates\u0027],"},{"line_number":30,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"5aa745d1_20d5ae42","line":27,"in_reply_to":"5aa745d1_2ec125e5","updated":"2015-04-16 10:07:53.000000000","message":"I mean, that \"bash create_templates.sh ${network_provider} ${plugin}\" should be putted to \u0027unless\u0027 section, not \u0027command\u0027. And \"bash -c \\\"sahara node-group-template-list | grep -q ${plugin}\\\"\" - to \u0027command\u0027.\n\nAs i explained in first comment, templates should be created only if they didn\u0027t exist.","commit_id":"57de88951bb81de515079bae3168a83579680896"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"aa8c5cf0adcd40de440300d6ee5685a8be33a1c2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    path    \u003d\u003e \"/bin:/usr/bin\","},{"line_number":25,"context_line":"    cwd     \u003d\u003e $templates_dir,"},{"line_number":26,"context_line":"    unless  \u003d\u003e \"bash -c \\\"sahara node-group-template-list | grep -q ${plugin}\\\"\","},{"line_number":27,"context_line":"    command \u003d\u003e \"bash create_templates.sh ${network_provider} ${plugin}\","},{"line_number":28,"context_line":"    timeout \u003d\u003e 450,"},{"line_number":29,"context_line":"    require \u003d\u003e File[\u0027script_templates\u0027],"},{"line_number":30,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"5aa745d1_2ec125e5","line":27,"in_reply_to":"9aa53dc9_cd2d9e96","updated":"2015-04-16 07:47:11.000000000","message":"I believe the order of passed parameters does not impact the result","commit_id":"57de88951bb81de515079bae3168a83579680896"}]}
