)]}'
{"elements/ironic-api/README.md":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Install Ironic API service from git."}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAATX%2F%2F8A0%3D","line":1,"updated":"2013-10-23 23:43:33.000000000","message":"This element doesn\u0027t install the service from git. It causes ironic-api to run: installation is handled by ironic.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Install Ironic API service from git."}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAATn%2F%2F84Q%3D","line":1,"in_reply_to":"AAAATX%2F%2F8A0%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"58e7d3af7b6e8028a5f99130c6342720a3de8ca8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"enable Ironic API service."}],"source_content_type":"text/x-gfm","patch_set":14,"id":"AAAATn%2F%2F3%2BQ%3D","line":1,"updated":"2013-10-25 20:47:08.000000000","message":"Please capitalize the sentence.","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8a75aab8ea480c0445e9f9379a585378a74a5629","unresolved":false,"context_lines":[{"line_number":1,"context_line":"enable Ironic API service."}],"source_content_type":"text/x-gfm","patch_set":14,"id":"AAAATn%2F%2F3xg%3D","line":1,"in_reply_to":"AAAATn%2F%2F3%2BQ%3D","updated":"2013-10-25 21:45:18.000000000","message":"Done","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"}],"elements/ironic-api/element-deps":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"os-apply-config"},{"line_number":2,"context_line":"os-refresh-config"},{"line_number":3,"context_line":"os-svc-install"},{"line_number":4,"context_line":"ironic"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"AAAATX%2F%2F8Aw%3D","line":4,"updated":"2013-10-23 23:43:33.000000000","message":"Please alpha sort this file - keeps conflicts low in future.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"os-apply-config"},{"line_number":2,"context_line":"os-refresh-config"},{"line_number":3,"context_line":"os-svc-install"},{"line_number":4,"context_line":"ironic"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"AAAATn%2F%2F81w%3D","line":4,"in_reply_to":"AAAATX%2F%2F8Aw%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"}],"elements/ironic-api/os-apply-config/etc/ironic/logging-api.conf":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class \u003d ironic.openstack.common.log.ContextFormatter"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[formatter_default]"},{"line_number":39,"context_line":"format \u003d %(message)s"}],"source_content_type":"text/plain","patch_set":12,"id":"AAAATX%2F%2F8Ag%3D","line":39,"updated":"2013-10-23 23:43:33.000000000","message":"Please simplify this - logging should just be to stdout.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class \u003d ironic.openstack.common.log.ContextFormatter"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[formatter_default]"},{"line_number":39,"context_line":"format \u003d %(message)s"}],"source_content_type":"text/plain","patch_set":12,"id":"AAAATn%2F%2F8BE%3D","line":39,"in_reply_to":"AAAATX%2F%2F8Ag%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"}],"elements/ironic-conductor/README.md":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Install Ironic Conductor service from git."}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAATX%2F%2F7%2Fs%3D","line":1,"updated":"2013-10-23 23:43:33.000000000","message":"Same comments as for the -api README.md.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Install Ironic Conductor service from git."}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAATn%2F%2F8Aw%3D","line":1,"in_reply_to":"AAAATX%2F%2F7%2Fs%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"}],"elements/ironic-conductor/element-deps":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"os-apply-config"},{"line_number":2,"context_line":"os-refresh-config"},{"line_number":3,"context_line":"os-svc-install"},{"line_number":4,"context_line":"ironic"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"AAAATX%2F%2F7%2Fk%3D","line":4,"updated":"2013-10-23 23:43:33.000000000","message":"also sort here please.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"os-apply-config"},{"line_number":2,"context_line":"os-refresh-config"},{"line_number":3,"context_line":"os-svc-install"},{"line_number":4,"context_line":"ironic"}],"source_content_type":"application/octet-stream","patch_set":12,"id":"AAAATn%2F%2F8Ao%3D","line":4,"in_reply_to":"AAAATX%2F%2F7%2Fk%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"58e7d3af7b6e8028a5f99130c6342720a3de8ca8","unresolved":false,"context_lines":[{"line_number":2,"context_line":"os-apply-config"},{"line_number":3,"context_line":"os-refresh-config"},{"line_number":4,"context_line":"os-svc-install"},{"line_number":5,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAATn%2F%2F36k%3D","line":5,"updated":"2013-10-25 20:47:08.000000000","message":"We don\u0027t need this blank line.","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8a75aab8ea480c0445e9f9379a585378a74a5629","unresolved":false,"context_lines":[{"line_number":2,"context_line":"os-apply-config"},{"line_number":3,"context_line":"os-refresh-config"},{"line_number":4,"context_line":"os-svc-install"},{"line_number":5,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAATn%2F%2F3w0%3D","line":5,"in_reply_to":"AAAATn%2F%2F36k%3D","updated":"2013-10-25 21:45:18.000000000","message":"Done","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"}],"elements/ironic-conductor/install.d/68-ironic-conductor":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d518603cb2250e96cefb5eac0d43613b56a6bec2","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# ensure we have tftp and pxe requirements"},{"line_number":5,"context_line":"install-packages syslinux atftpd xinetd"},{"line_number":6,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3%2Bw%3D","line":5,"updated":"2013-10-25 20:23:33.000000000","message":"Note that Fedora is going to be using tftpd-hpa I think - see derek\u0027s latest patches to diskimage-builder - so please change this to match.","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8a75aab8ea480c0445e9f9379a585378a74a5629","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# ensure we have tftp and pxe requirements"},{"line_number":5,"context_line":"install-packages syslinux atftpd xinetd"},{"line_number":6,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3vc%3D","line":5,"in_reply_to":"AAAATn%2F%2F3%2Bw%3D","updated":"2013-10-25 21:45:18.000000000","message":"Done","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"12df7a859241abdd736429cd9a74813fcce57769","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# ensure we have tftp and pxe requirements"},{"line_number":5,"context_line":"install-packages syslinux tftpd-hpa xinetd"},{"line_number":6,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"AAAATn%2F%2F05I%3D","line":6,"updated":"2013-10-28 12:22:36.000000000","message":"nit: extra empty line?","commit_id":"340b67a3de17e04f5d9be0510e5eeda2669b8464"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"97622e40df5382f6f341dd87514b763aa707523a","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# ensure we have tftp and pxe requirements"},{"line_number":5,"context_line":"install-packages syslinux tftpd-hpa xinetd"},{"line_number":6,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"AAAATn%2F%2F0OE%3D","line":6,"in_reply_to":"AAAATn%2F%2F05I%3D","updated":"2013-10-30 17:40:08.000000000","message":"Done","commit_id":"340b67a3de17e04f5d9be0510e5eeda2669b8464"}],"elements/ironic-conductor/install.d/68-ironic-tftp-support":[{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"12df7a859241abdd736429cd9a74813fcce57769","unresolved":false,"context_lines":[{"line_number":18,"context_line":"install -o ironic -g nova -m 770 $pxe_zero /tftpboot/pxelinux.0"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# enable tftp"},{"line_number":21,"context_line":"cat \u003e /etc/xinetd.d/tftp \u003c\u003c EOF"},{"line_number":22,"context_line":"service tftp"},{"line_number":23,"context_line":"{"},{"line_number":24,"context_line":"protocol \u003d udp"}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"AAAATn%2F%2F04o%3D","line":21,"updated":"2013-10-28 12:22:36.000000000","message":"I think, you should apply Derek\u0027s fixes for Fedora here (https://review.openstack.org/#/c/53398/3/elements/nova-baremetal/install.d/80-pxelinux)","commit_id":"340b67a3de17e04f5d9be0510e5eeda2669b8464"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"97622e40df5382f6f341dd87514b763aa707523a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"install -o ironic -g nova -m 770 $pxe_zero /tftpboot/pxelinux.0"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"# enable tftp"},{"line_number":21,"context_line":"cat \u003e /etc/xinetd.d/tftp \u003c\u003c EOF"},{"line_number":22,"context_line":"service tftp"},{"line_number":23,"context_line":"{"},{"line_number":24,"context_line":"protocol \u003d udp"}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"AAAATn%2F%2F0N8%3D","line":21,"in_reply_to":"AAAATn%2F%2F04o%3D","updated":"2013-10-30 17:40:08.000000000","message":"Great catch Roman, Thank you","commit_id":"340b67a3de17e04f5d9be0510e5eeda2669b8464"},{"author":{"_account_id":6849,"name":"Roman Podoliaka","email":"roman.podoliaka@gmail.com","username":"rpodolyaka"},"change_message_id":"bf023156c5a0e16a7b76b7f52740ba2d5256fb91","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    echo \"Failed to find pxelinux.0.\""},{"line_number":13,"context_line":"    exit 1"},{"line_number":14,"context_line":"fi"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# create tftp directory"},{"line_number":17,"context_line":"install -d -m 0744 -o ironic -g ironic /tftpboot/pxelinux.cfg/"},{"line_number":18,"context_line":"install -o ironic -g ironic -m 744 $pxe_zero /tftpboot/pxelinux.0"}],"source_content_type":"application/x-shellscript","patch_set":16,"id":"AAAATn%2F%2Fp2U%3D","line":15,"updated":"2013-10-30 19:59:53.000000000","message":"I wonder, if we can reuse this stuff from nova-bm and ironic later, but for now, it\u0027s OK IMO","commit_id":"5f3537ef181067a1e19bc50937efc151c70497a2"}],"elements/ironic-conductor/os-apply-config/etc/ironic/logging-conductor.conf":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class \u003d ironic.openstack.common.log.ContextFormatter"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[formatter_default]"},{"line_number":39,"context_line":"format \u003d %(message)s"}],"source_content_type":"text/plain","patch_set":12,"id":"AAAATX%2F%2F7%2Fg%3D","line":39,"updated":"2013-10-23 23:43:33.000000000","message":"Ditto.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"class \u003d ironic.openstack.common.log.ContextFormatter"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[formatter_default]"},{"line_number":39,"context_line":"format \u003d %(message)s"}],"source_content_type":"text/plain","patch_set":12,"id":"AAAATn%2F%2F7%2FQ%3D","line":39,"in_reply_to":"AAAATX%2F%2F7%2Fg%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"}],"elements/ironic-conductor/post-install.d/68-ironic-conductor":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":5,"context_line":"chmod 0440 /etc/sudoers.d/ironic"},{"line_number":6,"context_line":"visudo -c"},{"line_number":7,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F7%2FU%3D","line":4,"updated":"2013-10-23 23:43:33.000000000","message":"This should point into the venv.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":5,"context_line":"chmod 0440 /etc/sudoers.d/ironic"},{"line_number":6,"context_line":"visudo -c"},{"line_number":7,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATn%2F%2F7%2Bk%3D","line":4,"in_reply_to":"AAAATX%2F%2F7%2FU%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"}],"elements/ironic-conductor/post-install.d/68-ironic-tftp-support":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d518603cb2250e96cefb5eac0d43613b56a6bec2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"server_args \u003d /tftpboot"},{"line_number":31,"context_line":"disable \u003d no"},{"line_number":32,"context_line":"}"},{"line_number":33,"context_line":"EOF"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3%2Bg%3D","line":33,"updated":"2013-10-25 20:23:33.000000000","message":"This is all installation stuff - see the README for diskimage-builder- it should be in an install.d script.","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8a75aab8ea480c0445e9f9379a585378a74a5629","unresolved":false,"context_lines":[{"line_number":30,"context_line":"server_args \u003d /tftpboot"},{"line_number":31,"context_line":"disable \u003d no"},{"line_number":32,"context_line":"}"},{"line_number":33,"context_line":"EOF"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3vI%3D","line":33,"in_reply_to":"AAAATn%2F%2F3%2Bg%3D","updated":"2013-10-25 21:45:18.000000000","message":"Done","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"}],"elements/ironic/README.md":[{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"9d1971fc846ef4604488d4a7da4921f237b3a875","unresolved":false,"context_lines":[{"line_number":3,"context_line":"This is the initial ironic element."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This element will install and configure Ironic as a standalone"},{"line_number":6,"context_line":"service. "},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"Required options can be provided via heat. For example:"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-gfm","patch_set":1,"id":"AAAASn%2F%2Fs%2B8%3D","line":6,"updated":"2013-08-30 17:23:28.000000000","message":"fixing.","commit_id":"b37fff5709a807e599330bbe7707a2e94084f183"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"035506a22de2f43d0db4bac32d1d346da6abce42","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Ironic element:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This element will install and configure Ironic as a standalone"},{"line_number":4,"context_line":"service."}],"source_content_type":"text/x-gfm","patch_set":8,"id":"AAAAS3%2F%2F4QE%3D","line":1,"updated":"2013-09-17 19:57:48.000000000","message":"Either put a underline or a # at the beginning of the line : this isn\u0027t appropriate use of a colon.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8502126cbf8274a14b1ca2e9192f0138dca0d29c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Ironic element:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This element will install and configure Ironic as a standalone"},{"line_number":4,"context_line":"service."}],"source_content_type":"text/x-gfm","patch_set":8,"id":"AAAAS3%2F%2F0R8%3D","line":1,"in_reply_to":"AAAAS3%2F%2F4QE%3D","updated":"2013-09-18 18:41:15.000000000","message":"I will remove the colon. I have not seen other readme files with either the _ or # as the starting character is this new? Does it still need to be done if the colon is removed?","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"035506a22de2f43d0db4bac32d1d346da6abce42","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Ironic element:"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"This element will install and configure Ironic as a standalone"},{"line_number":4,"context_line":"service."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"A sample heat template that can be merged with the undercloud-vm"},{"line_number":7,"context_line":"template may be found in the openstack/tripleo-heat-templates"}],"source_content_type":"text/x-gfm","patch_set":8,"id":"AAAAS3%2F%2F4Pg%3D","line":4,"updated":"2013-09-17 19:57:48.000000000","message":"We try to avoid passive voice: \u0027Install and configure Ironic as a standalone service.\u0027","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"b785d66d8e42f2ac0233006fe85659e860b42526","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    rabbit:"},{"line_number":13,"context_line":"      host: 192.0.2.2"},{"line_number":14,"context_line":"      password: guest"},{"line_number":15,"context_line":"    service-password: unset"}],"source_content_type":"text/x-gfm","patch_set":9,"id":"AAAATH%2F%2FXW0%3D","line":15,"updated":"2013-10-17 06:55:33.000000000","message":"This should be namespaced under ironic.","commit_id":"760ba3b0d470e39df87e4ef6461e986c8769b1ba"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"453479968d2f5259fbe47d3cc0317d2b7fa1c096","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  ironic:"},{"line_number":7,"context_line":"    db: mysql://ironic:unset@192.0.2.2/ironic"},{"line_number":8,"context_line":"    keystoneadminpassword: unset"},{"line_number":9,"context_line":"  keystone:"},{"line_number":10,"context_line":"    host: 192.0.2.2"},{"line_number":11,"context_line":"  glance:"}],"source_content_type":"text/x-gfm","patch_set":11,"id":"AAAATX%2F%2F%2BWo%3D","line":8,"updated":"2013-10-23 13:11:39.000000000","message":"The pattern in all of the other elements has been to call this service-password.","commit_id":"d98afb1b8ecd53a02421fc720b5dd7f08f174ea7"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  ironic:"},{"line_number":7,"context_line":"    db: mysql://ironic:unset@192.0.2.2/ironic"},{"line_number":8,"context_line":"    keystoneadminpassword: unset"},{"line_number":9,"context_line":"  keystone:"},{"line_number":10,"context_line":"    host: 192.0.2.2"},{"line_number":11,"context_line":"  glance:"}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAATX%2F%2F7%2FQ%3D","line":8,"updated":"2013-10-23 23:43:33.000000000","message":"This should be service-password as Clint requested.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":5,"context_line":""},{"line_number":6,"context_line":"  ironic:"},{"line_number":7,"context_line":"    db: mysql://ironic:unset@192.0.2.2/ironic"},{"line_number":8,"context_line":"    keystoneadminpassword: unset"},{"line_number":9,"context_line":"  keystone:"},{"line_number":10,"context_line":"    host: 192.0.2.2"},{"line_number":11,"context_line":"  glance:"}],"source_content_type":"text/x-gfm","patch_set":12,"id":"AAAATX%2F%2F778%3D","line":8,"in_reply_to":"AAAATX%2F%2F7%2FQ%3D","updated":"2013-10-24 22:29:02.000000000","message":"gah forgot to update the readme. I did make the change in the files.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"}],"elements/ironic/install.d/68-ironic":[{"author":{"_account_id":6449,"name":"Chris Jones","email":"cmsj@tenshu.net","username":"cmsj"},"change_message_id":"496b72681ac2ec40408a904814ba1f62d6b7e6de","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# ironic requires numpy which seems to fail installing via pip."},{"line_number":5,"context_line":"# including subversion to clean up a \"not found\" error while installing"},{"line_number":6,"context_line":"install-packages subversion libatlas-base-dev gfortran gfortran-multilib"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"os-svc-install -n ironic \\"}],"source_content_type":"application/x-shellscript","patch_set":6,"id":"AAAASn%2F%2Fi%2BQ%3D","line":5,"updated":"2013-09-03 16:49:56.000000000","message":"I think both of these things sound like bugs that we might want to reference (or file and then reference).","commit_id":"bdab9a5c7d3594ff66ecd187d267dac35273ab50"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# need the libssl header files"},{"line_number":5,"context_line":"install-packages libssl-dev"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"os-svc-install -n ironic \\"},{"line_number":8,"context_line":"    -u ironic \\"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F7%2FI%3D","line":5,"updated":"2013-10-23 23:43:33.000000000","message":"Do you need pxelinux.0 files and other such things? I suspect that your test environment is only working because the nova elements have included such things.\n\nYou should add anything you need, either to the main ironic install or do -api / -conductor (where it\u0027s only needed by -api/-conductor).","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# need the libssl header files"},{"line_number":5,"context_line":"install-packages libssl-dev"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"os-svc-install -n ironic \\"},{"line_number":8,"context_line":"    -u ironic \\"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F77I%3D","line":5,"in_reply_to":"AAAATX%2F%2F7%2FI%3D","updated":"2013-10-24 22:29:02.000000000","message":"Very good catch! Thank you.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"58e7d3af7b6e8028a5f99130c6342720a3de8ca8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"os-svc-install -n ironic \\"},{"line_number":8,"context_line":"    -u ironic \\"},{"line_number":9,"context_line":"    -r /opt/stack/ironic"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F34Q%3D","line":9,"updated":"2013-10-25 20:47:08.000000000","message":"This is only 56 chars. Do we really need to wrap it?","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8a75aab8ea480c0445e9f9379a585378a74a5629","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"os-svc-install -n ironic \\"},{"line_number":8,"context_line":"    -u ironic \\"},{"line_number":9,"context_line":"    -r /opt/stack/ironic"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3u0%3D","line":9,"in_reply_to":"AAAATn%2F%2F34Q%3D","updated":"2013-10-25 21:45:18.000000000","message":"Done","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"}],"elements/ironic/os-apply-config/etc/ironic/logging-api.conf":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"11790ff593a858c1a46486f27bff1fa6d60a24ae","unresolved":false,"context_lines":[{"line_number":58,"context_line":"class \u003d ironic.openstack.common.log.ContextFormatter"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"[formatter_default]"},{"line_number":61,"context_line":"format \u003d %(message)s"}],"source_content_type":"text/plain","patch_set":11,"id":"AAAATX%2F%2F%2FCI%3D","line":61,"updated":"2013-10-23 09:33:22.000000000","message":"This config seems overly complex - it\u0027s got multiple handlers but we really only need one...","commit_id":"d98afb1b8ecd53a02421fc720b5dd7f08f174ea7"}],"elements/ironic/os-apply-config/etc/ironic/logging-conductor.conf":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"11790ff593a858c1a46486f27bff1fa6d60a24ae","unresolved":false,"context_lines":[{"line_number":58,"context_line":"class \u003d ironic.openstack.common.log.ContextFormatter"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"[formatter_default]"},{"line_number":61,"context_line":"format \u003d %(message)s"}],"source_content_type":"text/plain","patch_set":11,"id":"AAAATX%2F%2F%2FCA%3D","line":61,"updated":"2013-10-23 09:33:22.000000000","message":"Ditto on complexity.","commit_id":"d98afb1b8ecd53a02421fc720b5dd7f08f174ea7"}],"elements/ironic/os-config-applier/etc/ironic/ironic.conf":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"035506a22de2f43d0db4bac32d1d346da6abce42","unresolved":false,"context_lines":[{"line_number":4,"context_line":"rabbit_userid\u003dguest"},{"line_number":5,"context_line":"rabbit_password\u003d{{rabbit.password}}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"default_log_levels\u003d\u0027amqplib\u003dDEBUG, sqlalchemy\u003dDEBUG, keystone\u003dDEBUG, eventlet.wsgi.server\u003dDEBUG\u0027"},{"line_number":8,"context_line":"policy_file\u003d/etc/ironic/policy.json"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"[database]"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F4N0%3D","line":7,"updated":"2013-09-17 19:57:48.000000000","message":"DEBUG is way to chatty to run in prod - this should either be lower, or configurable, or both.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8502126cbf8274a14b1ca2e9192f0138dca0d29c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"rabbit_userid\u003dguest"},{"line_number":5,"context_line":"rabbit_password\u003d{{rabbit.password}}"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"default_log_levels\u003d\u0027amqplib\u003dDEBUG, sqlalchemy\u003dDEBUG, keystone\u003dDEBUG, eventlet.wsgi.server\u003dDEBUG\u0027"},{"line_number":8,"context_line":"policy_file\u003d/etc/ironic/policy.json"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"[database]"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F0b8%3D","line":7,"in_reply_to":"AAAAS3%2F%2F4N0%3D","updated":"2013-09-18 18:41:15.000000000","message":"Ironic is not production capable. This element is intended for testing. As Ironic matures its feature set there will be revisions to this file. I set these to debug so that a Ironic developer would not have manually set with each create.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"035506a22de2f43d0db4bac32d1d346da6abce42","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[keystone_authtoken]"},{"line_number":14,"context_line":"auth_host\u003d{{keystone.host}}"},{"line_number":15,"context_line":"auth_port\u003d35357"},{"line_number":16,"context_line":"auth_protocol\u003dhttp"},{"line_number":17,"context_line":"admin_password\u003d{{service-password}}"},{"line_number":18,"context_line":"admin_tenant_name\u003dservice"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F4N4%3D","line":15,"updated":"2013-09-17 19:57:48.000000000","message":"This should be configurable.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8502126cbf8274a14b1ca2e9192f0138dca0d29c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"[keystone_authtoken]"},{"line_number":14,"context_line":"auth_host\u003d{{keystone.host}}"},{"line_number":15,"context_line":"auth_port\u003d35357"},{"line_number":16,"context_line":"auth_protocol\u003dhttp"},{"line_number":17,"context_line":"admin_password\u003d{{service-password}}"},{"line_number":18,"context_line":"admin_tenant_name\u003dservice"}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F0Yo%3D","line":15,"in_reply_to":"AAAAS3%2F%2F4N4%3D","updated":"2013-09-18 18:41:15.000000000","message":"The versions of the undercloud heat templates that I reviewed did not have this port configurable so I hard coded it.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"209957b9d492d31d3baf2353f3743b4fce0e003a","unresolved":false,"context_lines":[{"line_number":14,"context_line":"auth_host\u003d{{keystone.host}}"},{"line_number":15,"context_line":"auth_port\u003d35357"},{"line_number":16,"context_line":"auth_protocol\u003dhttp"},{"line_number":17,"context_line":"admin_password\u003d{{service-password}}"},{"line_number":18,"context_line":"admin_tenant_name\u003dservice"},{"line_number":19,"context_line":"admin_user\u003dironic"},{"line_number":20,"context_line":""}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F4Mg%3D","line":17,"updated":"2013-09-17 20:19:04.000000000","message":"This needs to be specific to ironic, so ironic.service-password","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"035506a22de2f43d0db4bac32d1d346da6abce42","unresolved":false,"context_lines":[{"line_number":14,"context_line":"auth_host\u003d{{keystone.host}}"},{"line_number":15,"context_line":"auth_port\u003d35357"},{"line_number":16,"context_line":"auth_protocol\u003dhttp"},{"line_number":17,"context_line":"admin_password\u003d{{service-password}}"},{"line_number":18,"context_line":"admin_tenant_name\u003dservice"},{"line_number":19,"context_line":"admin_user\u003dironic"},{"line_number":20,"context_line":""}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F4NM%3D","line":17,"updated":"2013-09-17 19:57:48.000000000","message":"This should be namespaced: \"ironic.service-password\".","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8502126cbf8274a14b1ca2e9192f0138dca0d29c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"auth_host\u003d{{keystone.host}}"},{"line_number":15,"context_line":"auth_port\u003d35357"},{"line_number":16,"context_line":"auth_protocol\u003dhttp"},{"line_number":17,"context_line":"admin_password\u003d{{service-password}}"},{"line_number":18,"context_line":"admin_tenant_name\u003dservice"},{"line_number":19,"context_line":"admin_user\u003dironic"},{"line_number":20,"context_line":""}],"source_content_type":"text/plain","patch_set":8,"id":"AAAAS3%2F%2F0VE%3D","line":17,"in_reply_to":"AAAAS3%2F%2F4Mg%3D","updated":"2013-09-18 18:41:15.000000000","message":"Thank you Lifeless and Clint I will update this in the next version of the patch.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"b785d66d8e42f2ac0233006fe85659e860b42526","unresolved":false,"context_lines":[{"line_number":14,"context_line":"auth_host\u003d{{keystone.host}}"},{"line_number":15,"context_line":"auth_port\u003d35357"},{"line_number":16,"context_line":"auth_protocol\u003dhttp"},{"line_number":17,"context_line":"admin_password\u003d{{service-password}}"},{"line_number":18,"context_line":"admin_tenant_name\u003dservice"},{"line_number":19,"context_line":"admin_user\u003dironic"},{"line_number":20,"context_line":""}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATH%2F%2FXWs%3D","line":17,"updated":"2013-10-17 06:55:33.000000000","message":"still need to namespace this to ironic as well.","commit_id":"760ba3b0d470e39df87e4ef6461e986c8769b1ba"}],"elements/ironic/os-config-applier/etc/ironic/logging-api.conf":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"b785d66d8e42f2ac0233006fe85659e860b42526","unresolved":false,"context_lines":[{"line_number":8,"context_line":"keys \u003d context, default"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"[logger_root]"},{"line_number":11,"context_line":"level \u003d DEBUG"},{"line_number":12,"context_line":"handlers \u003d null"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"[logger_api]"}],"source_content_type":"text/plain","patch_set":9,"id":"AAAATH%2F%2FXV4%3D","line":11,"updated":"2013-10-17 06:55:33.000000000","message":"I\u0027m still concerned about non-production values here. I get that Ironic is not production.. today. But it will be, and TripleO is focused on being production ready. Otherwise we could just rely on devstack.","commit_id":"760ba3b0d470e39df87e4ef6461e986c8769b1ba"}],"elements/ironic/os-refresh-config/post-configure.d/68-ironic":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"11790ff593a858c1a46486f27bff1fa6d60a24ae","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eu"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"service ironic-api restart"},{"line_number":5,"context_line":"service ironic-conductor restart"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"AAAATX%2F%2F%2FB0%3D","line":5,"updated":"2013-10-23 09:33:22.000000000","message":"AIUI Ironic these are separate services, like nova-api vs nova-compute. I think this should be three elements - ironic, ironic-api, ironic-conductor, in the same way nova, nova-api and nova-compute are split out.","commit_id":"d98afb1b8ecd53a02421fc720b5dd7f08f174ea7"}],"elements/ironic/post-install.d/68-ironic":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"209957b9d492d31d3baf2353f3743b4fce0e003a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"},{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"ln -sf /opt/stack/venvs/ironic/bin/ironic-rootwrap /usr/local/bin/ironic-rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"AAAAS3%2F%2F4L8%3D","line":5,"updated":"2013-09-17 20:19:04.000000000","message":"If we\u0027re going to do policy.json, perhaps we could do the other unmodified conf files as well?","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8502126cbf8274a14b1ca2e9192f0138dca0d29c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"},{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"ln -sf /opt/stack/venvs/ironic/bin/ironic-rootwrap /usr/local/bin/ironic-rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"AAAAS3%2F%2F0d8%3D","line":5,"in_reply_to":"AAAAS3%2F%2F4L8%3D","updated":"2013-09-18 18:41:15.000000000","message":"Clint other files are handled by the next line. The only other file is the sample conf.","commit_id":"91ab445965e8a541bf26968c36df6ad3eb836728"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"11790ff593a858c1a46486f27bff1fa6d60a24ae","unresolved":false,"context_lines":[{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"ln -sf /opt/stack/venvs/ironic/bin/ironic-rootwrap /usr/local/bin/ironic-rootwrap"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":11,"context_line":"chmod 0440 /etc/sudoers.d/ironic"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"AAAATX%2F%2F%2FBw%3D","line":8,"updated":"2013-10-23 09:33:22.000000000","message":"You shouldn\u0027t need to do this - just configure the correct path to ironic-rootwrap in the ironic config.","commit_id":"d98afb1b8ecd53a02421fc720b5dd7f08f174ea7"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"11790ff593a858c1a46486f27bff1fa6d60a24ae","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"os-svc-daemon ironic-conductor ironic ironic-conductor \"--debug --verbose --log-config /etc/ironic/logging-conductor.conf --config-file /etc/ironic/ironic.conf\""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"os-svc-daemon ironic-api ironic ironic-api \"--debug --verbose --log-config /etc/ironic/logging-api.conf --config-file /etc/ironic/ironic.conf\""}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"AAAATX%2F%2F%2FBs%3D","line":16,"updated":"2013-10-23 09:33:22.000000000","message":"these should be split out into the relevant -api and -conductor elements.","commit_id":"d98afb1b8ecd53a02421fc720b5dd7f08f174ea7"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"},{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F7%2BM%3D","line":5,"updated":"2013-10-23 23:43:33.000000000","message":"it would be better to do this with install.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -eux"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"},{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F76w%3D","line":5,"in_reply_to":"AAAATX%2F%2F7%2BM%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"},{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":9,"context_line":"chmod 0440 /etc/sudoers.d/ironic"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F7%2BY%3D","line":6,"updated":"2013-10-23 23:43:33.000000000","message":"it would be better to do this with install.","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"install -d -m 0750 -o ironic -g ironic /etc/ironic"},{"line_number":5,"context_line":"cp /opt/stack/ironic/etc/ironic/policy.json /etc/ironic"},{"line_number":6,"context_line":"cp -a /opt/stack/ironic/etc/ironic/rootwrap* /etc/ironic"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":9,"context_line":"chmod 0440 /etc/sudoers.d/ironic"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F76s%3D","line":6,"in_reply_to":"AAAATX%2F%2F7%2BY%3D","updated":"2013-10-24 22:29:02.000000000","message":"Done","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"851f1e797f0c4f114c87078971ef78f7f89d2cab","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":9,"context_line":"chmod 0440 /etc/sudoers.d/ironic"},{"line_number":10,"context_line":"visudo -c"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATX%2F%2F7%2Bo%3D","line":10,"updated":"2013-10-23 23:43:33.000000000","message":"This is duplicating whats in your -conductor install. Seems wrong...","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"c6287ff47f0e727a85e4e7f635b94eb4076c1c0f","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":9,"context_line":"chmod 0440 /etc/sudoers.d/ironic"},{"line_number":10,"context_line":"visudo -c"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"AAAATn%2F%2F7%2Bg%3D","line":10,"in_reply_to":"AAAATX%2F%2F7%2Bo%3D","updated":"2013-10-24 22:29:02.000000000","message":"removed","commit_id":"c68688b62953d74294bcae5c023f423f12d1ceb7"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"d518603cb2250e96cefb5eac0d43613b56a6bec2","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":15,"context_line":"chmod 0440 /etc/sudoers.d/ironic"},{"line_number":16,"context_line":"visudo -c"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3%2BA%3D","line":16,"updated":"2013-10-25 20:23:33.000000000","message":"You said removed, but it\u0027s still here and there ;)","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"8a75aab8ea480c0445e9f9379a585378a74a5629","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"echo \"ironic ALL\u003d(root) NOPASSWD: /usr/local/bin/ironic-rootwrap\" \u003e /etc/sudoers.d/ironic"},{"line_number":15,"context_line":"chmod 0440 /etc/sudoers.d/ironic"},{"line_number":16,"context_line":"visudo -c"}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"AAAATn%2F%2F3uo%3D","line":16,"in_reply_to":"AAAATn%2F%2F3%2BA%3D","updated":"2013-10-25 21:45:18.000000000","message":"gah","commit_id":"ab255385fb65b42ef021d9fc8a1efddf0524adfb"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"a3ce2cc5651c3ba97bf365d2576f43770a984612","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# Use the rootwrap config from the source repo."},{"line_number":8,"context_line":"install -o root -g root -m 0755 -d /etc/ironic/rootwrap.d"},{"line_number":9,"context_line":"for f in $(ls /opt/stack/ironic/etc/ironic/rootwrap.d/); do"},{"line_number":10,"context_line":"    install -o root -g root -m 644 /opt/stack/ironic/etc/ironic/rootwrap.d/$f /etc/ironic/rootwrap.d/$f"},{"line_number":11,"context_line":"done"},{"line_number":12,"context_line":"install -o root -g root -m 0644 /opt/stack/ironic/etc/ironic/rootwrap.conf /etc/ironic/rootwrap.conf"}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"AAAATn%2F%2FykI%3D","line":10,"updated":"2013-10-29 01:18:02.000000000","message":"There shouldn\u0027t be any need to loop - can\u0027t you just\n\n install -o root -g root -m 644 -d /etc/ironic/rootwrap.d /opt/stack/ironic/etc/ironic/rootwrap.d/*","commit_id":"340b67a3de17e04f5d9be0510e5eeda2669b8464"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"97622e40df5382f6f341dd87514b763aa707523a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# Use the rootwrap config from the source repo."},{"line_number":8,"context_line":"install -o root -g root -m 0755 -d /etc/ironic/rootwrap.d"},{"line_number":9,"context_line":"for f in $(ls /opt/stack/ironic/etc/ironic/rootwrap.d/); do"},{"line_number":10,"context_line":"    install -o root -g root -m 644 /opt/stack/ironic/etc/ironic/rootwrap.d/$f /etc/ironic/rootwrap.d/$f"},{"line_number":11,"context_line":"done"},{"line_number":12,"context_line":"install -o root -g root -m 0644 /opt/stack/ironic/etc/ironic/rootwrap.conf /etc/ironic/rootwrap.conf"}],"source_content_type":"application/x-shellscript","patch_set":15,"id":"AAAATn%2F%2FqgI%3D","line":10,"in_reply_to":"AAAATn%2F%2FykI%3D","updated":"2013-10-30 17:40:08.000000000","message":"Done","commit_id":"340b67a3de17e04f5d9be0510e5eeda2669b8464"}],"elements/ironic/source-repository-ironic":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"b785d66d8e42f2ac0233006fe85659e860b42526","unresolved":false,"context_lines":[{"line_number":1,"context_line":"ironic git /opt/stack/ironic https://github.com/openstack/ironic.git"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"AAAATH%2F%2FXWM%3D","line":1,"updated":"2013-10-17 06:55:33.000000000","message":"We prefer git.openstack.org now. So\n\nhttps://git.openstack.org/cgit/openstack/ironic","commit_id":"760ba3b0d470e39df87e4ef6461e986c8769b1ba"}]}
