)]}'
{"jenkins/scripts/default-logs.sh":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"905f2ef00a3c409920cec3c593afdaedcd20d022","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \u0027/etc/openvswitch\u0027"},{"line_number":109,"context_line":"        \u0027/var/log/openvswitch\u0027"},{"line_number":110,"context_line":"        \u0027/etc/openstack-dashboard\u0027 # Why are you not /etc/horizon anyway ?"},{"line_number":111,"context_line":"        \u0027/etc/aodh\u0027 # aodh is not in governance"},{"line_number":112,"context_line":"        \u0027/var/log/aodh\u0027"},{"line_number":113,"context_line":"        \u0027/etc/ceilometer\u0027 # ceilometer is not in governance"},{"line_number":114,"context_line":"        \u0027/var/log/ceilometer\u0027"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a68dd71_70030b0e","line":111,"updated":"2016-01-22 10:56:52.000000000","message":"aodh is in governance - and likewise ceilometer and gnocchi","commit_id":"b859d04d933c1e50172bc9382d1ca1f5f6230931"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"4316a9194b1255bbd79c37f40c72914733d01aba","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        \u0027/etc/openvswitch\u0027"},{"line_number":109,"context_line":"        \u0027/var/log/openvswitch\u0027"},{"line_number":110,"context_line":"        \u0027/etc/openstack-dashboard\u0027 # Why are you not /etc/horizon anyway ?"},{"line_number":111,"context_line":"        \u0027/etc/aodh\u0027 # aodh is not in governance"},{"line_number":112,"context_line":"        \u0027/var/log/aodh\u0027"},{"line_number":113,"context_line":"        \u0027/etc/ceilometer\u0027 # ceilometer is not in governance"},{"line_number":114,"context_line":"        \u0027/var/log/ceilometer\u0027"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a68dd71_59b706f5","line":111,"in_reply_to":"9a68dd71_70030b0e","updated":"2016-01-22 14:44:56.000000000","message":"See comment below","commit_id":"b859d04d933c1e50172bc9382d1ca1f5f6230931"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"819aba550db1435f9de9eb175547982bbd4b04e1","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    )"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    # Add discovered project directories from official governance"},{"line_number":132,"context_line":"    project_list\u003d$(curl $PROJECTS_URL 2\u003e\u00261 | egrep \"^\\S+:$\" |cut -f1 -d :)"},{"line_number":133,"context_line":"    for project in $project_list; do"},{"line_number":134,"context_line":"        paths+\u003d(\"/etc/${project}\")"},{"line_number":135,"context_line":"        paths+\u003d(\"/var/log/${project}\")"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a68dd71_8d20534b","line":132,"updated":"2016-01-20 17:02:19.000000000","message":"what happens with projects that are not in official governance?\n\nI do not like the complete logic here. What problem are you solving exactly here?","commit_id":"b859d04d933c1e50172bc9382d1ca1f5f6230931"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"7f3d0cbbe934b9d9d4cef5aba8b6c1220d0fa78d","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    )"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    # Add discovered project directories from official governance"},{"line_number":132,"context_line":"    project_list\u003d$(curl $PROJECTS_URL 2\u003e\u00261 | egrep \"^\\S+:$\" |cut -f1 -d :)"},{"line_number":133,"context_line":"    for project in $project_list; do"},{"line_number":134,"context_line":"        paths+\u003d(\"/etc/${project}\")"},{"line_number":135,"context_line":"        paths+\u003d(\"/var/log/${project}\")"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a68dd71_8ece0982","line":132,"in_reply_to":"9a68dd71_8d20534b","updated":"2016-01-20 17:55:23.000000000","message":"tl;dr, this is about reducing code duplication and improving coverage.\n\nThis is largely inspired by what copy_puppet_logs has been doing: https://github.com/openstack-infra/project-config/blob/e95e5f0e5df6decbfeb662559e176a80aad99143/jenkins/scripts/copy_puppet_logs.sh\n\ncopy_puppet_logs would essentially crawl /etc/puppet/modules in search of metadata.json files and pick up openstack projects that would potentially be installed. This wouldn\u0027t quite work for packstack because the modules are located in /usr/share/openstack-puppet and there are other slight variations as well except our needs boil down to the same thing. So instead of creating a (very) similar script exclusively for packstack, I went with a generic approach that can be used for jobs with or without puppet involved.\n\nThere is a review up that shows what the new copy_puppet_logs file would look like: https://review.openstack.org/#/c/270005/3/jenkins/scripts/copy-puppet-logs.sh\n\nFor projects that are not in official governance, they are explicitely defined above (such as aodh, gnocchi and ceilometer). If there are any others prominiently missing, we can add them.","commit_id":"b859d04d933c1e50172bc9382d1ca1f5f6230931"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"905f2ef00a3c409920cec3c593afdaedcd20d022","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    )"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    # Add discovered project directories from official governance"},{"line_number":132,"context_line":"    project_list\u003d$(curl $PROJECTS_URL 2\u003e\u00261 | egrep \"^\\S+:$\" |cut -f1 -d :)"},{"line_number":133,"context_line":"    for project in $project_list; do"},{"line_number":134,"context_line":"        paths+\u003d(\"/etc/${project}\")"},{"line_number":135,"context_line":"        paths+\u003d(\"/var/log/${project}\")"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a68dd71_b0bae308","line":132,"in_reply_to":"9a68dd71_8ece0982","updated":"2016-01-22 10:56:52.000000000","message":"The puppet script goes through the PROJECTS variable and only copies those, I think that\u0027s a better approach than parsing governance - which you do wrongly if you do not catch ceilometer.","commit_id":"b859d04d933c1e50172bc9382d1ca1f5f6230931"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"4316a9194b1255bbd79c37f40c72914733d01aba","unresolved":false,"context_lines":[{"line_number":129,"context_line":"    )"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    # Add discovered project directories from official governance"},{"line_number":132,"context_line":"    project_list\u003d$(curl $PROJECTS_URL 2\u003e\u00261 | egrep \"^\\S+:$\" |cut -f1 -d :)"},{"line_number":133,"context_line":"    for project in $project_list; do"},{"line_number":134,"context_line":"        paths+\u003d(\"/etc/${project}\")"},{"line_number":135,"context_line":"        paths+\u003d(\"/var/log/${project}\")"}],"source_content_type":"text/x-sh","patch_set":2,"id":"9a68dd71_16771dd4","line":132,"in_reply_to":"9a68dd71_b0bae308","updated":"2016-01-22 14:44:56.000000000","message":"Okay, I see where the mistake is - these three projects are nested under telemetry which isn\u0027t caught by my (naive) parsing, and there might be other issues with that too.","commit_id":"b859d04d933c1e50172bc9382d1ca1f5f6230931"}]}
