)]}'
{"/COMMIT_MSG":[{"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":"0345f0faf1e6032ef7dd30ba68628c72b8827ace","unresolved":false,"context_lines":[{"line_number":13,"context_line":"deployments only hard reboot the server after deployment and"},{"line_number":14,"context_line":"the shutdown job to sync the clock won\u0027t run."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1619054"},{"line_number":17,"context_line":"Change-Id: I1fbc587003bbac35fef775d59f509931db28d999"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa7ab95a_61388d3e","line":16,"updated":"2016-08-31 21:40:07.000000000","message":"it doesn\u0027t close the bug unless it does it for TinyIPA as well","commit_id":"12c4f1f3d79202d39f0e94bf9757b5cfbc01c628"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"eebcd6f68bb3e27633dd509b7a3709cf8bd1d7a0","unresolved":false,"context_lines":[{"line_number":13,"context_line":"deployments only hard reboot the server after deployment and"},{"line_number":14,"context_line":"the shutdown job to sync the clock won\u0027t run."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #1619054"},{"line_number":17,"context_line":"Change-Id: I1fbc587003bbac35fef775d59f509931db28d999"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"fa7ab95a_419f0903","line":16,"in_reply_to":"fa7ab95a_61388d3e","updated":"2016-08-31 21:42:04.000000000","message":"Done","commit_id":"12c4f1f3d79202d39f0e94bf9757b5cfbc01c628"}],"imagebuild/coreos/oem/ntp_config.sh":[{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"df2ab8e6a00bf3be6ca6f536b8ffdfd88099b494","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"IP\u003d4.2.2.1"},{"line_number":4,"context_line":"I\u003d0"},{"line_number":5,"context_line":"while true; do"},{"line_number":6,"context_line":"    I\u003d$((I + 1))"}],"source_content_type":"text/x-sh","patch_set":1,"id":"fa7ab95a_5e5aa684","line":3,"updated":"2016-08-26 12:47:19.000000000","message":"Why not make this block use one of the ntp servers defined? That is the only thing that would ensure ntpdate is able to reach the time servers.","commit_id":"62ec1bcb265d4350e0e188374156612cc6886bc5"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"694a6e3eb3b0ed57e6e7edce004ca0ae04e73ba2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"IP\u003d4.2.2.1"},{"line_number":4,"context_line":"I\u003d0"},{"line_number":5,"context_line":"while true; do"},{"line_number":6,"context_line":"    I\u003d$((I + 1))"}],"source_content_type":"text/x-sh","patch_set":1,"id":"fa7ab95a_af81a191","line":3,"in_reply_to":"fa7ab95a_5e5aa684","updated":"2016-08-31 21:32:41.000000000","message":"Good call! Done.","commit_id":"62ec1bcb265d4350e0e188374156612cc6886bc5"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"df2ab8e6a00bf3be6ca6f536b8ffdfd88099b494","unresolved":false,"context_lines":[{"line_number":19,"context_line":"SERVERS\u003d`cat /proc/cmdline | awk \u0027{ for(i\u003d1;i\u003c\u003dNF;i++) { if ($i ~ /^ntpservers\u003d/) { print substr($i, 12); exit 0 } } }\u0027 | sed \u0027s/,/ /g\u0027`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"if [[ -z \"$SERVERS\" ]]; then"},{"line_number":22,"context_line":"    echo \"Failed to find ntpservers\u003d on command line\""},{"line_number":23,"context_line":"    # Fail softly if kernel command line is not configured"},{"line_number":24,"context_line":"    exit 0"},{"line_number":25,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"fa7ab95a_be3c9230","line":22,"updated":"2016-08-26 12:47:19.000000000","message":"I would change this notice to something softer because it\u0027s not actually an error, just an unused option (e.g. \"System time not configured because no ntpservers\u003d kernel option was found\").","commit_id":"62ec1bcb265d4350e0e188374156612cc6886bc5"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"694a6e3eb3b0ed57e6e7edce004ca0ae04e73ba2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"SERVERS\u003d`cat /proc/cmdline | awk \u0027{ for(i\u003d1;i\u003c\u003dNF;i++) { if ($i ~ /^ntpservers\u003d/) { print substr($i, 12); exit 0 } } }\u0027 | sed \u0027s/,/ /g\u0027`"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"if [[ -z \"$SERVERS\" ]]; then"},{"line_number":22,"context_line":"    echo \"Failed to find ntpservers\u003d on command line\""},{"line_number":23,"context_line":"    # Fail softly if kernel command line is not configured"},{"line_number":24,"context_line":"    exit 0"},{"line_number":25,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"fa7ab95a_4f7015dd","line":22,"in_reply_to":"fa7ab95a_be3c9230","updated":"2016-08-31 21:32:41.000000000","message":"Done","commit_id":"62ec1bcb265d4350e0e188374156612cc6886bc5"},{"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":"0345f0faf1e6032ef7dd30ba68628c72b8827ace","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    I\u003d$((I + 1))"},{"line_number":16,"context_line":"    if ip route get $IP; then"},{"line_number":17,"context_line":"        echo \"Found route on $I run through\""},{"line_number":18,"context_line":"        echo \"Printing IP information:\""},{"line_number":19,"context_line":"        ip a"},{"line_number":20,"context_line":"        ip r"},{"line_number":21,"context_line":"        break"}],"source_content_type":"text/x-sh","patch_set":3,"id":"fa7ab95a_410c6994","line":18,"updated":"2016-08-31 21:40:07.000000000","message":"This is leftover debugging stuff, probably shouldn\u0027t be here.","commit_id":"12c4f1f3d79202d39f0e94bf9757b5cfbc01c628"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"eebcd6f68bb3e27633dd509b7a3709cf8bd1d7a0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    I\u003d$((I + 1))"},{"line_number":16,"context_line":"    if ip route get $IP; then"},{"line_number":17,"context_line":"        echo \"Found route on $I run through\""},{"line_number":18,"context_line":"        echo \"Printing IP information:\""},{"line_number":19,"context_line":"        ip a"},{"line_number":20,"context_line":"        ip r"},{"line_number":21,"context_line":"        break"}],"source_content_type":"text/x-sh","patch_set":3,"id":"fa7ab95a_019501e3","line":18,"in_reply_to":"fa7ab95a_410c6994","updated":"2016-08-31 21:42:04.000000000","message":"Done","commit_id":"12c4f1f3d79202d39f0e94bf9757b5cfbc01c628"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"9cadf5a7c129c606c9348c66d9a3e9d1a2df30bd","unresolved":false,"context_lines":[{"line_number":20,"context_line":"        echo \"No route found on $I run through, sleeping\""},{"line_number":21,"context_line":"        sleep 1"},{"line_number":22,"context_line":"    fi"},{"line_number":23,"context_line":"done"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Delete existing config; it is a symlink into /usr so we can\u0027t write to it"},{"line_number":26,"context_line":"rm /etc/ntp.conf"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a8ec9b2_da276610","line":23,"updated":"2016-09-15 10:50:58.000000000","message":"It is possible to setup service dependencies in cloud-config.yml, I\u0027m wondered why not add ntp_config dependent on networking service? In this case route check is not needed.","commit_id":"43fdf382ff84a4d9ab0e519187b0129fbb18416a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"9cadf5a7c129c606c9348c66d9a3e9d1a2df30bd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"done"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Delete existing config; it is a symlink into /usr so we can\u0027t write to it"},{"line_number":26,"context_line":"rm /etc/ntp.conf"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"for server in $SERVERS; do"},{"line_number":29,"context_line":"    echo \"server $server\" \u003e\u003e /etc/ntp.conf"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a8ec9b2_9aff9e66","line":26,"updated":"2016-09-15 10:50:58.000000000","message":"If $SERVERS is empty we will just remove default ntp.conf.","commit_id":"43fdf382ff84a4d9ab0e519187b0129fbb18416a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"9cadf5a7c129c606c9348c66d9a3e9d1a2df30bd","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"echo \"restrict default nomodify nopeer noquery limited kod\" \u003e\u003e /etc/ntp.conf"},{"line_number":33,"context_line":"echo \"restrict 127.0.0.1\" \u003e\u003e /etc/ntp.conf"},{"line_number":34,"context_line":"echo \"restrict [::1]\" \u003e\u003e /etc/ntp.conf"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"echo \"NTP Configuration successfully generated, running ntpdate\""},{"line_number":37,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a8ec9b2_fa1c2215","line":34,"updated":"2016-09-15 10:50:58.000000000","message":"I\u0027m wondered if ntpdate uses ntp.conf. Why we need to provide list of servers to ntpdate in this case?","commit_id":"43fdf382ff84a4d9ab0e519187b0129fbb18416a"},{"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":"6d115bd2ad3b6f9b13d1f9bb69622bce10d23792","unresolved":false,"context_lines":[{"line_number":36,"context_line":"echo \"NTP Configuration successfully generated, running ntpdate\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Setting time"},{"line_number":39,"context_line":"ntpdate -u $SERVERS"},{"line_number":40,"context_line":"# Specifically set hw clock, since we hard reboot the shutdown job to sync"},{"line_number":41,"context_line":"# will never run"},{"line_number":42,"context_line":"hwclock --systohc"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a8ec9b2_8aa9257e","line":39,"updated":"2016-09-14 21:04:29.000000000","message":"I think Julia\u0027s comment is right. This was written under the assumption an agent network would not have internet access; if the agent network does have internet access, NTP will be running and this will cause havoc.\n\nMaybe look to see if NTP is successfully running early in the script, and fail early if it is and is already working?","commit_id":"43fdf382ff84a4d9ab0e519187b0129fbb18416a"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"9cadf5a7c129c606c9348c66d9a3e9d1a2df30bd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"echo \"NTP Configuration successfully generated, running ntpdate\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# Setting time"},{"line_number":39,"context_line":"ntpdate -u $SERVERS"},{"line_number":40,"context_line":"# Specifically set hw clock, since we hard reboot the shutdown job to sync"},{"line_number":41,"context_line":"# will never run"},{"line_number":42,"context_line":"hwclock --systohc"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7a8ec9b2_1a1f0e60","line":39,"in_reply_to":"7a8ec9b2_8aa9257e","updated":"2016-09-15 10:50:58.000000000","message":"It is not required to have internet access here, operator may provide own ntp server, it is an responsibility of operator to provide access from ramdisk to NTP.","commit_id":"43fdf382ff84a4d9ab0e519187b0129fbb18416a"}]}
