)]}'
{"ceph-mon/templates/bin/lockcheck/_reap-locks.py.tpl":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"8d9a6d3a184fcb11b306ecb562402da0f2bf463b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f6a8fd7_9b5e8f10","updated":"2018-05-02 00:21:24.000000000","message":"there\u0027s some style issues in here - but to me, functionality looks solid - and we can perform cleanup/logging in a follow-on PS","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"5ac0f4a5f5bf32fa7200f1a04c282c47e32a1200","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f6a8fd7_671bd91a","in_reply_to":"9f6a8fd7_9b5e8f10","updated":"2018-05-02 12:17:00.000000000","message":"Sure. This file will be cleaned up - this is just an RFC on the structure of whats being done.","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":28025,"name":"Randeep Jalli","email":"rj2083@att.com","username":"randeep.jalli"},"change_message_id":"604ca3c42a6ff8af7eee12590dc058a14027ca09","unresolved":false,"context_lines":[{"line_number":34,"context_line":"   for condition in node.status.conditions:"},{"line_number":35,"context_line":"      if condition.type \u003d\u003d \u0027Ready\u0027 and condition.status \u003d\u003d \u0027True\u0027:"},{"line_number":36,"context_line":"         is_offline\u003dFalse"},{"line_number":37,"context_line":"   if is_offline:"},{"line_number":38,"context_line":"      print(\"node %s is offline\" % node.metadata.name)"},{"line_number":39,"context_line":"      offline_nodes.append(node.metadata.name)"},{"line_number":40,"context_line":"   else:"}],"source_content_type":"text/x-smarty","patch_set":4,"id":"5f7c97a3_12e154fe","line":37,"updated":"2018-07-11 15:25:35.000000000","message":"do you maybe wanna nest this under your if block on line 35?","commit_id":"abd16d4ff31e41332dda6873668267aeceb352dc"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"5ac0f4a5f5bf32fa7200f1a04c282c47e32a1200","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                  client, cookie, address \u003d locks[\u0027lockers\u0027][0]"},{"line_number":60,"context_line":"                  if cookie.split(\"_\")[-1] in offline_nodes:"},{"line_number":61,"context_line":"                     print(\"Image %s locked by %s %s %s\" % (name, client, cookie, address))"},{"line_number":62,"context_line":"                     lock_epoch_stamp \u003d address.split(\"/\")[1]"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"                     # eh..."},{"line_number":65,"context_line":"                     try:"}],"source_content_type":"text/x-smarty","patch_set":4,"id":"9f6a8fd7_e7b5a9ef","line":62,"updated":"2018-05-02 12:17:00.000000000","message":"I need to determine what this is -- it doesn\u0027t appear to be an epoch stamp. Nor is it clear if its a create_time or update_time stamp.  I believe we are more interested in examining the last time the node reported Ready, i.e. how stale is the dead node.","commit_id":"abd16d4ff31e41332dda6873668267aeceb352dc"},{"author":{"_account_id":28025,"name":"Randeep Jalli","email":"rj2083@att.com","username":"randeep.jalli"},"change_message_id":"604ca3c42a6ff8af7eee12590dc058a14027ca09","unresolved":false,"context_lines":[{"line_number":66,"context_line":"                        lock_epoch_stamp \u003d float(lock_epoch_stamp)"},{"line_number":67,"context_line":"                        lock_stale_age \u003d float(lock_stale_age)"},{"line_number":68,"context_line":"                     except:"},{"line_number":69,"context_line":"                        print(\"Type convertion failed\")"},{"line_number":70,"context_line":"                        continue"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"                     lock_stamp_age \u003d time.time() - lock_epoch_stamp"}],"source_content_type":"text/x-smarty","patch_set":4,"id":"5f7c97a3_52082c7f","line":69,"updated":"2018-07-11 15:25:35.000000000","message":"typo needs to be \"conversion\" instead of \"convertion\"","commit_id":"abd16d4ff31e41332dda6873668267aeceb352dc"}],"ceph-mon/templates/bin/lockcheck/_start.sh.tpl":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"8d9a6d3a184fcb11b306ecb562402da0f2bf463b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -ex"},{"line_number":3,"context_line":"export LC_ALL\u003dC"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function watch_locks {"},{"line_number":6,"context_line":"  while [ true ]; do"},{"line_number":7,"context_line":"    echo \"checking for zombie locks\""},{"line_number":8,"context_line":"    /tmp/lockcheck-reap-locks.py || true"},{"line_number":9,"context_line":"    echo \"sleep 30 sec\""},{"line_number":10,"context_line":"    sleep 30"},{"line_number":11,"context_line":"  done"},{"line_number":12,"context_line":"}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"watch_locks"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"9f6a8fd7_bb127357","line":12,"range":{"start_line":5,"start_character":0,"end_line":12,"end_character":1},"updated":"2018-05-02 00:21:24.000000000","message":"though used elsewhere in the ceph chart(s) - bash to run a python loop makes me sad, though we can clean this up later.","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"5ac0f4a5f5bf32fa7200f1a04c282c47e32a1200","unresolved":false,"context_lines":[{"line_number":2,"context_line":"set -ex"},{"line_number":3,"context_line":"export LC_ALL\u003dC"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"function watch_locks {"},{"line_number":6,"context_line":"  while [ true ]; do"},{"line_number":7,"context_line":"    echo \"checking for zombie locks\""},{"line_number":8,"context_line":"    /tmp/lockcheck-reap-locks.py || true"},{"line_number":9,"context_line":"    echo \"sleep 30 sec\""},{"line_number":10,"context_line":"    sleep 30"},{"line_number":11,"context_line":"  done"},{"line_number":12,"context_line":"}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"watch_locks"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"9f6a8fd7_87994d7a","line":12,"range":{"start_line":5,"start_character":0,"end_line":12,"end_character":1},"in_reply_to":"9f6a8fd7_bb127357","updated":"2018-05-02 12:17:00.000000000","message":"Only temporarily copied from mon_check.  I agree it should be improved.","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"}],"ceph-mon/templates/deployment-lockcheck.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"8d9a6d3a184fcb11b306ecb562402da0f2bf463b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"metadata:"},{"line_number":27,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":28,"context_line":"rules:"},{"line_number":29,"context_line":"  - apiGroups:"},{"line_number":30,"context_line":"      - \u0027\u0027"},{"line_number":31,"context_line":"    resources:"},{"line_number":32,"context_line":"      - secrets"},{"line_number":33,"context_line":"    verbs:"},{"line_number":34,"context_line":"      - get"},{"line_number":35,"context_line":"      - list"},{"line_number":36,"context_line":"      - watch"},{"line_number":37,"context_line":"      - create"},{"line_number":38,"context_line":"      - delete"},{"line_number":39,"context_line":"  - apiGroups:"},{"line_number":40,"context_line":"      - \u0027\u0027"},{"line_number":41,"context_line":"    resources:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_fb08eb28","line":38,"range":{"start_line":29,"start_character":0,"end_line":38,"end_character":14},"updated":"2018-05-02 00:21:24.000000000","message":"this is a pretty broad set of permissions to apply to a pod - are they required?","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"5ac0f4a5f5bf32fa7200f1a04c282c47e32a1200","unresolved":false,"context_lines":[{"line_number":26,"context_line":"metadata:"},{"line_number":27,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":28,"context_line":"rules:"},{"line_number":29,"context_line":"  - apiGroups:"},{"line_number":30,"context_line":"      - \u0027\u0027"},{"line_number":31,"context_line":"    resources:"},{"line_number":32,"context_line":"      - secrets"},{"line_number":33,"context_line":"    verbs:"},{"line_number":34,"context_line":"      - get"},{"line_number":35,"context_line":"      - list"},{"line_number":36,"context_line":"      - watch"},{"line_number":37,"context_line":"      - create"},{"line_number":38,"context_line":"      - delete"},{"line_number":39,"context_line":"  - apiGroups:"},{"line_number":40,"context_line":"      - \u0027\u0027"},{"line_number":41,"context_line":"    resources:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_a77d711d","line":38,"range":{"start_line":29,"start_character":0,"end_line":38,"end_character":14},"in_reply_to":"9f6a8fd7_fb08eb28","updated":"2018-05-02 12:17:00.000000000","message":"All we need (today) is to list nodes (below).  This was copied from the provisioners.  I do not like how we manage bindings. It will be pruned.","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"8d9a6d3a184fcb11b306ecb562402da0f2bf463b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"      - watch"},{"line_number":37,"context_line":"      - create"},{"line_number":38,"context_line":"      - delete"},{"line_number":39,"context_line":"  - apiGroups:"},{"line_number":40,"context_line":"      - \u0027\u0027"},{"line_number":41,"context_line":"    resources:"},{"line_number":42,"context_line":"      - persistentvolumes"},{"line_number":43,"context_line":"    verbs:"},{"line_number":44,"context_line":"      - get"},{"line_number":45,"context_line":"      - list"},{"line_number":46,"context_line":"      - watch"},{"line_number":47,"context_line":"      - create"},{"line_number":48,"context_line":"      - delete"},{"line_number":49,"context_line":"  - apiGroups:"},{"line_number":50,"context_line":"      - \u0027\u0027"},{"line_number":51,"context_line":"    resources:"},{"line_number":52,"context_line":"      - persistentvolumeclaims"},{"line_number":53,"context_line":"    verbs:"},{"line_number":54,"context_line":"      - get"},{"line_number":55,"context_line":"      - list"},{"line_number":56,"context_line":"      - watch"},{"line_number":57,"context_line":"      - update"},{"line_number":58,"context_line":"  - apiGroups:"},{"line_number":59,"context_line":"      - storage.k8s.io"},{"line_number":60,"context_line":"    resources:"},{"line_number":61,"context_line":"      - storageclasses"},{"line_number":62,"context_line":"    verbs:"},{"line_number":63,"context_line":"      - get"},{"line_number":64,"context_line":"      - list"},{"line_number":65,"context_line":"      - watch"},{"line_number":66,"context_line":"  - apiGroups:"},{"line_number":67,"context_line":"      - \u0027\u0027"},{"line_number":68,"context_line":"    resources:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_3b7663a6","line":65,"range":{"start_line":39,"start_character":0,"end_line":65,"end_character":13},"updated":"2018-05-02 00:21:24.000000000","message":"are these used?","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"8d9a6d3a184fcb11b306ecb562402da0f2bf463b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"      - get"},{"line_number":64,"context_line":"      - list"},{"line_number":65,"context_line":"      - watch"},{"line_number":66,"context_line":"  - apiGroups:"},{"line_number":67,"context_line":"      - \u0027\u0027"},{"line_number":68,"context_line":"    resources:"},{"line_number":69,"context_line":"      - events"},{"line_number":70,"context_line":"    verbs:"},{"line_number":71,"context_line":"      - list"},{"line_number":72,"context_line":"      - watch"},{"line_number":73,"context_line":"      - create"},{"line_number":74,"context_line":"      - update"},{"line_number":75,"context_line":"      - patch"},{"line_number":76,"context_line":"  - apiGroups:"},{"line_number":77,"context_line":"      - \u0027\u0027"},{"line_number":78,"context_line":"    resources:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_5b79d790","line":75,"range":{"start_line":66,"start_character":0,"end_line":75,"end_character":13},"updated":"2018-05-02 00:21:24.000000000","message":"are these used?","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"8d9a6d3a184fcb11b306ecb562402da0f2bf463b","unresolved":false,"context_lines":[{"line_number":73,"context_line":"      - create"},{"line_number":74,"context_line":"      - update"},{"line_number":75,"context_line":"      - patch"},{"line_number":76,"context_line":"  - apiGroups:"},{"line_number":77,"context_line":"      - \u0027\u0027"},{"line_number":78,"context_line":"    resources:"},{"line_number":79,"context_line":"      - services"},{"line_number":80,"context_line":"      - endpoints"},{"line_number":81,"context_line":"    verbs:"},{"line_number":82,"context_line":"      - get"},{"line_number":83,"context_line":"  - apiGroups:"},{"line_number":84,"context_line":"      - \u0027\u0027"},{"line_number":85,"context_line":"    resources:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_fb6f8bc2","line":82,"range":{"start_line":76,"start_character":0,"end_line":82,"end_character":11},"updated":"2018-05-02 00:21:24.000000000","message":"are these used?","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"}],"ceph-mon/values.yaml":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"749b9e08ab54566ad87931a1b6d0ad945fd95acc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    ceph_config_helper: \u0027docker.io/port/ceph-config-helper:v1.10.1\u0027"},{"line_number":24,"context_line":"    ceph_mon: \u0027docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04\u0027"},{"line_number":25,"context_line":"    ceph_mon_check: \u0027docker.io/port/ceph-config-helper:v1.10.1\u0027"},{"line_number":26,"context_line":"    ceph_lock_check: \u0027quay.io/attcomdev/ceph-lock-reaper:v1.0\u0027"},{"line_number":27,"context_line":"    dep_check: \u0027quay.io/stackanetes/kubernetes-entrypoint:v0.3.0\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"labels:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_69bada6e","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":62},"updated":"2018-05-01 21:26:56.000000000","message":"check vs reap\n\nhow do you want this named?\n\nright now it\u0027s aligned with the attcomdev/dockerfiles change you made (and expose using quay.io); we should decide which we want and realign","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"5ac0f4a5f5bf32fa7200f1a04c282c47e32a1200","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    ceph_config_helper: \u0027docker.io/port/ceph-config-helper:v1.10.1\u0027"},{"line_number":24,"context_line":"    ceph_mon: \u0027docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04\u0027"},{"line_number":25,"context_line":"    ceph_mon_check: \u0027docker.io/port/ceph-config-helper:v1.10.1\u0027"},{"line_number":26,"context_line":"    ceph_lock_check: \u0027quay.io/attcomdev/ceph-lock-reaper:v1.0\u0027"},{"line_number":27,"context_line":"    dep_check: \u0027quay.io/stackanetes/kubernetes-entrypoint:v0.3.0\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"labels:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f6a8fd7_87c4ed60","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":62},"in_reply_to":"9f6a8fd7_69bada6e","updated":"2018-05-02 12:17:00.000000000","message":"Thats fair - to me, this is a reaper, not a check, but it was closely following the mon_check pattern.  I will correct all odd \"discrepancies\" and deviations.","commit_id":"df20d011389d632173e1a5f0b009f7f21b185919"}]}
