)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"85ab6707cc1374182da1ed65321145e5beac2615","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Al Lau \u003cal070e@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-08-17 12:34:30 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"A script to check the failure domains of OSDs in PGs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The checkPGs* script is implemented to check the OSDs in PGs of"},{"line_number":10,"context_line":"ceph pools to make sure OSDs were not allocated from the same"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"3f79a3b5_e8ae3b2e","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":52},"updated":"2018-08-28 15:50:38.000000000","message":"it might be useful to explain/expand some of the acronyms here in the body of the commit message","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"ff22bb32a43f9bf7153e22bc218a38a66056ed4a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Al Lau \u003cal070e@att.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-08-17 12:34:30 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"A script to check the failure domains of OSDs in PGs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The checkPGs* script is implemented to check the OSDs in PGs of"},{"line_number":10,"context_line":"ceph pools to make sure OSDs were not allocated from the same"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"3f79a3b5_0657d128","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":52},"in_reply_to":"3f79a3b5_e8ae3b2e","updated":"2018-08-29 16:58:14.000000000","message":"Done","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"85ab6707cc1374182da1ed65321145e5beac2615","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"A script to check the failure domains of OSDs in PGs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The checkPGs* script is implemented to check the OSDs in PGs of"},{"line_number":10,"context_line":"ceph pools to make sure OSDs were not allocated from the same"},{"line_number":11,"context_line":"failure domain. This script is intended to run from any one of"},{"line_number":12,"context_line":"the ceph-mon pods."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"3f79a3b5_a8a84320","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":13},"updated":"2018-08-28 15:50:38.000000000","message":"why the \u0027*\u0027 ?","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"ff22bb32a43f9bf7153e22bc218a38a66056ed4a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"A script to check the failure domains of OSDs in PGs"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The checkPGs* script is implemented to check the OSDs in PGs of"},{"line_number":10,"context_line":"ceph pools to make sure OSDs were not allocated from the same"},{"line_number":11,"context_line":"failure domain. This script is intended to run from any one of"},{"line_number":12,"context_line":"the ceph-mon pods."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"3f79a3b5_665a4551","line":9,"range":{"start_line":9,"start_character":12,"end_line":9,"end_character":13},"in_reply_to":"3f79a3b5_a8a84320","updated":"2018-08-29 16:58:14.000000000","message":"Done","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"85ab6707cc1374182da1ed65321145e5beac2615","unresolved":false,"context_lines":[{"line_number":15,"context_line":"to run it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"A Kubernetes cron job is created to schedule the execution of"},{"line_number":18,"context_line":"this script at a regular internal.  The execution frequency is"},{"line_number":19,"context_line":"defined in the ceph-mon/values.yaml file."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I29e5bee87c8ef9ae823ed665175be91f4df70bce"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"3f79a3b5_88654720","line":18,"range":{"start_line":18,"start_character":25,"end_line":18,"end_character":33},"updated":"2018-08-28 15:50:38.000000000","message":"interval","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"ff22bb32a43f9bf7153e22bc218a38a66056ed4a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"to run it."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"A Kubernetes cron job is created to schedule the execution of"},{"line_number":18,"context_line":"this script at a regular internal.  The execution frequency is"},{"line_number":19,"context_line":"defined in the ceph-mon/values.yaml file."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I29e5bee87c8ef9ae823ed665175be91f4df70bce"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"3f79a3b5_465dc946","line":18,"range":{"start_line":18,"start_character":25,"end_line":18,"end_character":33},"in_reply_to":"3f79a3b5_88654720","updated":"2018-08-29 16:58:14.000000000","message":"Done","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"}],"ceph-mon/templates/bin/utils/_checkPGs.py.tpl":[{"author":{"_account_id":26365,"name":"Bryan Strassner","email":"strassner.bryan@gmail.com","username":"bryan-strassner"},"change_message_id":"cab50e443798f2a5dc9e85824032dda7c5c1e005","unresolved":false,"context_lines":[{"line_number":21,"context_line":"     10 root"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Currently, this test script is coded to work with the ceph cluster that have"},{"line_number":24,"context_line":"the osd, host, rack, root type-ids.  To add other type_ids to the cursh map,"},{"line_number":25,"context_line":"this script needs enhancements to include the new type_ids."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ceph organizes the crush map in hierarchy topology.  At the top, it is the"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"5f7c97a3_69eaf6d9","line":24,"range":{"start_line":24,"start_character":66,"end_line":24,"end_character":71},"updated":"2018-07-24 19:08:14.000000000","message":"crush","commit_id":"2e363d7ff06f8b9c1969807f4a30798fed6d6c54"},{"author":{"_account_id":26365,"name":"Bryan Strassner","email":"strassner.bryan@gmail.com","username":"bryan-strassner"},"change_message_id":"cab50e443798f2a5dc9e85824032dda7c5c1e005","unresolved":false,"context_lines":[{"line_number":181,"context_line":"                            print(\u0027OSDs {} in PG {} failed check in rack {}\u0027.format(pg[\u0027up\u0027], pg[\u0027pgid\u0027], kvalue))"},{"line_number":182,"context_line":"            check_FD.clear()"},{"line_number":183,"context_line":"        if not badPGs:"},{"line_number":184,"context_line":"            print(\u0027{}\u0027.format(\u0027Passed\u0027))"},{"line_number":185,"context_line":"        return"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def checkPoolPGs(self):"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"5f7c97a3_e9ab666e","line":184,"range":{"start_line":184,"start_character":12,"end_line":184,"end_character":40},"updated":"2018-07-24 19:08:14.000000000","message":"why not just print(\u0027Passed\u0027)?","commit_id":"2e363d7ff06f8b9c1969807f4a30798fed6d6c54"},{"author":{"_account_id":26365,"name":"Bryan Strassner","email":"strassner.bryan@gmail.com","username":"bryan-strassner"},"change_message_id":"cab50e443798f2a5dc9e85824032dda7c5c1e005","unresolved":false,"context_lines":[{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    if (\u0027all\u0027 in args.PoolName or"},{"line_number":229,"context_line":"        \u0027All\u0027 in args.PoolName) and len(args.PoolName) \u003e 1:"},{"line_number":230,"context_line":"        print (\u0027You only need to give one pool with special pool All\u0027)"},{"line_number":231,"context_line":"        sys.exit(1)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    # Retrieve the crush hierarchies and store it.  Cross-check the OSDs"}],"source_content_type":"text/x-smarty","patch_set":3,"id":"5f7c97a3_2925de16","line":230,"range":{"start_line":230,"start_character":13,"end_line":230,"end_character":15},"updated":"2018-07-24 19:08:14.000000000","message":"this space is probably not wanted, but doesn\u0027t change anything.","commit_id":"2e363d7ff06f8b9c1969807f4a30798fed6d6c54"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"a9634e145a3f54a53ff5dcb553df6b28af842e8e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":9,"id":"5f7c97a3_849b6b62","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"updated":"2018-07-27 15:02:51.000000000","message":"#!/usr/bin/python2.7","commit_id":"5397257a97f6ca684fe72bfad8152dd6a571d295"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"d8e74b1819cc9eff44a9fac35eafcf56cf852ec6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":9,"id":"5f7c97a3_8734cde0","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"in_reply_to":"5f7c97a3_849b6b62","updated":"2018-07-27 15:26:06.000000000","message":"python and python2 are soft links to the real binary python2.7.  I can make the change if I need to upload another patch set.  Thanks.\n44040605 lrwxrwxrwx 1 root root       9 Nov 24  2017 /usr/bin/python -\u003e python2.7\n44040606 lrwxrwxrwx 1 root root       9 Nov 24  2017 /usr/bin/python2 -\u003e python2.7\n44040607 -rwxr-xr-x 1 root root 3492656 Dec  4  2017 /usr/bin/python2.7","commit_id":"5397257a97f6ca684fe72bfad8152dd6a571d295"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"d47112575b80ade2f4993eb5a7d0b0e30afd0023","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    # If we need to add chassis type (or other types) later on, add the"},{"line_number":45,"context_line":"    # type to the if statement in the crushFD construction section."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    # crushFD[0] \u003d {\u0027id\u0027: -2, \u0027name\u0027: \u0027mtn13r10o001\u0027, \u0027type\u0027: \u0027host\u0027}"},{"line_number":48,"context_line":"    # crushFD[23] \u003d {\u0027id\u0027: -5, \u0027name\u0027: \u0027mtn13r10o002\u0027, \u0027type\u0027: \u0027host\u0027}"},{"line_number":49,"context_line":"    # crushFD[68] \u003d {\u0027id\u0027: -7, \u0027name\u0027: \u0027mtn13r10o003\u0027, \u0027type\u0027: \u0027host\u0027}"},{"line_number":50,"context_line":"    # rack_FD[-2] \u003d {\u0027id\u0027: -9, \u0027name\u0027: \u0027aic-rack1\u0027, \u0027type\u0027: \u0027rack\u0027 }"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"5f7c97a3_c6605ea7","line":47,"updated":"2018-07-30 19:59:07.000000000","message":"Can we please make up fake host names for this, and take out the \"aic\" below (\"rack1\" seems good)?  That will keep the docs more operator-agnostic.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    # If we need to add chassis type (or other types) later on, add the"},{"line_number":45,"context_line":"    # type to the if statement in the crushFD construction section."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    # crushFD[0] \u003d {\u0027id\u0027: -2, \u0027name\u0027: \u0027mtn13r10o001\u0027, \u0027type\u0027: \u0027host\u0027}"},{"line_number":48,"context_line":"    # crushFD[23] \u003d {\u0027id\u0027: -5, \u0027name\u0027: \u0027mtn13r10o002\u0027, \u0027type\u0027: \u0027host\u0027}"},{"line_number":49,"context_line":"    # crushFD[68] \u003d {\u0027id\u0027: -7, \u0027name\u0027: \u0027mtn13r10o003\u0027, \u0027type\u0027: \u0027host\u0027}"},{"line_number":50,"context_line":"    # rack_FD[-2] \u003d {\u0027id\u0027: -9, \u0027name\u0027: \u0027aic-rack1\u0027, \u0027type\u0027: \u0027rack\u0027 }"}],"source_content_type":"text/x-smarty","patch_set":10,"id":"5f7c97a3_963293bf","line":47,"in_reply_to":"5f7c97a3_c6605ea7","updated":"2018-07-31 01:37:42.000000000","message":"Fixed as described.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"2dc42382c60fd0e5d947c1ced65d2b27804f25ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":13,"id":"3f79a3b5_4064514a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"updated":"2018-08-10 21:32:07.000000000","message":"#!/usr/bin/python2.7","commit_id":"8848e3903c1ccd7a559eaff866a88d9159a968dc"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"43c7e8bc86506fd0eede2ac2864afc37cf4a57c5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":13,"id":"3f79a3b5_839c9a0e","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":22},"in_reply_to":"3f79a3b5_4064514a","updated":"2018-08-13 15:33:08.000000000","message":"The /usr/bin/python2.7 is the real binary.  /usr/bin/python2 is a soft link to /usr/bin/python2.7.  In the future, containers may have different version 2 of the real binary installed (like python2.7.15).  The soft link /usr/bin/python2 should point to the right real binary.  For this reason, I think it is safer to use /usr/bin/python2\nComments?","commit_id":"8848e3903c1ccd7a559eaff866a88d9159a968dc"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"85ab6707cc1374182da1ed65321145e5beac2615","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"3f79a3b5_a87da3b3","line":1,"range":{"start_line":1,"start_character":17,"end_line":1,"end_character":18},"updated":"2018-08-28 15:50:38.000000000","message":"2.7 surely?\nwhat was it tested/developed with?","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"ff22bb32a43f9bf7153e22bc218a38a66056ed4a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"3f79a3b5_c6332413","line":1,"range":{"start_line":1,"start_character":17,"end_line":1,"end_character":18},"in_reply_to":"3f79a3b5_a87da3b3","updated":"2018-08-29 16:58:14.000000000","message":"This script was developed and tested with /usr/bin/python2.  python2 is a soft link to /usr/bin/python2.7.  The /usr/bin/python2 soft link is used to give flexibility on environment when the real binary is something like /usr/bin/python2.7.15.","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"85ab6707cc1374182da1ed65321145e5beac2615","unresolved":false,"context_lines":[{"line_number":34,"context_line":"\u0027\u0027\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class cephCRUSH():"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # This list stores the ceph crush hierarchy retrieved from the"},{"line_number":39,"context_line":"    # ceph osd crush tree -f json-pretty"},{"line_number":40,"context_line":"    crushHierarchy \u003d []"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    # Failure Domains - currently our crush map uses these type IDs - osd,"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"3f79a3b5_682eabac","line":39,"range":{"start_line":37,"start_character":0,"end_line":39,"end_character":40},"updated":"2018-08-28 15:50:38.000000000","message":"i wonder if we want this comment to be help text?","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"ff22bb32a43f9bf7153e22bc218a38a66056ed4a","unresolved":false,"context_lines":[{"line_number":34,"context_line":"\u0027\u0027\u0027"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"class cephCRUSH():"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    # This list stores the ceph crush hierarchy retrieved from the"},{"line_number":39,"context_line":"    # ceph osd crush tree -f json-pretty"},{"line_number":40,"context_line":"    crushHierarchy \u003d []"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    # Failure Domains - currently our crush map uses these type IDs - osd,"}],"source_content_type":"text/x-smarty","patch_set":18,"id":"3f79a3b5_0674b1fd","line":39,"range":{"start_line":37,"start_character":0,"end_line":39,"end_character":40},"in_reply_to":"3f79a3b5_682eabac","updated":"2018-08-29 16:58:14.000000000","message":"Done","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"fb0a4dad93476625cff8eac416a7add3e43800e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":19,"id":"3f79a3b5_674a38ad","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":18},"updated":"2018-08-29 20:05:50.000000000","message":"i still think this should be python2.7\n\n$ docker run -it --rm python:2.7 sh -c \u0027ls -l /usr/bin/python* | grep -v ^l\u0027\n-rwxr-xr-x 1 root root 3779512 Nov 24  2017 /usr/bin/python2.7\n-rwxr-xr-x 2 root root 4747120 Jan 19  2017 /usr/bin/python3.5\n-rwxr-xr-x 2 root root 4747120 Jan 19  2017 /usr/bin/python3.5m","commit_id":"34a7975c1c53733886c32f373c82c802e6cf0d5a"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"e9ff88f24007561ae44d68b4b35bada02eb06cb2","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python2"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import subprocess"},{"line_number":4,"context_line":"import json"}],"source_content_type":"text/x-smarty","patch_set":19,"id":"3f79a3b5_344a1783","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":18},"in_reply_to":"3f79a3b5_674a38ad","updated":"2018-08-30 12:55:58.000000000","message":"I\u0027m fine changing it to use /usr/bin/python2.7.  I also looked at the exsiting *.py.tpl files in the openstack-helm/ceph-* directories.  Majority uses /usr/bin/python2 and some uses /usr/bin/python.  Both of these are soft symbolic links pointing to /usr/bin/python2.7 binary.","commit_id":"34a7975c1c53733886c32f373c82c802e6cf0d5a"}],"ceph-mon/templates/cronjob-checkPGs.yaml":[{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"2fd980b84adbce99aeecdff0df12033cb97b3dc2","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  jobTemplate:"},{"line_number":34,"context_line":"    metadata:"},{"line_number":35,"context_line":"      labels:"},{"line_number":36,"context_line":"{{ tuple $envAll \"ceph\" \"pool-checkpgs\" | include \"helm-toolkit.snippets.kubernetes_metadata_labels\" | indent 8 }}"},{"line_number":37,"context_line":"    spec:"},{"line_number":38,"context_line":"      template:"},{"line_number":39,"context_line":"        spec:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_3ee01f26","line":36,"range":{"start_line":36,"start_character":24,"end_line":36,"end_character":39},"updated":"2018-08-14 18:35:57.000000000","message":"inconsistent label name, line 21 have pool_checkpgs","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"5caca47b191e4dc2fd9bc3310822959c016ccc9d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"  jobTemplate:"},{"line_number":34,"context_line":"    metadata:"},{"line_number":35,"context_line":"      labels:"},{"line_number":36,"context_line":"{{ tuple $envAll \"ceph\" \"pool-checkpgs\" | include \"helm-toolkit.snippets.kubernetes_metadata_labels\" | indent 8 }}"},{"line_number":37,"context_line":"    spec:"},{"line_number":38,"context_line":"      template:"},{"line_number":39,"context_line":"        spec:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_7ed8d7ed","line":36,"range":{"start_line":36,"start_character":24,"end_line":36,"end_character":39},"in_reply_to":"3f79a3b5_3ee01f26","updated":"2018-08-14 19:07:07.000000000","message":"I think the idea here is that we want to end up with the string \"ceph-pool-checkpgs\".  So, the \u0027-\u0027 (hyphen) was intended.","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"701f2f9a3d8b5fcbbaeff5e16a93ed2aa2f2878d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        spec:"},{"line_number":40,"context_line":"          containers:"},{"line_number":41,"context_line":"          - name: {{ $serviceAccountName }}"},{"line_number":42,"context_line":"            image: busybox"},{"line_number":43,"context_line":"            args:"},{"line_number":44,"context_line":"            - /bin/bash"},{"line_number":45,"context_line":"            - monPod\u003d$(kubectl get pods --namespace\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_41a5fe45","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":26},"updated":"2018-08-14 19:47:02.000000000","message":"Busybox dont have bash, my test is failing because of this. it is better to use ceph-config-helper docker image","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"476b463dba11e715b4085d3fc93d01eb9087b594","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        spec:"},{"line_number":40,"context_line":"          containers:"},{"line_number":41,"context_line":"          - name: {{ $serviceAccountName }}"},{"line_number":42,"context_line":"            image: busybox"},{"line_number":43,"context_line":"            args:"},{"line_number":44,"context_line":"            - /bin/bash"},{"line_number":45,"context_line":"            - monPod\u003d$(kubectl get pods --namespace\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_64c848a5","line":42,"range":{"start_line":42,"start_character":11,"end_line":42,"end_character":26},"in_reply_to":"3f79a3b5_41a5fe45","updated":"2018-08-14 19:58:28.000000000","message":"I tested this in mtn16b.2 site and it was working with simple date and echo commands.  I can switch to a more formal image we use.","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"2fd980b84adbce99aeecdff0df12033cb97b3dc2","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            image: busybox"},{"line_number":43,"context_line":"            args:"},{"line_number":44,"context_line":"            - /bin/bash"},{"line_number":45,"context_line":"            - monPod\u003d$(kubectl get pods --namespace\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":46,"context_line":"            - kubectl exec -t $monPod --namespace\u003dceph -- /tmp/utils-checkPGs.py All 2\u003e/dev/null"},{"line_number":47,"context_line":"          restartPolicy: Never"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_be718faa","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":96},"updated":"2018-08-14 18:35:57.000000000","message":"do we need to run this on all the 3 mon pods?","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"701f2f9a3d8b5fcbbaeff5e16a93ed2aa2f2878d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            image: busybox"},{"line_number":43,"context_line":"            args:"},{"line_number":44,"context_line":"            - /bin/bash"},{"line_number":45,"context_line":"            - monPod\u003d$(kubectl get pods --namespace\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":46,"context_line":"            - kubectl exec -t $monPod --namespace\u003dceph -- /tmp/utils-checkPGs.py All 2\u003e/dev/null"},{"line_number":47,"context_line":"          restartPolicy: Never"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_01c2a659","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":96},"in_reply_to":"3f79a3b5_1e76833f","updated":"2018-08-14 19:47:02.000000000","message":"Done","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"5caca47b191e4dc2fd9bc3310822959c016ccc9d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            image: busybox"},{"line_number":43,"context_line":"            args:"},{"line_number":44,"context_line":"            - /bin/bash"},{"line_number":45,"context_line":"            - monPod\u003d$(kubectl get pods --namespace\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":46,"context_line":"            - kubectl exec -t $monPod --namespace\u003dceph -- /tmp/utils-checkPGs.py All 2\u003e/dev/null"},{"line_number":47,"context_line":"          restartPolicy: Never"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_1e76833f","line":46,"range":{"start_line":45,"start_character":0,"end_line":46,"end_character":96},"in_reply_to":"3f79a3b5_be718faa","updated":"2018-08-14 19:07:07.000000000","message":"You see .items[0].metadata.name at the end of this line. It only pick the first mon and run the command there.","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":28372,"name":"chinasubbareddy mallavarapu","email":"cr3938@att.com","username":"chinasubbareddy"},"change_message_id":"30f6f078de5991626e8403b8d27163c1612f79cb","unresolved":false,"context_lines":[{"line_number":42,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 12 }}"},{"line_number":43,"context_line":"            command:"},{"line_number":44,"context_line":"              - /bin/bash"},{"line_number":45,"context_line":"              - monPod\u003d$(/usr/local/bin/kubectl get pods --namespace\u003dceph --selector\u003dapplication\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":46,"context_line":"              - /usr/local/bin/kubectl exec -t $monPod --namespace\u003dceph -- /tmp/utils-checkPGs.py All 2\u003e/dev/null"},{"line_number":47,"context_line":"          restartPolicy: Never"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3f79a3b5_8e91cf49","line":45,"range":{"start_line":45,"start_character":69,"end_line":45,"end_character":73},"updated":"2018-08-28 16:50:58.000000000","message":"better to read this namespace name from  values.yaml? if i have two ceph clusters running on two different namespaces , this will help us","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"ff22bb32a43f9bf7153e22bc218a38a66056ed4a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 12 }}"},{"line_number":43,"context_line":"            command:"},{"line_number":44,"context_line":"              - /bin/bash"},{"line_number":45,"context_line":"              - monPod\u003d$(/usr/local/bin/kubectl get pods --namespace\u003dceph --selector\u003dapplication\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":46,"context_line":"              - /usr/local/bin/kubectl exec -t $monPod --namespace\u003dceph -- /tmp/utils-checkPGs.py All 2\u003e/dev/null"},{"line_number":47,"context_line":"          restartPolicy: Never"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3f79a3b5_7ce734ae","line":45,"range":{"start_line":45,"start_character":69,"end_line":45,"end_character":73},"in_reply_to":"3f79a3b5_8e91cf49","updated":"2018-08-29 16:58:14.000000000","message":"I did not find suitable namespace object in ceph-mon/values.yaml.  I can use $envAll.Release.namespace","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"},{"author":{"_account_id":28372,"name":"chinasubbareddy mallavarapu","email":"cr3938@att.com","username":"chinasubbareddy"},"change_message_id":"30f6f078de5991626e8403b8d27163c1612f79cb","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            command:"},{"line_number":44,"context_line":"              - /bin/bash"},{"line_number":45,"context_line":"              - monPod\u003d$(/usr/local/bin/kubectl get pods --namespace\u003dceph --selector\u003dapplication\u003dceph --selector\u003dcomponent\u003dmon --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":46,"context_line":"              - /usr/local/bin/kubectl exec -t $monPod --namespace\u003dceph -- /tmp/utils-checkPGs.py All 2\u003e/dev/null"},{"line_number":47,"context_line":"          restartPolicy: Never"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"3f79a3b5_4e9bb765","line":46,"range":{"start_line":46,"start_character":67,"end_line":46,"end_character":71},"updated":"2018-08-28 16:50:58.000000000","message":"same like above","commit_id":"89148b55e778cf8c0f20277bc555552f8796f39b"}],"ceph-mon/values.yaml":[{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"2fd980b84adbce99aeecdff0df12033cb97b3dc2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      - dep_check"},{"line_number":38,"context_line":"      - image_repo_sync"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"labels:"},{"line_number":41,"context_line":"  job:"},{"line_number":42,"context_line":"    node_selector_key: openstack-control-plane"},{"line_number":43,"context_line":"    node_selector_value: enabled"},{"line_number":44,"context_line":"  mon:"},{"line_number":45,"context_line":"    node_selector_key: ceph-mon"},{"line_number":46,"context_line":"    node_selector_value: enabled"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"pod:"},{"line_number":49,"context_line":"  dns_policy: \"ClusterFirstWithHostNet\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_9eca939e","line":46,"range":{"start_line":40,"start_character":0,"end_line":46,"end_character":32},"updated":"2018-08-14 18:35:57.000000000","message":"eval label is missing here","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"701f2f9a3d8b5fcbbaeff5e16a93ed2aa2f2878d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      - dep_check"},{"line_number":38,"context_line":"      - image_repo_sync"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"labels:"},{"line_number":41,"context_line":"  job:"},{"line_number":42,"context_line":"    node_selector_key: openstack-control-plane"},{"line_number":43,"context_line":"    node_selector_value: enabled"},{"line_number":44,"context_line":"  mon:"},{"line_number":45,"context_line":"    node_selector_key: ceph-mon"},{"line_number":46,"context_line":"    node_selector_value: enabled"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"pod:"},{"line_number":49,"context_line":"  dns_policy: \"ClusterFirstWithHostNet\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_e1a3eab0","line":46,"range":{"start_line":40,"start_character":0,"end_line":46,"end_character":32},"in_reply_to":"3f79a3b5_61435a43","updated":"2018-08-14 19:47:02.000000000","message":"Done","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"5caca47b191e4dc2fd9bc3310822959c016ccc9d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      - dep_check"},{"line_number":38,"context_line":"      - image_repo_sync"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"labels:"},{"line_number":41,"context_line":"  job:"},{"line_number":42,"context_line":"    node_selector_key: openstack-control-plane"},{"line_number":43,"context_line":"    node_selector_value: enabled"},{"line_number":44,"context_line":"  mon:"},{"line_number":45,"context_line":"    node_selector_key: ceph-mon"},{"line_number":46,"context_line":"    node_selector_value: enabled"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"pod:"},{"line_number":49,"context_line":"  dns_policy: \"ClusterFirstWithHostNet\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_61435a43","line":46,"range":{"start_line":40,"start_character":0,"end_line":46,"end_character":32},"in_reply_to":"3f79a3b5_9eca939e","updated":"2018-08-14 19:07:07.000000000","message":"In the cronjob-checkPGs.yaml file, the label was constructed by concatenating the \"ceph\" and \"pool-checkpgs\".  The code did not reach into the values.yaml file for the label.","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":22713,"name":"Sreejith Punnapuzha","email":"Sreejith.Punnapuzha@outlook.com","username":"sreejith"},"change_message_id":"2fd980b84adbce99aeecdff0df12033cb97b3dc2","unresolved":false,"context_lines":[{"line_number":336,"context_line":"  service_mon: true"},{"line_number":337,"context_line":"  service_mon_discovery: true"},{"line_number":338,"context_line":"  job_storage_admin_keys: true"},{"line_number":339,"context_line":"  cronjob_checkPGs: true"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_58341293","line":339,"range":{"start_line":339,"start_character":2,"end_line":339,"end_character":24},"updated":"2018-08-14 18:35:57.000000000","message":"This label have to be added to the setup script to deploy this cron job on the node","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"5caca47b191e4dc2fd9bc3310822959c016ccc9d","unresolved":false,"context_lines":[{"line_number":336,"context_line":"  service_mon: true"},{"line_number":337,"context_line":"  service_mon_discovery: true"},{"line_number":338,"context_line":"  job_storage_admin_keys: true"},{"line_number":339,"context_line":"  cronjob_checkPGs: true"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3f79a3b5_41441e47","line":339,"range":{"start_line":339,"start_character":2,"end_line":339,"end_character":24},"in_reply_to":"3f79a3b5_58341293","updated":"2018-08-14 19:07:07.000000000","message":"Can you list the setup script?  Thanks.","commit_id":"739cc6830c1f3879d9003d1a4bb18636ee8048d1"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"fb0a4dad93476625cff8eac416a7add3e43800e5","unresolved":false,"context_lines":[{"line_number":117,"context_line":"jobs:"},{"line_number":118,"context_line":"  pool_checkPGs:"},{"line_number":119,"context_line":"    # Execute monthly on the 1st at 00:01 AM"},{"line_number":120,"context_line":"    cron: \"1 0 1 * *\""},{"line_number":121,"context_line":"    history:"},{"line_number":122,"context_line":"      # Number of successful job to keep"},{"line_number":123,"context_line":"      successJob: 1"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3f79a3b5_27ca001a","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":21},"updated":"2018-08-29 20:05:50.000000000","message":"i wonder if this shouldn\u0027t be something \u0027more random\u0027\n\nthere was (is?) a time where cronjobs would all run at the same time causing system weirdness\n\n(cron.daily and cron.hourly usually randomize this to avoid problems)","commit_id":"34a7975c1c53733886c32f373c82c802e6cf0d5a"}],"doc/source/testing/ceph-resiliency/failure-domain.rst":[{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"e50950c38c47f69b485039fefda283ce3ba7dc26","unresolved":false,"context_lines":[{"line_number":92,"context_line":""},{"line_number":93,"context_line":"::"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  # ceph osd crush rule ls"},{"line_number":96,"context_line":"  replicated_host"},{"line_number":97,"context_line":"  # ceph osd crush rule dump replicated_host"},{"line_number":98,"context_line":"  {"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f7c97a3_13979e9e","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":26},"updated":"2018-07-27 19:57:08.000000000","message":"There are ceph commands here but some things missing, such as:\n1. Which node should be SSH\u0027d to? (presumably Genesis)\n2. Finding the right pods and exec\u0027ing into the right pod(s) from this node to run these commands\n3. Which credetials for ceph CLI should be used and where they are found (if they are not already loaded by default in the container shell environment)","commit_id":"5397257a97f6ca684fe72bfad8152dd6a571d295"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"5cee3bb55736fa3fa2307b1d1ad337180a1026aa","unresolved":false,"context_lines":[{"line_number":385,"context_line":"  . . ."},{"line_number":386,"context_line":"  # buckets"},{"line_number":387,"context_line":"  host host1 {"},{"line_number":388,"context_line":"  \tid -2\t\t# do not change unnecessarily"},{"line_number":389,"context_line":"  \tid -3 class hdd\t\t# do not change unnecessarily"},{"line_number":390,"context_line":"  \t# weight 13.080"},{"line_number":391,"context_line":"  \talg straw2"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5f7c97a3_1301deb5","line":388,"range":{"start_line":388,"start_character":8,"end_line":388,"end_character":9},"updated":"2018-07-27 20:05:57.000000000","message":"It looks like there are some extraneous characters here in this section","commit_id":"5397257a97f6ca684fe72bfad8152dd6a571d295"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Controller Node"},{"line_number":48,"context_line":"---------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"To gain access to the kubernetes controller node, use a ssh client to login remotely.  Your id_rsa.pub (generated through the ssh-keygen) should be in your ~/.ssh/authorized_keys on the controller node.  You also need to set up your sudo priviledge to execute commands as user root."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"::"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_46344edf","line":50,"range":{"start_line":50,"start_character":87,"end_line":50,"end_character":91},"updated":"2018-07-30 20:09:34.000000000","message":"I think it\u0027s fine just to say which node to SSH to and draw the line there. (Our downstream environments will not support ssh key-based login in any event.) Or, include a proviso such as: \"For environments setup for SSH key-based access, ...\"","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Controller Node"},{"line_number":48,"context_line":"---------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"To gain access to the kubernetes controller node, use a ssh client to login remotely.  Your id_rsa.pub (generated through the ssh-keygen) should be in your ~/.ssh/authorized_keys on the controller node.  You also need to set up your sudo priviledge to execute commands as user root."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"::"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_ebf44358","line":50,"range":{"start_line":50,"start_character":22,"end_line":50,"end_character":48},"updated":"2018-07-30 20:09:34.000000000","message":"I think we should probably define this (i.e. the node with working kubectl for this cluster), so there\u0027s not confusion between controller node in the context you use here vs the controller node context we use in downstream deployment docs.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Controller Node"},{"line_number":48,"context_line":"---------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"To gain access to the kubernetes controller node, use a ssh client to login remotely.  Your id_rsa.pub (generated through the ssh-keygen) should be in your ~/.ssh/authorized_keys on the controller node.  You also need to set up your sudo priviledge to execute commands as user root."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"::"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_207255e5","line":50,"range":{"start_line":50,"start_character":22,"end_line":50,"end_character":48},"in_reply_to":"5f7c97a3_ebf44358","updated":"2018-07-31 01:37:42.000000000","message":"Done","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":52,"context_line":"::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  [controller]$ sudo -i"},{"line_number":55,"context_line":"  [controller]# usermod -aG sudo \u003cyour-linux-login\u003e"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Kubernetes Pods"},{"line_number":58,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_0b4e5f8f","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":51},"updated":"2018-07-30 20:09:34.000000000","message":"I don\u0027t think we should extend this into the realm of user management (which won\u0027t apply anyway for downstream UAM managed user access). I think it\u0027s fine just to switch to sudo here, with the understanding that subsequent commands are run in this root session. Alternatively, you could remove both lines and preface each of the following commands with sudo.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":52,"context_line":"::"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  [controller]$ sudo -i"},{"line_number":55,"context_line":"  [controller]# usermod -aG sudo \u003cyour-linux-login\u003e"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Kubernetes Pods"},{"line_number":58,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_43df5b37","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":51},"in_reply_to":"5f7c97a3_0b4e5f8f","updated":"2018-07-31 01:37:42.000000000","message":"Done","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  [controller]# kubectl get pods -n ceph --selector component\u003dmon"},{"line_number":65,"context_line":"  NAME             READY     STATUS    RESTARTS   AGE"},{"line_number":66,"context_line":"  ceph-mon-85mlt   2/2       Running   0          9d"},{"line_number":67,"context_line":"  ceph-mon-9mpnb   2/2       Running   0          9d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_a671a2ad","line":64,"range":{"start_line":64,"start_character":33,"end_line":64,"end_character":40},"updated":"2018-07-30 20:09:34.000000000","message":"I would suggest using `all-namespaces` in all of the kubectl commands, so it will work for whichever namespace(s) the user has configured the chart for.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"801c691ad91295f33d2c4baa80e0c109e6fe3efa","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  [controller]# kubectl get pods -n ceph --selector component\u003dmon"},{"line_number":65,"context_line":"  NAME             READY     STATUS    RESTARTS   AGE"},{"line_number":66,"context_line":"  ceph-mon-85mlt   2/2       Running   0          9d"},{"line_number":67,"context_line":"  ceph-mon-9mpnb   2/2       Running   0          9d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_d4dd636e","line":64,"range":{"start_line":64,"start_character":33,"end_line":64,"end_character":40},"in_reply_to":"5f7c97a3_0393a35a","updated":"2018-07-31 04:42:30.000000000","message":"Agree, I am good with leaving the ceph namespace.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"::"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"  [controller]# kubectl get pods -n ceph --selector component\u003dmon"},{"line_number":65,"context_line":"  NAME             READY     STATUS    RESTARTS   AGE"},{"line_number":66,"context_line":"  ceph-mon-85mlt   2/2       Running   0          9d"},{"line_number":67,"context_line":"  ceph-mon-9mpnb   2/2       Running   0          9d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_0393a35a","line":64,"range":{"start_line":64,"start_character":33,"end_line":64,"end_character":40},"in_reply_to":"5f7c97a3_a671a2ad","updated":"2018-07-31 01:37:42.000000000","message":"--all-namespaces lists all the pods.  Use grep command to filter for the ceph monitor pods.  The moinitor\u0027s pods prefix name like \"ceph-mon\" can also be user-defined.  So, we are not gaining much.  Also, in the beginning section, it was stated that a namespace named ceph was created for the ceph related pods.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  ceph-osd-default-166a1044-lz6x6   2/2       Running   0          9d"},{"line_number":82,"context_line":"  . . ."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"To show that you are not executing in the context of a pod."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"::"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_66514ad5","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":59},"updated":"2018-07-30 20:09:34.000000000","message":"By itself this is a bit confusing:\n1. Suggest adding some more context - e.g., \"If kubectl is not found as you expect, ensure that you are not executing the commands in the pod context\" so it is clear that this is a troubleshooting suggestion / sanity check.\n2. Should say what about the output indicates that to me that I\u0027m not running in the pod - e.g., absence of `/kubepods/...` in output","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":81,"context_line":"  ceph-osd-default-166a1044-lz6x6   2/2       Running   0          9d"},{"line_number":82,"context_line":"  . . ."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"To show that you are not executing in the context of a pod."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"::"},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_43f19bdd","line":84,"range":{"start_line":84,"start_character":0,"end_line":84,"end_character":59},"in_reply_to":"5f7c97a3_66514ad5","updated":"2018-07-31 01:37:42.000000000","message":"Done","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    io:"},{"line_number":121,"context_line":"      client:   981 kB/s wr, 0 op/s rd, 84 op/s wr"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"To show that you are executing in the context of a pod."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"::"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_a600c2b2","line":123,"range":{"start_line":123,"start_character":0,"end_line":123,"end_character":55},"updated":"2018-07-30 20:09:34.000000000","message":"As above","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  [ceph-mon]# exit"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"To execute an ad-hoc command in a pod."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"::"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_e6e79a0f","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":38},"updated":"2018-07-30 20:09:34.000000000","message":"Suggest alternate phrasing - \"It is also possible to run ceph commands via kubectl exec:\"","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  [ceph-mon]# exit"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"To execute an ad-hoc command in a pod."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"::"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_ecfe9905","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":38},"in_reply_to":"5f7c97a3_e6e79a0f","updated":"2018-07-31 01:37:42.000000000","message":"Done","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"::"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  [controller]# kubectl exec ceph-mon-9mpnb -n ceph -- date"},{"line_number":142,"context_line":"  Mon Jul 30 14:07:38 UTC 2018"},{"line_number":143,"context_line":"  [controller]# cat /proc/self/cgroup"},{"line_number":144,"context_line":"  11:blkio:/user.slice"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_a685220c","line":141,"range":{"start_line":141,"start_character":55,"end_line":141,"end_character":59},"updated":"2018-07-30 20:09:34.000000000","message":"suggest replacing `date` with `ceph status` to keep consistent with the example in this section. I don\u0027t think it\u0027s necessary to repeat the full output, an elipsis would be an adequate substitution.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"::"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  [controller]# kubectl exec ceph-mon-9mpnb -n ceph -- date"},{"line_number":142,"context_line":"  Mon Jul 30 14:07:38 UTC 2018"},{"line_number":143,"context_line":"  [controller]# cat /proc/self/cgroup"},{"line_number":144,"context_line":"  11:blkio:/user.slice"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_ac5d017d","line":141,"range":{"start_line":141,"start_character":55,"end_line":141,"end_character":59},"in_reply_to":"5f7c97a3_a685220c","updated":"2018-07-31 01:37:42.000000000","message":"Done","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":26686,"name":"Craig Anderson","email":"craig.cigar.anderson@gmail.com","username":"canderson"},"change_message_id":"6239342158e0135792958d07feb941a775c937b4","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  [controller]# kubectl exec ceph-mon-9mpnb -n ceph -- date"},{"line_number":142,"context_line":"  Mon Jul 30 14:07:38 UTC 2018"},{"line_number":143,"context_line":"  [controller]# cat /proc/self/cgroup"},{"line_number":144,"context_line":"  11:blkio:/user.slice"},{"line_number":145,"context_line":"  10:freezer:/"},{"line_number":146,"context_line":"  9:hugetlb:/"},{"line_number":147,"context_line":"  . . ."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_a69c4270","line":146,"range":{"start_line":143,"start_character":0,"end_line":146,"end_character":13},"updated":"2018-07-30 20:09:34.000000000","message":"I think you can safely exclude this, since you have the steps for verifying pod vs non-pod context above. Or, you could take the steps for pod and non-pod validation and put them in their own heading, and link/anchor to that heading where needed.","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":28704,"name":"Al Lau","email":"al070e@att.com","username":"al070e"},"change_message_id":"7274519d9164eda549006486d71cc4f87dbc1e0b","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"  [controller]# kubectl exec ceph-mon-9mpnb -n ceph -- date"},{"line_number":142,"context_line":"  Mon Jul 30 14:07:38 UTC 2018"},{"line_number":143,"context_line":"  [controller]# cat /proc/self/cgroup"},{"line_number":144,"context_line":"  11:blkio:/user.slice"},{"line_number":145,"context_line":"  10:freezer:/"},{"line_number":146,"context_line":"  9:hugetlb:/"},{"line_number":147,"context_line":"  . . ."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_8ccda530","line":146,"range":{"start_line":143,"start_character":0,"end_line":146,"end_character":13},"in_reply_to":"5f7c97a3_a69c4270","updated":"2018-07-31 01:37:42.000000000","message":"Done","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"},{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"d47112575b80ade2f4993eb5a7d0b0e30afd0023","unresolved":false,"context_lines":[{"line_number":966,"context_line":""},{"line_number":967,"context_line":"  root@host5:/# ceph osd pool create cmTestPool 2048 2048 replicated replicated_rack"},{"line_number":968,"context_line":"  pool \u0027cmTestPool\u0027 created"},{"line_number":969,"context_line":"  root@host5:/# /tmp/checkPGs cmTestPool"},{"line_number":970,"context_line":"  Checking PGs in pool cmTestPool ... Passed"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_2646f223","line":969,"updated":"2018-07-30 19:59:07.000000000","message":"For me, the command is being mounted in as\n/tmp/utils-checkPGs.py\nrather than\n/tmp/checkPGs","commit_id":"249d74bd5d5b8e6b584be8eba6f0fb2f9714a49f"}],"doc/source/testing/ceph-resiliency/index.rst":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"2dc42382c60fd0e5d947c1ced65d2b27804f25ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"3f79a3b5_20d4b5bc","line":14,"updated":"2018-08-10 21:32:07.000000000","message":"tws","commit_id":"8848e3903c1ccd7a559eaff866a88d9159a968dc"}]}
