)]}'
{"libvirt/templates/bin/_libvirt.sh.tpl":[{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"833bfe41dba42e1e7f31189ac6e6edc60c0a413c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":24,"context_line":"    libvirtpid\u003d$(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":25,"context_line":"    if [ $(cat \"/proc/${libvirtpid}/status\" 2\u003e/dev/null | grep State \\"},{"line_number":26,"context_line":"         | awk \u0027 {print $2} \u0027 | grep \u0027R\\|S\\|I\\|D\u0027 | wc -l) -eq 1 ]; then"},{"line_number":27,"context_line":"      echo \"ERROR: libvirtd daemon already running on host\" 1\u003e\u00262"},{"line_number":28,"context_line":"      exit 1"},{"line_number":29,"context_line":"    fi"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"3fa7e38b_ad23b7a6","line":26,"range":{"start_line":26,"start_character":32,"end_line":26,"end_character":49},"updated":"2019-10-11 17:08:01.000000000","message":"suggest this instead since it\u0027s more clear that the purpose of this check is to disregard the zombie state:\ngrep -v \u0027Z\u0027","commit_id":"3a3b75e99ded0a310d338a1858756415496bc8e4"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"ce89019fb665149c16f2c0efbd0857bc2038ae3a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":24,"context_line":"    libvirtpid\u003d$(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":25,"context_line":"    if [ $(cat \"/proc/${libvirtpid}/status\" 2\u003e/dev/null | grep State \\"},{"line_number":26,"context_line":"         | awk \u0027 {print $2} \u0027 | grep \u0027R\\|S\\|I\\|D\u0027 | wc -l) -eq 1 ]; then"},{"line_number":27,"context_line":"      echo \"ERROR: libvirtd daemon already running on host\" 1\u003e\u00262"},{"line_number":28,"context_line":"      exit 1"},{"line_number":29,"context_line":"    fi"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"3fa7e38b_93d93857","line":26,"range":{"start_line":26,"start_character":32,"end_line":26,"end_character":49},"in_reply_to":"3fa7e38b_ad23b7a6","updated":"2019-10-11 21:01:10.000000000","message":"Updated","commit_id":"3a3b75e99ded0a310d338a1858756415496bc8e4"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"fcea9f631b71efd3b3488c3a2003efb9cdd15121","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":24,"context_line":"    if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":25,"context_line":"      set -x"},{"line_number":26,"context_line":"      kill -9 $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":27,"context_line":"      sleep 1"},{"line_number":28,"context_line":"      set +x"},{"line_number":29,"context_line":"    fi"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_19967740","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":45},"updated":"2019-10-17 19:03:05.000000000","message":"kill -9 \"$(echo $proc | cut -f 3 -d \u0027/\u0027)\" || true","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"a415ba336d382f014dfa46f92a3f684fb1760dad","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":24,"context_line":"    if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":25,"context_line":"      set -x"},{"line_number":26,"context_line":"      kill -9 $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":27,"context_line":"      sleep 1"},{"line_number":28,"context_line":"      set +x"},{"line_number":29,"context_line":"    fi"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_8bba0ebe","line":26,"range":{"start_line":26,"start_character":6,"end_line":26,"end_character":45},"in_reply_to":"3fa7e38b_19967740","updated":"2019-10-17 20:10:09.000000000","message":"updated","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"fcea9f631b71efd3b3488c3a2003efb9cdd15121","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":25,"context_line":"      set -x"},{"line_number":26,"context_line":"      kill -9 $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":27,"context_line":"      sleep 1"},{"line_number":28,"context_line":"      set +x"},{"line_number":29,"context_line":"    fi"},{"line_number":30,"context_line":"  done"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_19af577e","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":13},"updated":"2019-10-17 19:03:05.000000000","message":"not needed","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"a415ba336d382f014dfa46f92a3f684fb1760dad","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":25,"context_line":"      set -x"},{"line_number":26,"context_line":"      kill -9 $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":27,"context_line":"      sleep 1"},{"line_number":28,"context_line":"      set +x"},{"line_number":29,"context_line":"    fi"},{"line_number":30,"context_line":"  done"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_2baf5a7e","line":27,"range":{"start_line":27,"start_character":6,"end_line":27,"end_character":13},"in_reply_to":"3fa7e38b_19af577e","updated":"2019-10-17 20:10:09.000000000","message":"removed","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"fcea9f631b71efd3b3488c3a2003efb9cdd15121","unresolved":false,"context_lines":[{"line_number":28,"context_line":"      set +x"},{"line_number":29,"context_line":"    fi"},{"line_number":30,"context_line":"  done"},{"line_number":31,"context_line":"  set -ex"},{"line_number":32,"context_line":"fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"rm -f /var/run/libvirtd.pid"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_b9a643ab","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":9},"updated":"2019-10-17 19:03:05.000000000","message":"not needed","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"a415ba336d382f014dfa46f92a3f684fb1760dad","unresolved":false,"context_lines":[{"line_number":28,"context_line":"      set +x"},{"line_number":29,"context_line":"    fi"},{"line_number":30,"context_line":"  done"},{"line_number":31,"context_line":"  set -ex"},{"line_number":32,"context_line":"fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"rm -f /var/run/libvirtd.pid"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_cbbfa6a8","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":9},"in_reply_to":"3fa7e38b_b9a643ab","updated":"2019-10-17 20:10:09.000000000","message":"removed e","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"b3cf9f48ca646b21ed70fead9ea9003ddb91e42a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    fi"},{"line_number":30,"context_line":"  done"},{"line_number":31,"context_line":"  set -ex"},{"line_number":32,"context_line":"fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"rm -f /var/run/libvirtd.pid"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_59038f77","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":2},"updated":"2019-10-17 19:07:23.000000000","message":"It would make sense to at least log a warning if there\u0027s still any libvirt processes running at this point before starting up libvirtd. It would also be helpful to log whether or not it\u0027s a zombie process.","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"a415ba336d382f014dfa46f92a3f684fb1760dad","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    fi"},{"line_number":30,"context_line":"  done"},{"line_number":31,"context_line":"  set -ex"},{"line_number":32,"context_line":"fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"rm -f /var/run/libvirtd.pid"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":3,"id":"3fa7e38b_2be43ae0","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":2},"in_reply_to":"3fa7e38b_59038f77","updated":"2019-10-17 20:10:09.000000000","message":"added inside the loop to save time","commit_id":"f4cb15ff20919cd566ab3cf7eeb7cb791d71c4b1"}],"libvirt/templates/bin/_libvirt_cleanup.sh.tpl":[{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"833bfe41dba42e1e7f31189ac6e6edc60c0a413c","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":22,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":23,"context_line":"    kill $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":24,"context_line":"  fi"},{"line_number":25,"context_line":"done"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"sleep 5"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":30,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"3fa7e38b_6d67ffea","line":27,"range":{"start_line":21,"start_character":0,"end_line":27,"end_character":7},"updated":"2019-10-11 17:08:01.000000000","message":"suggest running in a loop for 60 seconds. check every 5 seconds if all processes have stopped and exit 0 if they have. Otherwise if one or more are still running after the 60 second timeout, then do the kill -9","commit_id":"3a3b75e99ded0a310d338a1858756415496bc8e4"},{"author":{"_account_id":18236,"name":"Sophie Huang","email":"sophieh01@yahoo.com","username":"SophieHuang"},"change_message_id":"ce89019fb665149c16f2c0efbd0857bc2038ae3a","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"set -ex"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":22,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":23,"context_line":"    kill $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":24,"context_line":"  fi"},{"line_number":25,"context_line":"done"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"sleep 5"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":30,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"3fa7e38b_73e4bc0d","line":27,"range":{"start_line":21,"start_character":0,"end_line":27,"end_character":7},"in_reply_to":"3fa7e38b_6d67ffea","updated":"2019-10-11 21:01:10.000000000","message":"updated","commit_id":"3a3b75e99ded0a310d338a1858756415496bc8e4"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"dda5252422933cc0650f8c29c3b19092ca80f0f7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":25,"context_line":"    if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":26,"context_line":"      found\u003d\"true\""},{"line_number":27,"context_line":"      kill $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":28,"context_line":"    fi"},{"line_number":29,"context_line":"  done"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-smarty","patch_set":2,"id":"3fa7e38b_a9d139ce","line":27,"range":{"start_line":27,"start_character":11,"end_line":27,"end_character":42},"updated":"2019-10-15 21:36:00.000000000","message":"surround with double quotes\nAppend || true (or change set -ex to set -x)","commit_id":"33ce537bdff8fb757a084e936b1fa85d7746e190"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"dda5252422933cc0650f8c29c3b19092ca80f0f7","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"for proc in $(ls /proc/*/comm 2\u003e/dev/null); do"},{"line_number":41,"context_line":"  if [ \"x$(cat $proc 2\u003e/dev/null | grep -w libvirtd)\" \u003d\u003d \"xlibvirtd\" ]; then"},{"line_number":42,"context_line":"    kill -9 $(echo $proc | cut -f 3 -d \u0027/\u0027)"},{"line_number":43,"context_line":"  fi"},{"line_number":44,"context_line":"done"}],"source_content_type":"text/x-smarty","patch_set":2,"id":"3fa7e38b_49dc45e3","line":42,"range":{"start_line":42,"start_character":12,"end_line":42,"end_character":43},"updated":"2019-10-15 21:36:00.000000000","message":"surround with double quotes\nAppend || true (or change set -ex to set -x)","commit_id":"33ce537bdff8fb757a084e936b1fa85d7746e190"}]}
