)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"6c8098bb6b95d09ec1757bf98732a3e92a0ccfd0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Use latest CoreOS stable when building"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This fetches the latest CoreOS stable version and builds the image using"},{"line_number":10,"context_line":"that version."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I7201450b21304fa29f22437c05da9e04daa4b9f8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba8a016a_bb20d7f8","line":10,"updated":"2015-11-16 21:02:04.000000000","message":"Maybe also add a note about updating the gpg key too :)","commit_id":"99150d60589c58a5a46e8fb2f52655e861c4e5b1"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"9559410648278f00286fc7ed1a10bff1d27caa11","unresolved":false,"context_lines":[{"line_number":11,"context_line":"to add /sys/fs/cgroup bind mount so that systemd-nspawn mounts the new"},{"line_number":12,"context_line":"cgroups fs and rewrite shutdown logic to account for read-only procfs"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Depends-On: Idfdc54210e33c71719c7fd0c905d0b802809e173"},{"line_number":15,"context_line":"Change-Id: I7201450b21304fa29f22437c05da9e04daa4b9f8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"7a740942_e2595236","line":14,"updated":"2015-12-07 21:30:33.000000000","message":"May want to add a:\n\n Co-Authored-By: Arun S A G \u003csagarun@gmail.com\u003e","commit_id":"ac4d137ec3f4e72ba7b61c436a0e3c05e78536e9"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"6a4f78de635737ae99119de101f9f508a2ad64a4","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Co-Authored-By: Arun S A G \u003csagarun@gmail.com\u003e"},{"line_number":13,"context_line":"Depends-On: Idfdc54210e33c71719c7fd0c905d0b802809e173"},{"line_number":14,"context_line":"Deoends-On: I6a572bdd791841add913d33c5b79b59033c3f237"},{"line_number":15,"context_line":"Change-Id: I7201450b21304fa29f22437c05da9e04daa4b9f8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"7a740942_e86fa5c1","line":14,"updated":"2015-12-09 04:38:07.000000000","message":"s/Deoends/Depends/","commit_id":"027e94382ab1a6d6086f30052866c6c3ae3d62f8"}],"imagebuild/coreos/coreos-oem-inject.py":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"679fad38608ecef6975bb140b523cbc2ae930045","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"import requests"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"COREOS_VERSION \u003d \"681.0.0\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"COREOS_ARCH \u003d \"amd64-usr\""},{"line_number":27,"context_line":"COREOS_BASE_URL \u003d (\"http://storage.core-os.net/coreos/{arch}/{ver}\""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa32b979_17569506","line":24,"updated":"2015-06-19 16:40:27.000000000","message":"I think we should peg this at \"stable\" for upstream.","commit_id":"1702d9c258056dee9f3376f8fd66e1be23936adb"}],"imagebuild/coreos/oem/shutdown.sh":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"ea09207a017e7d9a84b471e2809ce8240b93303d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"# Copyright 2015 Yahoo Inc."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-sh","patch_set":15,"id":"9a8ffd7b_572bbb33","line":2,"updated":"2015-12-01 04:59:49.000000000","message":"nit: it is better that we do not change the Copyright information which is existing already.","commit_id":"ac4d137ec3f4e72ba7b61c436a0e3c05e78536e9"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"5304ae350103722eeb2dc40e0627163436745a6f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"# Copyright 2015 Yahoo Inc."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-sh","patch_set":15,"id":"9a8ffd7b_bbf2e004","line":2,"in_reply_to":"9a8ffd7b_572bbb33","updated":"2015-12-07 20:32:54.000000000","message":"Hao, \n\nEven though it looked like i moved the code (shutdown.sh), it is completely \"new\" thats why i updated the copyright string. Let me know if you want to revert it back. Is there a policy on when to update the copyright string?","commit_id":"ac4d137ec3f4e72ba7b61c436a0e3c05e78536e9"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"a86b103c18abc688a36a9fe09b9fe9289921b82d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"# Copyright 2015 Yahoo Inc."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-sh","patch_set":15,"id":"9a8ffd7b_5bb41434","line":2,"in_reply_to":"9a8ffd7b_572bbb33","updated":"2015-12-01 19:18:13.000000000","message":"Interesting. It is rare that we change the entire contents of a file. I think either is fine, keep the old or replace. The copyright is for the contents, not the existence of the file, so I would think it makes more sense to update it.\n\nThe original script is still copyrighted by Rackspace so I think it is all good :)","commit_id":"ac4d137ec3f4e72ba7b61c436a0e3c05e78536e9"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e994e8e061f2bf8a3aec2c0a6d830b773010bdae","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# This script is run by ipa-reboot.service and reboots the system when"},{"line_number":17,"context_line":"# IPA finishes installation and writes to /usr/share/oem/"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"if [ -f /usr/share/oem/halt ]"},{"line_number":20,"context_line":"then"}],"source_content_type":"text/x-sh","patch_set":17,"id":"7a740942_172e1a43","line":17,"updated":"2015-12-08 01:00:52.000000000","message":"I\u0027m extremely confused as to why this was made so much more complex. Sysrq triggers work from within and outside of the container, and doesn\u0027t need an external service triggering reboots.","commit_id":"0ee86021778e023a148e8b02cbec19b629839eb3"}],"ironic_python_agent/extensions/standby.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"9559410648278f00286fc7ed1a10bff1d27caa11","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return msg"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _run_shutdown_script(self, parameter):"},{"line_number":266,"context_line":"        command \u003d [\u0027/bin/touch\u0027, os.path.join(\u0027/mnt/\u0027, parameter)]"},{"line_number":267,"context_line":"        try:"},{"line_number":268,"context_line":"            stdout, stderr \u003d utils.execute(*command, check_exit_code\u003d[0])"},{"line_number":269,"context_line":"        except processutils.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a740942_223e7a8c","line":266,"updated":"2015-12-07 21:30:33.000000000","message":"I don\u0027t understand this. How does touching a file cause the system to shutdown as the function name implies?","commit_id":"ac4d137ec3f4e72ba7b61c436a0e3c05e78536e9"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"534c396853592d622cbae2afa8b78ee72cc50a12","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return msg"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _run_shutdown_script(self, parameter):"},{"line_number":266,"context_line":"        command \u003d [\u0027/bin/touch\u0027, os.path.join(\u0027/mnt/\u0027, parameter)]"},{"line_number":267,"context_line":"        try:"},{"line_number":268,"context_line":"            stdout, stderr \u003d utils.execute(*command, check_exit_code\u003d[0])"},{"line_number":269,"context_line":"        except processutils.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a740942_5647c8bb","line":266,"in_reply_to":"7a740942_223e7a8c","updated":"2015-12-07 23:46:25.000000000","message":"Good question,\n\nThere is not really a good way to reboot the system from inside a systemd-nspawn container.\n\nThe systems /usr/share/oem is mounted in /mnt of the container (--bind\u003d/usr/share/oem:/mnt  in cloud-config.yml)\n\nWe have introduced a new service named \u0027ipa-rebooter.service\u0027 which runs every 15s and checks to see if there is a file in /usr/share/oem/{halt,reboot} and reboots the system from outside the container.","commit_id":"ac4d137ec3f4e72ba7b61c436a0e3c05e78536e9"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"bc9a5885b372dfd70b01304f7456ff1aecce7f27","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        LOG.info(msg)"},{"line_number":263,"context_line":"        return msg"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _run_shutdown_script(self, parameter):"},{"line_number":266,"context_line":"        command \u003d [\u0027/bin/touch\u0027, os.path.join(\u0027/mnt/\u0027, parameter)]"},{"line_number":267,"context_line":"        try:"},{"line_number":268,"context_line":"            stdout, stderr \u003d utils.execute(*command, check_exit_code\u003d[0])"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a740942_3167a64e","line":265,"updated":"2015-12-08 00:10:10.000000000","message":"Maybe this should be called: mark_for_shutdown or something that implies that it is setting a flag that the system should shutdown.","commit_id":"2ca1a73b55aa2d9038a1e12f5d316844a13ba441"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"bc9a5885b372dfd70b01304f7456ff1aecce7f27","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return msg"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _run_shutdown_script(self, parameter):"},{"line_number":266,"context_line":"        command \u003d [\u0027/bin/touch\u0027, os.path.join(\u0027/mnt/\u0027, parameter)]"},{"line_number":267,"context_line":"        try:"},{"line_number":268,"context_line":"            stdout, stderr \u003d utils.execute(*command, check_exit_code\u003d[0])"},{"line_number":269,"context_line":"        except processutils.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a740942_71d68ef2","line":266,"updated":"2015-12-08 00:10:10.000000000","message":"Please document how this is working. About a service watching for existence of a file.\n\nAlso the Python way to touch a file is:\n\n   os.utime(path, times\u003dNone)\n\nhttps://docs.python.org/2.7/library/os.html","commit_id":"2ca1a73b55aa2d9038a1e12f5d316844a13ba441"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"078df9446e1e02bda179d5415cfbbdef9453dc32","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return msg"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _run_shutdown_script(self, parameter):"},{"line_number":266,"context_line":"        command \u003d [\u0027/bin/touch\u0027, os.path.join(\u0027/mnt/\u0027, parameter)]"},{"line_number":267,"context_line":"        try:"},{"line_number":268,"context_line":"            stdout, stderr \u003d utils.execute(*command, check_exit_code\u003d[0])"},{"line_number":269,"context_line":"        except processutils.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a740942_1cbc01db","line":266,"in_reply_to":"7a740942_5c5369e2","updated":"2015-12-08 00:31:32.000000000","message":"Ignore me.  believed the docs!!! :D\n\nThanks.","commit_id":"2ca1a73b55aa2d9038a1e12f5d316844a13ba441"},{"author":{"_account_id":12640,"name":"Arun S A G","email":"sagarun@gmail.com","username":"sagarun"},"change_message_id":"0647da2cc6698dfcd1b1d548a46f57626a983c9c","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        return msg"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def _run_shutdown_script(self, parameter):"},{"line_number":266,"context_line":"        command \u003d [\u0027/bin/touch\u0027, os.path.join(\u0027/mnt/\u0027, parameter)]"},{"line_number":267,"context_line":"        try:"},{"line_number":268,"context_line":"            stdout, stderr \u003d utils.execute(*command, check_exit_code\u003d[0])"},{"line_number":269,"context_line":"        except processutils.ProcessExecutionError as e:"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a740942_5c5369e2","line":266,"in_reply_to":"7a740942_71d68ef2","updated":"2015-12-08 00:28:54.000000000","message":"----\u003e 1 os.utime(\u0027/home/saga/file.txt\u0027, None)\n\nOSError: [Errno 2] No such file or directory: \u0027/home/saga/file.txt\u0027","commit_id":"2ca1a73b55aa2d9038a1e12f5d316844a13ba441"}]}
