)]}'
{"ceph-client/templates/bin/tests/_ceph-cluster-status-test.sh.tpl":[{"author":{"_account_id":29053,"name":"Jean-Charles Lopez","email":"jl970p@att.com","username":"vcppds7878"},"change_message_id":"63bea89ff0ec3bf68adf1a4eb522058049b85a34","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"ceph_health_status\u003d$(echo $ceph_status_output | jq \u0027.status\u0027)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"if [ \"x$ceph_health_status\" \u003d\u003d \"xHEALTHY_OK\" ]; then"},{"line_number":28,"context_line":"  exit 0"},{"line_number":29,"context_line":"else"},{"line_number":30,"context_line":"  exit 1"}],"source_content_type":"text/x-smarty","patch_set":12,"id":"3f79a3b5_7a5db4ea","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":52},"updated":"2018-09-13 23:02:45.000000000","message":"Typo here, should be :\nf [ \"x$ceph_health_status\" \u003d\u003d \"xHEALTH_OK\" ]; then\n\nnot \n\nf [ \"x$ceph_health_status\" \u003d\u003d \"xHEALTHY_OK\" ]; then","commit_id":"7b8485d9ca80f9278d80b788921d6742faa1aa01"},{"author":{"_account_id":29053,"name":"Jean-Charles Lopez","email":"jl970p@att.com","username":"vcppds7878"},"change_message_id":"7c041c896c14966c8f6fdc342e4f93469348ce7e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"ceph_health_status\u003d$(echo $ceph_status_output | jq \u0027.status\u0027)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"if [ \"x$ceph_health_status\" \u003d\u003d \"xHEALTHY_OK\" ]; then"},{"line_number":28,"context_line":"  exit 0"},{"line_number":29,"context_line":"else"},{"line_number":30,"context_line":"  exit 1"}],"source_content_type":"text/x-smarty","patch_set":12,"id":"3f79a3b5_4304947e","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":52},"in_reply_to":"3f79a3b5_7a5db4ea","updated":"2018-09-14 02:45:01.000000000","message":"\u003e Typo here, should be :\n \u003e f [ \"x$ceph_health_status\" \u003d\u003d \"xHEALTH_OK\" ]; then\n \u003e \n \u003e not\n \u003e \n \u003e f [ \"x$ceph_health_status\" \u003d\u003d \"xHEALTHY_OK\" ]; then\n\nActually found another problem on top of the typo on HEALTH_OK during my testing and putting together the other tests for this task. The output of the command you run to extract the status actually contain double quotes and make the test fail. I fixed it in my commit.","commit_id":"7b8485d9ca80f9278d80b788921d6742faa1aa01"},{"author":{"_account_id":29053,"name":"Jean-Charles Lopez","email":"jl970p@att.com","username":"vcppds7878"},"change_message_id":"1df6ec616f056d62e9e4c975b813560e491c7d8c","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"monPod\u003d$(kubectl get pods --namespace\u003d${CEPH_DEPLOYMENT_NAMESPACE} --selector\u003dapplication\u003dceph --selector\u003dcomponent\u003dmon --field-selector\u003dstatus.phase\u003dRunning --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"ceph_status_output\u003d$(kubectl exec -t ${monPod} --namespace\u003d${CEPH_DEPLOYMENT_NAMESPACE} -- ceph -s -f json | jq \u0027.health\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"OK_STATUS\u003d\u0027\"HEALTH_OK\"\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ceph_health_status\u003d$(echo $ceph_status_output | jq \u0027.status\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"if [ \"x${ceph_health_status}\" \u003d\u003d \"x${OK_STATUS}\" ]; then"},{"line_number":30,"context_line":"  echo \"Status checks OK\""}],"source_content_type":"text/x-smarty","patch_set":39,"id":"3f79a3b5_acbdfb03","line":27,"range":{"start_line":23,"start_character":0,"end_line":27,"end_character":61},"updated":"2018-10-25 21:47:58.000000000","message":"Why not replace the top command with\nceph -s -f json | jq -r \u0027.health[\"status\"]\u0027\n\nAnd then in the if statement simply test for xHEALTH_OK\n\nI know I modified this part at some point but revisiting it and making it simpler would probably help.","commit_id":"a8abfba4bb4876166203aac1130b874e7591b166"},{"author":{"_account_id":29053,"name":"Jean-Charles Lopez","email":"jl970p@att.com","username":"vcppds7878"},"change_message_id":"1df6ec616f056d62e9e4c975b813560e491c7d8c","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ceph_health_status\u003d$(echo $ceph_status_output | jq \u0027.status\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"if [ \"x${ceph_health_status}\" \u003d\u003d \"x${OK_STATUS}\" ]; then"},{"line_number":30,"context_line":"  echo \"Status checks OK\""},{"line_number":31,"context_line":"  exit 0"},{"line_number":32,"context_line":"else"}],"source_content_type":"text/x-smarty","patch_set":39,"id":"3f79a3b5_4c4d473a","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":56},"updated":"2018-10-25 21:47:58.000000000","message":"Would then become\nif [ \"x${ceph_health_status}\" \u003d\u003d \"xHEALTH_OK\" ]; then","commit_id":"a8abfba4bb4876166203aac1130b874e7591b166"},{"author":{"_account_id":28372,"name":"chinasubbareddy mallavarapu","email":"cr3938@att.com","username":"chinasubbareddy"},"change_message_id":"cbb97a6ad81346d3805f2d52e0a6ce7ea7319cee","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ceph_health_status\u003d$(echo $ceph_status_output | jq \u0027.status\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"if [ \"x${ceph_health_status}\" \u003d\u003d \"x${OK_STATUS}\" ]; then"},{"line_number":30,"context_line":"  echo \"Status checks OK\""},{"line_number":31,"context_line":"  exit 0"},{"line_number":32,"context_line":"else"}],"source_content_type":"text/x-smarty","patch_set":39,"id":"3f79a3b5_a6f0b967","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":46},"updated":"2018-10-25 21:23:04.000000000","message":"what if cluster is re balancing ? s is it better to wait for sometime  for  cluster to become healthy?","commit_id":"a8abfba4bb4876166203aac1130b874e7591b166"},{"author":{"_account_id":29053,"name":"Jean-Charles Lopez","email":"jl970p@att.com","username":"vcppds7878"},"change_message_id":"1df6ec616f056d62e9e4c975b813560e491c7d8c","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"ceph_health_status\u003d$(echo $ceph_status_output | jq \u0027.status\u0027)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"if [ \"x${ceph_health_status}\" \u003d\u003d \"x${OK_STATUS}\" ]; then"},{"line_number":30,"context_line":"  echo \"Status checks OK\""},{"line_number":31,"context_line":"  exit 0"},{"line_number":32,"context_line":"else"}],"source_content_type":"text/x-smarty","patch_set":39,"id":"3f79a3b5_8c94bf8d","line":29,"range":{"start_line":29,"start_character":37,"end_line":29,"end_character":46},"in_reply_to":"3f79a3b5_a6f0b967","updated":"2018-10-25 21:47:58.000000000","message":"Although that is exactly what we want to test. If at this point the cluster is not HEALTH_OK then the operator/deployer needs to be aware of it so he can trigger an investigation.","commit_id":"a8abfba4bb4876166203aac1130b874e7591b166"}],"ceph-client/templates/bin/tests/_ceph-mgr-validation-script.py.tpl":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"53d25f94ed00f4e12e68a1cd5793727ede9d16d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json, subprocess"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d 0"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    print \"We are checking the cluster for \"+str(sys.argv[2])+\" MGRs.\""},{"line_number":8,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":9,"context_line":"    mgrs \u003d json.load(f)"},{"line_number":10,"context_line":"    available \u003d mgrs[\"available\"]"},{"line_number":11,"context_line":"    active_name \u003d mgrs[\"active_name\"]"},{"line_number":12,"context_line":"    standbys \u003d mgrs[\"standbys\"]"},{"line_number":13,"context_line":"    standbys_up \u003d 0"},{"line_number":14,"context_line":"    standbys_name \u003d \"\""},{"line_number":15,"context_line":"    if (available \u003d\u003d True):"},{"line_number":16,"context_line":"        for s in standbys:"},{"line_number":17,"context_line":"            standbys_up +\u003d 1"},{"line_number":18,"context_line":"            standbys_name \u003d s[\"name\"]"},{"line_number":19,"context_line":"        if (standbys_up):"},{"line_number":20,"context_line":"            print \"Managers up and running. Active is \"+active_name+\" and has at least one standby Manager running on \"+standbys_name"},{"line_number":21,"context_line":"        else:"},{"line_number":22,"context_line":"            print \"One Manager up and running. Active is \"+active_name+\" but does NOT have at least one standby Manager\""},{"line_number":23,"context_line":"            if (int(sys.argv[2]) \u003d\u003d 1):"},{"line_number":24,"context_line":"                print \"However, we are only looking for 1 active MGR\""},{"line_number":25,"context_line":"                retcode \u003d 0"},{"line_number":26,"context_line":"            else:"},{"line_number":27,"context_line":"                retcode \u003d 1"},{"line_number":28,"context_line":"    else:"},{"line_number":29,"context_line":"       print \"No Manager is up and running.\""},{"line_number":30,"context_line":"       retcode \u003d 2"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_2e06261b","line":32,"range":{"start_line":1,"start_character":0,"end_line":32,"end_character":17},"updated":"2018-11-19 16:19:54.000000000","message":"If we\u0027re just parsing JSON, can we just use a simple jq validation instead of this?","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6a556469f4c8c13b7d88ab54f98693fc23ea993","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json, subprocess"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d 0"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    print \"We are checking the cluster for \"+str(sys.argv[2])+\" MGRs.\""},{"line_number":8,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":9,"context_line":"    mgrs \u003d json.load(f)"},{"line_number":10,"context_line":"    available \u003d mgrs[\"available\"]"},{"line_number":11,"context_line":"    active_name \u003d mgrs[\"active_name\"]"},{"line_number":12,"context_line":"    standbys \u003d mgrs[\"standbys\"]"},{"line_number":13,"context_line":"    standbys_up \u003d 0"},{"line_number":14,"context_line":"    standbys_name \u003d \"\""},{"line_number":15,"context_line":"    if (available \u003d\u003d True):"},{"line_number":16,"context_line":"        for s in standbys:"},{"line_number":17,"context_line":"            standbys_up +\u003d 1"},{"line_number":18,"context_line":"            standbys_name \u003d s[\"name\"]"},{"line_number":19,"context_line":"        if (standbys_up):"},{"line_number":20,"context_line":"            print \"Managers up and running. Active is \"+active_name+\" and has at least one standby Manager running on \"+standbys_name"},{"line_number":21,"context_line":"        else:"},{"line_number":22,"context_line":"            print \"One Manager up and running. Active is \"+active_name+\" but does NOT have at least one standby Manager\""},{"line_number":23,"context_line":"            if (int(sys.argv[2]) \u003d\u003d 1):"},{"line_number":24,"context_line":"                print \"However, we are only looking for 1 active MGR\""},{"line_number":25,"context_line":"                retcode \u003d 0"},{"line_number":26,"context_line":"            else:"},{"line_number":27,"context_line":"                retcode \u003d 1"},{"line_number":28,"context_line":"    else:"},{"line_number":29,"context_line":"       print \"No Manager is up and running.\""},{"line_number":30,"context_line":"       retcode \u003d 2"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_04b5261a","line":32,"range":{"start_line":1,"start_character":0,"end_line":32,"end_character":17},"in_reply_to":"3f79a3b5_2e06261b","updated":"2018-11-21 09:32:54.000000000","message":"Done","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"}],"ceph-client/templates/bin/tests/_ceph-osd-validation-script.py.tpl":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"0346966bb5bd7a1cc87e316d3b8272ecbddbaabb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"3f79a3b5_dca476a6","updated":"2018-10-29 15:48:03.000000000","message":"why is this not in the osd chart?","commit_id":"efc69317a6742e0061a17b269e80cba2c2803870"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b13b5159d74d861ef569ebabc0702af6e93d3f75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"3f79a3b5_28c3e53a","in_reply_to":"3f79a3b5_dca476a6","updated":"2018-10-29 18:22:39.000000000","message":"Moved this and one more test to Ceph-osd chart. Please review latest commit.","commit_id":"efc69317a6742e0061a17b269e80cba2c2803870"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"53d25f94ed00f4e12e68a1cd5793727ede9d16d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json, subprocess"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d 0"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 2):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    numosds\u003dint(sys.argv[2])"},{"line_number":8,"context_line":"    print \"Checking cluster for \"+str(sys.argv[2])+\" OSDs.\""},{"line_number":9,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":10,"context_line":"    osds \u003d json.load(f)"},{"line_number":11,"context_line":"    num \u003d osds[\"num_osds\"]"},{"line_number":12,"context_line":"    up \u003d osds[\"num_up_osds\"]"},{"line_number":13,"context_line":"    crush \u003d osds[\"num_in_osds\"]"},{"line_number":14,"context_line":"    if ((num \u003d\u003d up) and (num \u003d\u003d crush) and (num \u003d\u003d numosds)):"},{"line_number":15,"context_line":"        print \"All OSDs (\" + str(numosds) + \") are in UP and IN status\""},{"line_number":16,"context_line":"    else:"},{"line_number":17,"context_line":"        print \"All OSDs (\" + str(numosds) + \") are NOT in UP and IN status (Exist\u003d\" + str(num) + \" UP\u003d\"+str(up) + \" IN\u003d\"+str(crush) + \")\""},{"line_number":18,"context_line":"        retcode \u003d 1"},{"line_number":19,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_ee0fce29","line":19,"range":{"start_line":1,"start_character":0,"end_line":19,"end_character":17},"updated":"2018-11-19 16:19:54.000000000","message":"ditto","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6a556469f4c8c13b7d88ab54f98693fc23ea993","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json, subprocess"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d 0"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 2):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    numosds\u003dint(sys.argv[2])"},{"line_number":8,"context_line":"    print \"Checking cluster for \"+str(sys.argv[2])+\" OSDs.\""},{"line_number":9,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":10,"context_line":"    osds \u003d json.load(f)"},{"line_number":11,"context_line":"    num \u003d osds[\"num_osds\"]"},{"line_number":12,"context_line":"    up \u003d osds[\"num_up_osds\"]"},{"line_number":13,"context_line":"    crush \u003d osds[\"num_in_osds\"]"},{"line_number":14,"context_line":"    if ((num \u003d\u003d up) and (num \u003d\u003d crush) and (num \u003d\u003d numosds)):"},{"line_number":15,"context_line":"        print \"All OSDs (\" + str(numosds) + \") are in UP and IN status\""},{"line_number":16,"context_line":"    else:"},{"line_number":17,"context_line":"        print \"All OSDs (\" + str(numosds) + \") are NOT in UP and IN status (Exist\u003d\" + str(num) + \" UP\u003d\"+str(up) + \" IN\u003d\"+str(crush) + \")\""},{"line_number":18,"context_line":"        retcode \u003d 1"},{"line_number":19,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_24b2a232","line":19,"range":{"start_line":1,"start_character":0,"end_line":19,"end_character":17},"in_reply_to":"3f79a3b5_ee0fce29","updated":"2018-11-21 09:32:54.000000000","message":"Done","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"}],"ceph-client/templates/bin/tests/_ceph-pg-validation-script.py.tpl":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"retcode \u003d 1"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    #print filename+\" is being processed\""},{"line_number":8,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":9,"context_line":"    pgs \u003d json.load(f)"},{"line_number":10,"context_line":"    num \u003d pgs[\"num_pgs\"]"}],"source_content_type":"text/x-smarty","patch_set":48,"id":"3f79a3b5_86c9a125","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":41},"updated":"2018-10-31 13:12:09.000000000","message":"This should be removed if it\u0027s commented out","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"retcode \u003d 1"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    #print filename+\" is being processed\""},{"line_number":8,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":9,"context_line":"    pgs \u003d json.load(f)"},{"line_number":10,"context_line":"    num \u003d pgs[\"num_pgs\"]"}],"source_content_type":"text/x-smarty","patch_set":48,"id":"3f79a3b5_6943e613","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":41},"in_reply_to":"3f79a3b5_86c9a125","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"53d25f94ed00f4e12e68a1cd5793727ede9d16d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d 1"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":8,"context_line":"    pgs \u003d json.load(f)"},{"line_number":9,"context_line":"    num \u003d pgs[\"num_pgs\"]"},{"line_number":10,"context_line":"    tree \u003d pgs[\"num_pg_by_state\"]"},{"line_number":11,"context_line":"    for s in tree:"},{"line_number":12,"context_line":"        if (s[\"name\"] \u003d\u003d \"active+clean\"):"},{"line_number":13,"context_line":"           if (s[\"num\"] \u003d\u003d num):"},{"line_number":14,"context_line":"              retcode \u003d 0"},{"line_number":15,"context_line":"              print \"Success: All PGs configured (\" + str(num) + \") are in active+clean status\""},{"line_number":16,"context_line":"        else:"},{"line_number":17,"context_line":"           print \"Warning: Found \"+str(s[\"num\"])+\" PGs is \"+s[\"name\"]+\" status\""},{"line_number":18,"context_line":"    if (retcode):"},{"line_number":19,"context_line":"        print \"Error: All PGs configured (\" + str(num) + \") are NOT in active+clean status\""},{"line_number":20,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_8e209a9f","line":20,"range":{"start_line":1,"start_character":0,"end_line":20,"end_character":17},"updated":"2018-11-19 16:19:54.000000000","message":"ditto","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6a556469f4c8c13b7d88ab54f98693fc23ea993","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d 1"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":8,"context_line":"    pgs \u003d json.load(f)"},{"line_number":9,"context_line":"    num \u003d pgs[\"num_pgs\"]"},{"line_number":10,"context_line":"    tree \u003d pgs[\"num_pg_by_state\"]"},{"line_number":11,"context_line":"    for s in tree:"},{"line_number":12,"context_line":"        if (s[\"name\"] \u003d\u003d \"active+clean\"):"},{"line_number":13,"context_line":"           if (s[\"num\"] \u003d\u003d num):"},{"line_number":14,"context_line":"              retcode \u003d 0"},{"line_number":15,"context_line":"              print \"Success: All PGs configured (\" + str(num) + \") are in active+clean status\""},{"line_number":16,"context_line":"        else:"},{"line_number":17,"context_line":"           print \"Warning: Found \"+str(s[\"num\"])+\" PGs is \"+s[\"name\"]+\" status\""},{"line_number":18,"context_line":"    if (retcode):"},{"line_number":19,"context_line":"        print \"Error: All PGs configured (\" + str(num) + \") are NOT in active+clean status\""},{"line_number":20,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_e4358aa8","line":20,"range":{"start_line":1,"start_character":0,"end_line":20,"end_character":17},"in_reply_to":"3f79a3b5_8e209a9f","updated":"2018-11-21 09:32:54.000000000","message":"Done","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"}],"ceph-client/templates/bin/tests/_ceph-pool-failuredomain-validation-script.py.tpl":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"53d25f94ed00f4e12e68a1cd5793727ede9d16d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import subprocess"},{"line_number":3,"context_line":"import json"},{"line_number":4,"context_line":"import sys"},{"line_number":5,"context_line":"import collections"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"retcode \u003d 0"},{"line_number":8,"context_line":"if (len(sys.argv) !\u003d 4):"},{"line_number":9,"context_line":"    print \"Syntax is: ceph-pool-failuredomain-validation.py {expected_crush_rule} {crush_rule_json_file_path} {pool_json_file_path}\""},{"line_number":10,"context_line":"    retcode \u003d 1"},{"line_number":11,"context_line":"else:"},{"line_number":12,"context_line":"    desired \u003d sys.argv[1]"},{"line_number":13,"context_line":"    rulefile \u003d sys.argv[2]"},{"line_number":14,"context_line":"    poolfile \u003d sys.argv[3]"},{"line_number":15,"context_line":"    print \"Checking cluster for crush rule\u003d\"+desired+\" with rule file\u003d\"+rulefile+\" pool file\u003d\"+poolfile"},{"line_number":16,"context_line":"    #"},{"line_number":17,"context_line":"    # Load the CRUSH rules"},{"line_number":18,"context_line":"    #"},{"line_number":19,"context_line":"    r \u003d open(rulefile, \"r\")"},{"line_number":20,"context_line":"    rules \u003d json.load(r)"},{"line_number":21,"context_line":"    #"},{"line_number":22,"context_line":"    # Load the pool details"},{"line_number":23,"context_line":"    #"},{"line_number":24,"context_line":"    p \u003d open(poolfile, \"r\")"},{"line_number":25,"context_line":"    pools \u003d json.load(p)"},{"line_number":26,"context_line":"    #"},{"line_number":27,"context_line":"    # Walk the list of rules in the entire cluster"},{"line_number":28,"context_line":"    #"},{"line_number":29,"context_line":"    ruledetails \u003d {}"},{"line_number":30,"context_line":"    for rule in rules:"},{"line_number":31,"context_line":"        #"},{"line_number":32,"context_line":"        # Lets loop the list of ru;e and examine the rule_id and the rule_name"},{"line_number":33,"context_line":"        # - If rule name matches the one we are checking against store a 1 for that rule_id"},{"line_number":34,"context_line":"        # - If rule name does not match the one we are checking against store a 0 for that rule_id"},{"line_number":35,"context_line":"        #"},{"line_number":36,"context_line":"        print \"Processing rule id \"+str(rule[\"rule_id\"])+\" with name \"+rule[\"rule_name\"]"},{"line_number":37,"context_line":"        if ( rule[\"rule_name\"] \u003d\u003d desired ):"},{"line_number":38,"context_line":"           ruledetails[rule[\"rule_id\"]] \u003d 1"},{"line_number":39,"context_line":"           print \"--\u003e This is the rule we are checking against\""},{"line_number":40,"context_line":"        else:"},{"line_number":41,"context_line":"           ruledetails[rule[\"rule_id\"]] \u003d 0"},{"line_number":42,"context_line":"           print \"--\u003e This is NOT the rule we are checking against\""},{"line_number":43,"context_line":"    #"},{"line_number":44,"context_line":"    # Now that we have parsed the CRUSH rules, let\u0027s iterate the pools to verify the pool have what they need"},{"line_number":45,"context_line":"    #"},{"line_number":46,"context_line":"    print \"Now checking pools to verify crush rule\""},{"line_number":47,"context_line":"    for pool in pools:"},{"line_number":48,"context_line":"        #print \"Checking pool \"+pool[\"pool_name\"]+\" configured with CRUSH rule \"+str(pool[\"crush_rule\"])"},{"line_number":49,"context_line":"        if pool[\"crush_rule\"] in ruledetails:"},{"line_number":50,"context_line":"            if (ruledetails[pool[\"crush_rule\"]] !\u003d 1):"},{"line_number":51,"context_line":"                print \"--\u003e Error : Pool is NOT configured with the correct rule (\"+desired+\")\""},{"line_number":52,"context_line":"                retcode \u003d 1"},{"line_number":53,"context_line":"            else:"},{"line_number":54,"context_line":"                print \"--\u003e Info: Pool is configured with the correct rule (\"+desired+\")\""},{"line_number":55,"context_line":"        else:"},{"line_number":56,"context_line":"            print \"--\u003e Error: Pool configured with an INVALID rule id\""},{"line_number":57,"context_line":"            retcode \u003d 1"},{"line_number":58,"context_line":"#"},{"line_number":59,"context_line":"# Exit the python script with the appropriate return code"},{"line_number":60,"context_line":"# 0 - Success"},{"line_number":61,"context_line":"# 1 - Failed"},{"line_number":62,"context_line":"#"},{"line_number":63,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_ee282e80","line":63,"range":{"start_line":1,"start_character":0,"end_line":63,"end_character":17},"updated":"2018-11-19 16:19:54.000000000","message":"ditto","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6a556469f4c8c13b7d88ab54f98693fc23ea993","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import subprocess"},{"line_number":3,"context_line":"import json"},{"line_number":4,"context_line":"import sys"},{"line_number":5,"context_line":"import collections"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"retcode \u003d 0"},{"line_number":8,"context_line":"if (len(sys.argv) !\u003d 4):"},{"line_number":9,"context_line":"    print \"Syntax is: ceph-pool-failuredomain-validation.py {expected_crush_rule} {crush_rule_json_file_path} {pool_json_file_path}\""},{"line_number":10,"context_line":"    retcode \u003d 1"},{"line_number":11,"context_line":"else:"},{"line_number":12,"context_line":"    desired \u003d sys.argv[1]"},{"line_number":13,"context_line":"    rulefile \u003d sys.argv[2]"},{"line_number":14,"context_line":"    poolfile \u003d sys.argv[3]"},{"line_number":15,"context_line":"    print \"Checking cluster for crush rule\u003d\"+desired+\" with rule file\u003d\"+rulefile+\" pool file\u003d\"+poolfile"},{"line_number":16,"context_line":"    #"},{"line_number":17,"context_line":"    # Load the CRUSH rules"},{"line_number":18,"context_line":"    #"},{"line_number":19,"context_line":"    r \u003d open(rulefile, \"r\")"},{"line_number":20,"context_line":"    rules \u003d json.load(r)"},{"line_number":21,"context_line":"    #"},{"line_number":22,"context_line":"    # Load the pool details"},{"line_number":23,"context_line":"    #"},{"line_number":24,"context_line":"    p \u003d open(poolfile, \"r\")"},{"line_number":25,"context_line":"    pools \u003d json.load(p)"},{"line_number":26,"context_line":"    #"},{"line_number":27,"context_line":"    # Walk the list of rules in the entire cluster"},{"line_number":28,"context_line":"    #"},{"line_number":29,"context_line":"    ruledetails \u003d {}"},{"line_number":30,"context_line":"    for rule in rules:"},{"line_number":31,"context_line":"        #"},{"line_number":32,"context_line":"        # Lets loop the list of ru;e and examine the rule_id and the rule_name"},{"line_number":33,"context_line":"        # - If rule name matches the one we are checking against store a 1 for that rule_id"},{"line_number":34,"context_line":"        # - If rule name does not match the one we are checking against store a 0 for that rule_id"},{"line_number":35,"context_line":"        #"},{"line_number":36,"context_line":"        print \"Processing rule id \"+str(rule[\"rule_id\"])+\" with name \"+rule[\"rule_name\"]"},{"line_number":37,"context_line":"        if ( rule[\"rule_name\"] \u003d\u003d desired ):"},{"line_number":38,"context_line":"           ruledetails[rule[\"rule_id\"]] \u003d 1"},{"line_number":39,"context_line":"           print \"--\u003e This is the rule we are checking against\""},{"line_number":40,"context_line":"        else:"},{"line_number":41,"context_line":"           ruledetails[rule[\"rule_id\"]] \u003d 0"},{"line_number":42,"context_line":"           print \"--\u003e This is NOT the rule we are checking against\""},{"line_number":43,"context_line":"    #"},{"line_number":44,"context_line":"    # Now that we have parsed the CRUSH rules, let\u0027s iterate the pools to verify the pool have what they need"},{"line_number":45,"context_line":"    #"},{"line_number":46,"context_line":"    print \"Now checking pools to verify crush rule\""},{"line_number":47,"context_line":"    for pool in pools:"},{"line_number":48,"context_line":"        #print \"Checking pool \"+pool[\"pool_name\"]+\" configured with CRUSH rule \"+str(pool[\"crush_rule\"])"},{"line_number":49,"context_line":"        if pool[\"crush_rule\"] in ruledetails:"},{"line_number":50,"context_line":"            if (ruledetails[pool[\"crush_rule\"]] !\u003d 1):"},{"line_number":51,"context_line":"                print \"--\u003e Error : Pool is NOT configured with the correct rule (\"+desired+\")\""},{"line_number":52,"context_line":"                retcode \u003d 1"},{"line_number":53,"context_line":"            else:"},{"line_number":54,"context_line":"                print \"--\u003e Info: Pool is configured with the correct rule (\"+desired+\")\""},{"line_number":55,"context_line":"        else:"},{"line_number":56,"context_line":"            print \"--\u003e Error: Pool configured with an INVALID rule id\""},{"line_number":57,"context_line":"            retcode \u003d 1"},{"line_number":58,"context_line":"#"},{"line_number":59,"context_line":"# Exit the python script with the appropriate return code"},{"line_number":60,"context_line":"# 0 - Success"},{"line_number":61,"context_line":"# 1 - Failed"},{"line_number":62,"context_line":"#"},{"line_number":63,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_843616b2","line":63,"range":{"start_line":1,"start_character":0,"end_line":63,"end_character":17},"in_reply_to":"3f79a3b5_ee282e80","updated":"2018-11-21 09:32:54.000000000","message":"Done","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"}],"ceph-client/templates/bin/tests/_ceph-pool-validation-script.py.tpl":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"53d25f94ed00f4e12e68a1cd5793727ede9d16d3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json, subprocess"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d -1"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    print \"Checking cluster for size\u003d\"+str(sys.argv[2])+\" min_size\u003d\"+str(sys.argv[3])+\" rule\u003d\"+str(sys.argv[4])"},{"line_number":8,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":9,"context_line":"    pool_ls \u003d json.load(f)"},{"line_number":10,"context_line":"    for p in pool_ls:"},{"line_number":11,"context_line":"        name \u003d p[\"pool_name\"]"},{"line_number":12,"context_line":"        size \u003d p[\"size\"]"},{"line_number":13,"context_line":"        min_size \u003d p[\"min_size\"]"},{"line_number":14,"context_line":"        pg_num \u003d p[\"pg_num\"]"},{"line_number":15,"context_line":"        pgp_num \u003d p[\"pg_placement_num\"]"},{"line_number":16,"context_line":"        rule \u003d p[\"crush_rule\"]"},{"line_number":17,"context_line":"        if ((size !\u003d int(sys.argv[2])) or (min_size !\u003d int(sys.argv[3])) or (pg_num !\u003d pgp_num) or (rule !\u003d int(sys.argv[4]))):"},{"line_number":18,"context_line":"            print \"Pool \" + name + \" has incorrect parameters!!! Size\u003d\"+str(size)+\" Min_Size\u003d\"+str(min_size)+\" PG\u003d\"+str(pg_num)+\" PGP\u003d\"+str(pgp_num)+\" Rule\u003d\"+str(rule)"},{"line_number":19,"context_line":"            retcode \u003d 1"},{"line_number":20,"context_line":"        else:"},{"line_number":21,"context_line":"            print \"Pool \" + name + \" seems configured properly. Size\u003d\"+str(size)+\" Min_Size\u003d\"+str(min_size)+\" PG\u003d\"+str(pg_num)+\" PGP\u003d\"+str(pgp_num)+\" Rule\u003d\"+str(rule)"},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# If no error was detected walking through the pools then all parameters are correct for each pool"},{"line_number":24,"context_line":"#"},{"line_number":25,"context_line":"    if (retcode \u003d\u003d -1):"},{"line_number":26,"context_line":"        retcode \u003d 0"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_8e45fa4c","line":28,"range":{"start_line":1,"start_character":0,"end_line":28,"end_character":17},"updated":"2018-11-19 16:19:54.000000000","message":"ditto","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6a556469f4c8c13b7d88ab54f98693fc23ea993","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":"import sys, json, subprocess"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"retcode \u003d -1"},{"line_number":5,"context_line":"if (len(sys.argv) \u003e 1):"},{"line_number":6,"context_line":"    filename\u003dsys.argv[1]"},{"line_number":7,"context_line":"    print \"Checking cluster for size\u003d\"+str(sys.argv[2])+\" min_size\u003d\"+str(sys.argv[3])+\" rule\u003d\"+str(sys.argv[4])"},{"line_number":8,"context_line":"    f \u003d open(filename, \"r\")"},{"line_number":9,"context_line":"    pool_ls \u003d json.load(f)"},{"line_number":10,"context_line":"    for p in pool_ls:"},{"line_number":11,"context_line":"        name \u003d p[\"pool_name\"]"},{"line_number":12,"context_line":"        size \u003d p[\"size\"]"},{"line_number":13,"context_line":"        min_size \u003d p[\"min_size\"]"},{"line_number":14,"context_line":"        pg_num \u003d p[\"pg_num\"]"},{"line_number":15,"context_line":"        pgp_num \u003d p[\"pg_placement_num\"]"},{"line_number":16,"context_line":"        rule \u003d p[\"crush_rule\"]"},{"line_number":17,"context_line":"        if ((size !\u003d int(sys.argv[2])) or (min_size !\u003d int(sys.argv[3])) or (pg_num !\u003d pgp_num) or (rule !\u003d int(sys.argv[4]))):"},{"line_number":18,"context_line":"            print \"Pool \" + name + \" has incorrect parameters!!! Size\u003d\"+str(size)+\" Min_Size\u003d\"+str(min_size)+\" PG\u003d\"+str(pg_num)+\" PGP\u003d\"+str(pgp_num)+\" Rule\u003d\"+str(rule)"},{"line_number":19,"context_line":"            retcode \u003d 1"},{"line_number":20,"context_line":"        else:"},{"line_number":21,"context_line":"            print \"Pool \" + name + \" seems configured properly. Size\u003d\"+str(size)+\" Min_Size\u003d\"+str(min_size)+\" PG\u003d\"+str(pg_num)+\" PGP\u003d\"+str(pgp_num)+\" Rule\u003d\"+str(rule)"},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# If no error was detected walking through the pools then all parameters are correct for each pool"},{"line_number":24,"context_line":"#"},{"line_number":25,"context_line":"    if (retcode \u003d\u003d -1):"},{"line_number":26,"context_line":"        retcode \u003d 0"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"sys.exit(retcode)"}],"source_content_type":"text/x-smarty","patch_set":56,"id":"3f79a3b5_a43b1298","line":28,"range":{"start_line":1,"start_character":0,"end_line":28,"end_character":17},"in_reply_to":"3f79a3b5_8e45fa4c","updated":"2018-11-21 09:32:54.000000000","message":"Done","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"}],"ceph-client/templates/bin/tests/_helm-tests.sh.tpl":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"607969a89d1d3742bd6847bc66b27ca336f29f34","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if [ \"x${size}\" !\u003d \"x${RBD}\" ] || [ \"x${min_size}\" !\u003d \"x${EXPECTED_POOLMINSIZE}\" ] \\"},{"line_number":81,"context_line":"      || [ \"x${pg_num}\" !\u003d \"x${pg_placement_num}\" ] || [ \"x${crush_rule}\" !\u003d \"x${expectedCrushRuleId}\" ]; then"},{"line_number":82,"context_line":"      echo \"Pool ${name} has incorrect parameters!!! Size\u003d${size}, Min_Size\u003d${min_size}, PG\u003d${pg_num}, PGP\u003d${pg_placement_num}, Rule\u003d${crush_rule}\""},{"line_number":83,"context_line":"      exit 1"},{"line_number":84,"context_line":"    else"},{"line_number":85,"context_line":"      echo \"Pool ${name} seems configured properly. Size\u003d${size}, Min_Size\u003d${min_size}, PG\u003d${pg_num}, PGP\u003d${pg_placement_num}, Rule\u003d${crush_rule}\""},{"line_number":86,"context_line":"    fi"},{"line_number":87,"context_line":"  done"},{"line_number":88,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":73,"id":"3f79a3b5_0c9c2f6e","line":85,"range":{"start_line":82,"start_character":0,"end_line":85,"end_character":146},"updated":"2018-11-26 13:59:01.000000000","message":"Can we parse the contents of pool_dump to display the name of the pool we\u0027re validating? It might help the output look a bit more sane and useful","commit_id":"971b34871f43bc60248fd5efa327b2fa5caad725"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"5fefef98448c917f900a1e92b3c5f90143ede912","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    if [ \"x${size}\" !\u003d \"x${RBD}\" ] || [ \"x${min_size}\" !\u003d \"x${EXPECTED_POOLMINSIZE}\" ] \\"},{"line_number":81,"context_line":"      || [ \"x${pg_num}\" !\u003d \"x${pg_placement_num}\" ] || [ \"x${crush_rule}\" !\u003d \"x${expectedCrushRuleId}\" ]; then"},{"line_number":82,"context_line":"      echo \"Pool ${name} has incorrect parameters!!! Size\u003d${size}, Min_Size\u003d${min_size}, PG\u003d${pg_num}, PGP\u003d${pg_placement_num}, Rule\u003d${crush_rule}\""},{"line_number":83,"context_line":"      exit 1"},{"line_number":84,"context_line":"    else"},{"line_number":85,"context_line":"      echo \"Pool ${name} seems configured properly. Size\u003d${size}, Min_Size\u003d${min_size}, PG\u003d${pg_num}, PGP\u003d${pg_placement_num}, Rule\u003d${crush_rule}\""},{"line_number":86,"context_line":"    fi"},{"line_number":87,"context_line":"  done"},{"line_number":88,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":73,"id":"3f79a3b5_759ec252","line":85,"range":{"start_line":82,"start_character":0,"end_line":85,"end_character":146},"in_reply_to":"3f79a3b5_0c9c2f6e","updated":"2018-11-26 16:09:23.000000000","message":"Disregard.","commit_id":"971b34871f43bc60248fd5efa327b2fa5caad725"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"607969a89d1d3742bd6847bc66b27ca336f29f34","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  do"},{"line_number":114,"context_line":"    pool_crush_rule_id\u003d$(echo $osd_pool_ls_details | jq -r \".[${p}][\\\"crush_rule\\\"]\")"},{"line_number":115,"context_line":"    if [ \"x${pool_crush_rule_id}\" \u003d\u003d \"x${expectedCrushRuleId}\" ]; then"},{"line_number":116,"context_line":"      echo \"--\u003e Info: Pool is configured with the correct rule ${pool_crush_rule_id}\""},{"line_number":117,"context_line":"    else"},{"line_number":118,"context_line":"      echo \"--\u003e Error : Pool is NOT configured with the correct rule ${pool_crush_rule_id}\""},{"line_number":119,"context_line":"      exit 1"},{"line_number":120,"context_line":"    fi"},{"line_number":121,"context_line":"  done"}],"source_content_type":"text/x-smarty","patch_set":73,"id":"3f79a3b5_cca157a9","line":118,"range":{"start_line":116,"start_character":0,"end_line":118,"end_character":91},"updated":"2018-11-26 13:59:01.000000000","message":"Ditto","commit_id":"971b34871f43bc60248fd5efa327b2fa5caad725"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3e09408117bf891adf0f85bc0895ad81c770fe33","unresolved":false,"context_lines":[{"line_number":113,"context_line":"  do"},{"line_number":114,"context_line":"    pool_crush_rule_id\u003d$(echo $osd_pool_ls_details | jq -r \".[${p}][\\\"crush_rule\\\"]\")"},{"line_number":115,"context_line":"    if [ \"x${pool_crush_rule_id}\" \u003d\u003d \"x${expectedCrushRuleId}\" ]; then"},{"line_number":116,"context_line":"      echo \"--\u003e Info: Pool is configured with the correct rule ${pool_crush_rule_id}\""},{"line_number":117,"context_line":"    else"},{"line_number":118,"context_line":"      echo \"--\u003e Error : Pool is NOT configured with the correct rule ${pool_crush_rule_id}\""},{"line_number":119,"context_line":"      exit 1"},{"line_number":120,"context_line":"    fi"},{"line_number":121,"context_line":"  done"}],"source_content_type":"text/x-smarty","patch_set":73,"id":"3f79a3b5_e0e9b217","line":118,"range":{"start_line":116,"start_character":0,"end_line":118,"end_character":91},"in_reply_to":"3f79a3b5_cca157a9","updated":"2018-11-26 16:41:36.000000000","message":"done","commit_id":"971b34871f43bc60248fd5efa327b2fa5caad725"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"98be1b0e277bf00da22d8dd2c791a8336bd1b303","unresolved":false,"context_lines":[{"line_number":17,"context_line":"*/}}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"# Get mon pod name"},{"line_number":20,"context_line":"monPod\u003d$(kubectl get pods --namespace\u003d${CEPH_DEPLOYMENT_NAMESPACE} --selector\u003dapplication\u003dceph --selector\u003dcomponent\u003dmon --field-selector\u003dstatus.phase\u003dRunning --output\u003djsonpath\u003d{.items[0].metadata.name} 2\u003e/dev/null)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"function check_cluster_status() {"},{"line_number":23,"context_line":"  echo \"#### Start: Checking Ceph cluster status ####\""}],"source_content_type":"text/x-smarty","patch_set":75,"id":"3f79a3b5_6c6ef865","line":20,"updated":"2018-11-26 22:51:49.000000000","message":"rather than this method, why don\u0027t we just load the admin keyring into the test pod?","commit_id":"0d11b61b9248f7e8171c5536d951280a552cdaa5"}],"ceph-client/templates/configmap-bin-test.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"2a9c98606f55863f23d491dc3b40d218ff79562a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"metadata:"},{"line_number":23,"context_line":"  name: ceph-client-test-bin"},{"line_number":24,"context_line":"data:"},{"line_number":25,"context_line":"  helm-tests.sh: |"},{"line_number":26,"context_line":"{{ tuple \"bin/tests/_helm-tests.sh.tpl\" . | include \"helm-toolkit.utils.template\" | indent 4 }}"},{"line_number":27,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_77253415","line":25,"range":{"start_line":25,"start_character":2,"end_line":25,"end_character":15},"updated":"2018-11-28 16:09:59.000000000","message":"can we mount this in the ceph-client-bin configmap instead and remove this template all together? Now that we\u0027ve reduced this to a single mounted script, we don\u0027t necessarily need a separate configmap. This keeps this chart in line with the other charts","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"fcb16f932266e4c68ee1ab156124bd642bb3dd08","unresolved":false,"context_lines":[{"line_number":22,"context_line":"metadata:"},{"line_number":23,"context_line":"  name: ceph-client-test-bin"},{"line_number":24,"context_line":"data:"},{"line_number":25,"context_line":"  helm-tests.sh: |"},{"line_number":26,"context_line":"{{ tuple \"bin/tests/_helm-tests.sh.tpl\" . | include \"helm-toolkit.utils.template\" | indent 4 }}"},{"line_number":27,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_9f17c69e","line":25,"range":{"start_line":25,"start_character":2,"end_line":25,"end_character":15},"in_reply_to":"3f79a3b5_77253415","updated":"2018-11-28 19:00:11.000000000","message":"done","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"}],"ceph-client/templates/tests/job-ceph-test.yaml":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"28a0b35daf6e70c8d8ad55b0ee4b4afdc64d2c9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"3f79a3b5_5e1c4c13","updated":"2018-10-23 14:53:22.000000000","message":"this should be a pod with the appropriate helm-test annotation , not a job.","commit_id":"b8e431259455699dca06735f696674b12ccf31d5"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6e45f42200f048b58aa09357facdfeca6fb53ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"3f79a3b5_8ec94c52","in_reply_to":"3f79a3b5_5e1c4c13","updated":"2018-10-23 21:49:40.000000000","message":"Pete this manifest is a Pod. We do need to update filename here.","commit_id":"b8e431259455699dca06735f696674b12ccf31d5"}],"ceph-client/templates/tests/pod-helm-tests.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if and .Values.manifests.pod_ceph_cluster_test .Values.deployment.ceph }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_81ebcb0f","line":17,"range":{"start_line":17,"start_character":29,"end_line":17,"end_character":50},"updated":"2018-10-31 13:12:09.000000000","message":"helm_tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if and .Values.manifests.pod_ceph_cluster_test .Values.deployment.ceph }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_c93eba89","line":17,"range":{"start_line":17,"start_character":29,"end_line":17,"end_character":50},"in_reply_to":"3f79a3b5_81ebcb0f","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"},{"line_number":21,"context_line":"{{ tuple $envAll \"cluster_test\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"},{"line_number":22,"context_line":"---"},{"line_number":23,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":24,"context_line":"kind: Role"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_41d5b347","line":21,"range":{"start_line":21,"start_character":18,"end_line":21,"end_character":30},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"},{"line_number":21,"context_line":"{{ tuple $envAll \"cluster_test\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"},{"line_number":22,"context_line":"---"},{"line_number":23,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":24,"context_line":"kind: Role"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_a939fea2","line":21,"range":{"start_line":21,"start_character":18,"end_line":21,"end_character":30},"in_reply_to":"3f79a3b5_41d5b347","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"metadata:"},{"line_number":55,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":56,"context_line":"  labels:"},{"line_number":57,"context_line":"{{ tuple $envAll \"ceph\" \"cluster-test\" | include \"helm-toolkit.snippets.kubernetes_metadata_labels\" | indent 4 }}"},{"line_number":58,"context_line":"  annotations:"},{"line_number":59,"context_line":"    \"helm.sh/hook\": test-success"},{"line_number":60,"context_line":"spec:"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_a6b5bd7f","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":38},"updated":"2018-10-31 13:12:09.000000000","message":"these need to follow the standards we lay out for the other charts.  this should instead be \"ceph-client\" \"test\". By using the broader \"ceph\" label here, we run the risk of any pre-upgrade/pre-delete actions for helm tests for this specific chart to extend to other charts","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"metadata:"},{"line_number":55,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":56,"context_line":"  labels:"},{"line_number":57,"context_line":"{{ tuple $envAll \"ceph\" \"cluster-test\" | include \"helm-toolkit.snippets.kubernetes_metadata_labels\" | indent 4 }}"},{"line_number":58,"context_line":"  annotations:"},{"line_number":59,"context_line":"    \"helm.sh/hook\": test-success"},{"line_number":60,"context_line":"spec:"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_89bbe20e","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":38},"in_reply_to":"3f79a3b5_a6b5bd7f","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  restartPolicy: Never"},{"line_number":62,"context_line":"  serviceAccountName: {{ $serviceAccountName }}"},{"line_number":63,"context_line":"  initContainers:"},{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_46aaa91b","line":64,"range":{"start_line":64,"start_character":18,"end_line":64,"end_character":30},"updated":"2018-10-31 13:12:09.000000000","message":"just \"tests\" here to maintain consistency","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  restartPolicy: Never"},{"line_number":62,"context_line":"  serviceAccountName: {{ $serviceAccountName }}"},{"line_number":63,"context_line":"  initContainers:"},{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_29b88e10","line":64,"range":{"start_line":64,"start_character":18,"end_line":64,"end_character":30},"in_reply_to":"3f79a3b5_46aaa91b","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_21dc3770","line":67,"range":{"start_line":67,"start_character":18,"end_line":67,"end_character":36},"updated":"2018-10-31 13:12:09.000000000","message":"why not \"helm_tests\"?","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_49b5ca18","line":67,"range":{"start_line":67,"start_character":18,"end_line":67,"end_character":36},"in_reply_to":"3f79a3b5_21dc3770","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"},{"line_number":71,"context_line":"          value: {{ .Release.Namespace }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_06a4b14b","line":68,"range":{"start_line":68,"start_character":51,"end_line":68,"end_character":63},"updated":"2018-10-31 13:12:09.000000000","message":"\"tests\"","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"},{"line_number":71,"context_line":"          value: {{ .Release.Namespace }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_093592a7","line":68,"range":{"start_line":68,"start_character":51,"end_line":68,"end_character":63},"in_reply_to":"3f79a3b5_06a4b14b","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"21356ddd8e3991eb04bc84ab8f80f3494f9f3306","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"},{"line_number":70,"context_line":"          value: {{ .Release.Namespace }}"},{"line_number":71,"context_line":"        - name: EXPECTED_OSDS"},{"line_number":72,"context_line":"          value: {{ .Values.conf.pool.target.osd | quote }}"},{"line_number":73,"context_line":"        - name: EXPECTED_CRUSHRULE"},{"line_number":74,"context_line":"          value: {{ .Values.conf.pool.default.crush_rule | default \"replicated_rule\" | quote }}"},{"line_number":75,"context_line":"        - name: EXPECTED_POOLMINSIZE"}],"source_content_type":"text/x-yaml","patch_set":73,"id":"3f79a3b5_344ffabf","line":72,"updated":"2018-11-26 03:23:54.000000000","message":"I\u0027m working on a PS to remove this variable. It looks like we are already comparing the num of OSDs to what is up and in. This may be redudant.","commit_id":"971b34871f43bc60248fd5efa327b2fa5caad725"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3e09408117bf891adf0f85bc0895ad81c770fe33","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"},{"line_number":70,"context_line":"          value: {{ .Release.Namespace }}"},{"line_number":71,"context_line":"        - name: EXPECTED_OSDS"},{"line_number":72,"context_line":"          value: {{ .Values.conf.pool.target.osd | quote }}"},{"line_number":73,"context_line":"        - name: EXPECTED_CRUSHRULE"},{"line_number":74,"context_line":"          value: {{ .Values.conf.pool.default.crush_rule | default \"replicated_rule\" | quote }}"},{"line_number":75,"context_line":"        - name: EXPECTED_POOLMINSIZE"}],"source_content_type":"text/x-yaml","patch_set":73,"id":"3f79a3b5_d5c23688","line":72,"in_reply_to":"3f79a3b5_344ffabf","updated":"2018-11-26 16:41:36.000000000","message":"Matt, there have been situation where number of expected OSDs were different then what was deployed. I believe we should keep this for now and remove it when you have PS ready and merged.","commit_id":"971b34871f43bc60248fd5efa327b2fa5caad725"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"e864a5f9d26e630b7de5f36a3ea1164480883f36","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":77,"id":"3f79a3b5_f791449c","updated":"2018-11-28 15:54:54.000000000","message":"this should be at the same level as other test pod templates for now, and be called `pod-test.yaml`","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"fcb16f932266e4c68ee1ab156124bd642bb3dd08","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":77,"id":"3f79a3b5_5f736e1c","in_reply_to":"3f79a3b5_f791449c","updated":"2018-11-28 19:00:11.000000000","message":"Done","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"e864a5f9d26e630b7de5f36a3ea1164480883f36","unresolved":false,"context_lines":[{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if and .Values.manifests.helm_tests .Values.deployment.ceph }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"},{"line_number":20,"context_line":"{{ tuple $envAll \"tests\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_37e9fc16","line":17,"range":{"start_line":17,"start_character":29,"end_line":17,"end_character":39},"updated":"2018-11-28 15:54:54.000000000","message":"pod_test","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"fcb16f932266e4c68ee1ab156124bd642bb3dd08","unresolved":false,"context_lines":[{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if and .Values.manifests.helm_tests .Values.deployment.ceph }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"},{"line_number":20,"context_line":"{{ tuple $envAll \"tests\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_7f766a0d","line":17,"range":{"start_line":17,"start_character":29,"end_line":17,"end_character":39},"in_reply_to":"3f79a3b5_37e9fc16","updated":"2018-11-28 19:00:11.000000000","message":"Pete, other helm tests are using same \"helm_tests\". So trying to be consistent with other charts..","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"e864a5f9d26e630b7de5f36a3ea1164480883f36","unresolved":false,"context_lines":[{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"},{"line_number":20,"context_line":"{{ tuple $envAll \"tests\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"},{"line_number":21,"context_line":"---"},{"line_number":22,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":23,"context_line":"kind: Role"},{"line_number":24,"context_line":"metadata:"},{"line_number":25,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":26,"context_line":"rules:"},{"line_number":27,"context_line":"  - apiGroups:"},{"line_number":28,"context_line":"      - \"\""},{"line_number":29,"context_line":"    resources:"},{"line_number":30,"context_line":"      - pods"},{"line_number":31,"context_line":"      - pods/exec"},{"line_number":32,"context_line":"    verbs:"},{"line_number":33,"context_line":"      - \"*\""},{"line_number":34,"context_line":"      - get"},{"line_number":35,"context_line":"      - list"},{"line_number":36,"context_line":"      - create"},{"line_number":37,"context_line":"---"},{"line_number":38,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":39,"context_line":"kind: RoleBinding"},{"line_number":40,"context_line":"metadata:"},{"line_number":41,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":42,"context_line":"roleRef:"},{"line_number":43,"context_line":"  apiGroup: rbac.authorization.k8s.io"},{"line_number":44,"context_line":"  kind: Role"},{"line_number":45,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":46,"context_line":"subjects:"},{"line_number":47,"context_line":"  - kind: ServiceAccount"},{"line_number":48,"context_line":"    name: {{ $serviceAccountName }}"},{"line_number":49,"context_line":"    namespace: {{ $envAll.Release.Namespace }}"},{"line_number":50,"context_line":"---"},{"line_number":51,"context_line":"apiVersion: v1"},{"line_number":52,"context_line":"kind: Pod"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_d7a9a8da","line":49,"range":{"start_line":21,"start_character":0,"end_line":49,"end_character":46},"updated":"2018-11-28 15:54:54.000000000","message":"should not be required.","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"fcb16f932266e4c68ee1ab156124bd642bb3dd08","unresolved":false,"context_lines":[{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":"{{- $serviceAccountName :\u003d \"ceph-client-test\" }}"},{"line_number":20,"context_line":"{{ tuple $envAll \"tests\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"},{"line_number":21,"context_line":"---"},{"line_number":22,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":23,"context_line":"kind: Role"},{"line_number":24,"context_line":"metadata:"},{"line_number":25,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":26,"context_line":"rules:"},{"line_number":27,"context_line":"  - apiGroups:"},{"line_number":28,"context_line":"      - \"\""},{"line_number":29,"context_line":"    resources:"},{"line_number":30,"context_line":"      - pods"},{"line_number":31,"context_line":"      - pods/exec"},{"line_number":32,"context_line":"    verbs:"},{"line_number":33,"context_line":"      - \"*\""},{"line_number":34,"context_line":"      - get"},{"line_number":35,"context_line":"      - list"},{"line_number":36,"context_line":"      - create"},{"line_number":37,"context_line":"---"},{"line_number":38,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":39,"context_line":"kind: RoleBinding"},{"line_number":40,"context_line":"metadata:"},{"line_number":41,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":42,"context_line":"roleRef:"},{"line_number":43,"context_line":"  apiGroup: rbac.authorization.k8s.io"},{"line_number":44,"context_line":"  kind: Role"},{"line_number":45,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":46,"context_line":"subjects:"},{"line_number":47,"context_line":"  - kind: ServiceAccount"},{"line_number":48,"context_line":"    name: {{ $serviceAccountName }}"},{"line_number":49,"context_line":"    namespace: {{ $envAll.Release.Namespace }}"},{"line_number":50,"context_line":"---"},{"line_number":51,"context_line":"apiVersion: v1"},{"line_number":52,"context_line":"kind: Pod"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_1f7976f8","line":49,"range":{"start_line":21,"start_character":0,"end_line":49,"end_character":46},"in_reply_to":"3f79a3b5_d7a9a8da","updated":"2018-11-28 19:00:11.000000000","message":"Done","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"}],"ceph-client/values.yaml":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"05d51d13c3c19f9642c6961f603bfa78b587a605","unresolved":false,"context_lines":[{"line_number":113,"context_line":"    mds: true"},{"line_number":114,"context_line":"    mgr: true"},{"line_number":115,"context_line":"  validation:"},{"line_number":116,"context_line":"    expectedMGRs: \"2\""},{"line_number":117,"context_line":"    expectedSize: \"3\""},{"line_number":118,"context_line":"    expectedMinSize: \"2\""},{"line_number":119,"context_line":"    expectedCrushRule: \"0\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f79a3b5_756adb82","line":116,"range":{"start_line":116,"start_character":18,"end_line":116,"end_character":21},"updated":"2018-10-18 15:41:04.000000000","message":"strings or integers?","commit_id":"608e3fa021480f5ffba913335b14379d5a665b86"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"ce8128924c10e2f8509d627754cf2c7a1c617fc6","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    mds: true"},{"line_number":121,"context_line":"    mgr: true"},{"line_number":122,"context_line":"  validation:"},{"line_number":123,"context_line":"    expectedMGRs: \"2\""},{"line_number":124,"context_line":"    expectedSize: \"3\""},{"line_number":125,"context_line":"    expectedMinSize: \"2\""},{"line_number":126,"context_line":"    expectedCrushRule: \"0\""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3f79a3b5_e7decf0d","line":123,"range":{"start_line":123,"start_character":4,"end_line":123,"end_character":21},"updated":"2018-10-24 16:58:08.000000000","message":"why not drive this from the replication count?","commit_id":"b8e431259455699dca06735f696674b12ccf31d5"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        limits:"},{"line_number":95,"context_line":"          memory: \"1024Mi\""},{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"      cluster_test:"},{"line_number":98,"context_line":"        requests:"},{"line_number":99,"context_line":"          memory: \"10Mi\""},{"line_number":100,"context_line":"          cpu: \"250m\""}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_e660950f","line":97,"range":{"start_line":97,"start_character":6,"end_line":97,"end_character":18},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        limits:"},{"line_number":95,"context_line":"          memory: \"1024Mi\""},{"line_number":96,"context_line":"          cpu: \"2000m\""},{"line_number":97,"context_line":"      cluster_test:"},{"line_number":98,"context_line":"        requests:"},{"line_number":99,"context_line":"          memory: \"10Mi\""},{"line_number":100,"context_line":"          cpu: \"250m\""}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_095ef2e7","line":97,"range":{"start_line":97,"start_character":6,"end_line":97,"end_character":18},"in_reply_to":"3f79a3b5_e660950f","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":304,"context_line":"      services:"},{"line_number":305,"context_line":"        - endpoint: internal"},{"line_number":306,"context_line":"          service: local_image_registry"},{"line_number":307,"context_line":"    cluster_test:"},{"line_number":308,"context_line":"      services:"},{"line_number":309,"context_line":"        - endpoint: internal"},{"line_number":310,"context_line":"          service: ceph_mon"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_e95856fd","line":307,"updated":"2018-11-01 07:33:27.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":404,"context_line":"  job_image_repo_sync: true"},{"line_number":405,"context_line":"  job_rbd_pool: true"},{"line_number":406,"context_line":"  service_mgr: true"},{"line_number":407,"context_line":"  pod_ceph_cluster_test: true"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_416cd39d","line":407,"range":{"start_line":407,"start_character":2,"end_line":407,"end_character":23},"updated":"2018-10-31 13:12:09.000000000","message":"helm_tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"3364a57993a5a142b42f5a19ae1cc742538597d8","unresolved":false,"context_lines":[{"line_number":404,"context_line":"  job_image_repo_sync: true"},{"line_number":405,"context_line":"  job_rbd_pool: true"},{"line_number":406,"context_line":"  service_mgr: true"},{"line_number":407,"context_line":"  pod_ceph_cluster_test: true"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_8940c206","line":407,"range":{"start_line":407,"start_character":2,"end_line":407,"end_character":23},"in_reply_to":"3f79a3b5_416cd39d","updated":"2018-11-01 07:33:27.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"53d25f94ed00f4e12e68a1cd5793727ede9d16d3","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  features:"},{"line_number":120,"context_line":"    mds: true"},{"line_number":121,"context_line":"    mgr: true"},{"line_number":122,"context_line":"  helm_test:"},{"line_number":123,"context_line":"    validation:"},{"line_number":124,"context_line":"      expectedPoolSize: \"3\""},{"line_number":125,"context_line":"      expectedPoolMinSize: \"2\""},{"line_number":126,"context_line":"      expectedCrushRule: \"0\""},{"line_number":127,"context_line":"  pool:"},{"line_number":128,"context_line":"  #NOTE(portdirect): this drives a simple approximation of"},{"line_number":129,"context_line":"  # https://ceph.com/pgcalc/, the `target.osd` key should be set to match the"}],"source_content_type":"text/x-yaml","patch_set":56,"id":"3f79a3b5_ae71d6ac","line":126,"range":{"start_line":122,"start_character":0,"end_line":126,"end_character":28},"updated":"2018-11-19 16:19:54.000000000","message":"This needs to be revisited, as having configuration overrides dictating success criteria for a test introduces the potential for failures due to missed overrides.","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"f6a556469f4c8c13b7d88ab54f98693fc23ea993","unresolved":false,"context_lines":[{"line_number":119,"context_line":"  features:"},{"line_number":120,"context_line":"    mds: true"},{"line_number":121,"context_line":"    mgr: true"},{"line_number":122,"context_line":"  helm_test:"},{"line_number":123,"context_line":"    validation:"},{"line_number":124,"context_line":"      expectedPoolSize: \"3\""},{"line_number":125,"context_line":"      expectedPoolMinSize: \"2\""},{"line_number":126,"context_line":"      expectedCrushRule: \"0\""},{"line_number":127,"context_line":"  pool:"},{"line_number":128,"context_line":"  #NOTE(portdirect): this drives a simple approximation of"},{"line_number":129,"context_line":"  # https://ceph.com/pgcalc/, the `target.osd` key should be set to match the"}],"source_content_type":"text/x-yaml","patch_set":56,"id":"3f79a3b5_e45eeae6","line":126,"range":{"start_line":122,"start_character":0,"end_line":126,"end_character":28},"in_reply_to":"3f79a3b5_ae71d6ac","updated":"2018-11-21 09:32:54.000000000","message":"Steve, in final version, we will only keep two params here: expectedPoolSize and expectedPoolMinSize.\nValues assigned to these keys are always true for multinode env. These values are NOT true only for single node env.","commit_id":"87403db24857a9aa8571d222fe0679fd190757fd"}],"ceph-osd/templates/configmap-bin-test.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"2a9c98606f55863f23d491dc3b40d218ff79562a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{{/*"},{"line_number":2,"context_line":"Copyright 2017 The Openstack-Helm Authors."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"you may not use this file except in compliance with the License."},{"line_number":6,"context_line":"You may obtain a copy of the License at"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Unless required by applicable law or agreed to in writing, software"},{"line_number":11,"context_line":"distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":12,"context_line":"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."},{"line_number":13,"context_line":"See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if .Values.manifests.configmap_test_bin }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":"---"},{"line_number":20,"context_line":"apiVersion: v1"},{"line_number":21,"context_line":"kind: ConfigMap"},{"line_number":22,"context_line":"metadata:"},{"line_number":23,"context_line":"  name: ceph-osd-test-bin"},{"line_number":24,"context_line":"data:"},{"line_number":25,"context_line":"  helm-tests.sh: |"},{"line_number":26,"context_line":"{{ tuple \"bin/tests/_helm-tests.sh.tpl\" . | include \"helm-toolkit.utils.template\" | indent 4 }}"},{"line_number":27,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_572ef8f7","line":27,"range":{"start_line":1,"start_character":0,"end_line":27,"end_character":10},"updated":"2018-11-28 16:09:59.000000000","message":"can we mount this in the ceph-osd-bin configmap instead and remove this template all together? Now that we\u0027ve reduced this to a single mounted script, we don\u0027t necessarily need a separate configmap. This keeps this chart in line with the other charts","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"fcb16f932266e4c68ee1ab156124bd642bb3dd08","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{{/*"},{"line_number":2,"context_line":"Copyright 2017 The Openstack-Helm Authors."},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":5,"context_line":"you may not use this file except in compliance with the License."},{"line_number":6,"context_line":"You may obtain a copy of the License at"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"   http://www.apache.org/licenses/LICENSE-2.0"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Unless required by applicable law or agreed to in writing, software"},{"line_number":11,"context_line":"distributed under the License is distributed on an \"AS IS\" BASIS,"},{"line_number":12,"context_line":"WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied."},{"line_number":13,"context_line":"See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if .Values.manifests.configmap_test_bin }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":"---"},{"line_number":20,"context_line":"apiVersion: v1"},{"line_number":21,"context_line":"kind: ConfigMap"},{"line_number":22,"context_line":"metadata:"},{"line_number":23,"context_line":"  name: ceph-osd-test-bin"},{"line_number":24,"context_line":"data:"},{"line_number":25,"context_line":"  helm-tests.sh: |"},{"line_number":26,"context_line":"{{ tuple \"bin/tests/_helm-tests.sh.tpl\" . | include \"helm-toolkit.utils.template\" | indent 4 }}"},{"line_number":27,"context_line":"{{- end }}"}],"source_content_type":"text/x-yaml","patch_set":77,"id":"3f79a3b5_a294e942","line":27,"range":{"start_line":1,"start_character":0,"end_line":27,"end_character":10},"in_reply_to":"3f79a3b5_572ef8f7","updated":"2018-11-28 19:00:11.000000000","message":"Done","commit_id":"ca57ef67a7357d719ca860dca49212ac69f531e7"}],"ceph-osd/templates/tests/pod-helm-tests.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"limitations under the License."},{"line_number":15,"context_line":"*/}}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{{- if .Values.manifests.pod_ceph_cluster_test }}"},{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{- $serviceAccountName :\u003d \"ceph-osd-test\" }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_e62e55a9","line":17,"range":{"start_line":17,"start_character":25,"end_line":17,"end_character":46},"updated":"2018-10-31 13:12:09.000000000","message":"helm_tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"{{- $envAll :\u003d . }}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{- $serviceAccountName :\u003d \"ceph-osd-test\" }}"},{"line_number":21,"context_line":"{{ tuple $envAll \"cluster_test\" $serviceAccountName | include \"helm-toolkit.snippets.kubernetes_pod_rbac_serviceaccount\" }}"},{"line_number":22,"context_line":"---"},{"line_number":23,"context_line":"apiVersion: rbac.authorization.k8s.io/v1beta1"},{"line_number":24,"context_line":"kind: Role"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_a6385ded","line":21,"range":{"start_line":21,"start_character":18,"end_line":21,"end_character":30},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":54,"context_line":"metadata:"},{"line_number":55,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":56,"context_line":"  labels:"},{"line_number":57,"context_line":"{{ tuple $envAll \"ceph\" \"osd-test\" | include \"helm-toolkit.snippets.kubernetes_metadata_labels\" | indent 4 }}"},{"line_number":58,"context_line":"  annotations:"},{"line_number":59,"context_line":"    \"helm.sh/hook\": test-success"},{"line_number":60,"context_line":"spec:"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_0627d1ca","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":35},"updated":"2018-10-31 13:12:09.000000000","message":"this should instead be \"ceph-osd\" \"test\"","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"metadata:"},{"line_number":55,"context_line":"  name: {{ $serviceAccountName }}"},{"line_number":56,"context_line":"  labels:"},{"line_number":57,"context_line":"{{ tuple $envAll \"ceph\" \"osd-test\" | include \"helm-toolkit.snippets.kubernetes_metadata_labels\" | indent 4 }}"},{"line_number":58,"context_line":"  annotations:"},{"line_number":59,"context_line":"    \"helm.sh/hook\": test-success"},{"line_number":60,"context_line":"spec:"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_29140eea","line":57,"range":{"start_line":57,"start_character":17,"end_line":57,"end_character":35},"in_reply_to":"3f79a3b5_0627d1ca","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  restartPolicy: Never"},{"line_number":62,"context_line":"  serviceAccountName: {{ $serviceAccountName }}"},{"line_number":63,"context_line":"  initContainers:"},{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_e6173553","line":64,"range":{"start_line":64,"start_character":18,"end_line":64,"end_character":30},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  restartPolicy: Never"},{"line_number":62,"context_line":"  serviceAccountName: {{ $serviceAccountName }}"},{"line_number":63,"context_line":"  initContainers:"},{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_49114af8","line":64,"range":{"start_line":64,"start_character":18,"end_line":64,"end_character":30},"in_reply_to":"3f79a3b5_e6173553","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_a1c927ac","line":67,"range":{"start_line":67,"start_character":18,"end_line":67,"end_character":36},"updated":"2018-10-31 13:12:09.000000000","message":"why not \"helm_tests\"?","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"{{ tuple $envAll \"cluster_test\" list | include \"helm-toolkit.snippets.kubernetes_entrypoint_init_container\" | indent 4 }}"},{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_e9cb767c","line":67,"range":{"start_line":67,"start_character":18,"end_line":67,"end_character":36},"in_reply_to":"3f79a3b5_a1c927ac","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"},{"line_number":71,"context_line":"          value: {{ .Release.Namespace }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_860c4145","line":68,"range":{"start_line":68,"start_character":51,"end_line":68,"end_character":63},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  containers:"},{"line_number":66,"context_line":"    - name: ceph-cluster-helm-test"},{"line_number":67,"context_line":"{{ tuple $envAll \"ceph_config_helper\" | include \"helm-toolkit.snippets.image\" | indent 6 }}"},{"line_number":68,"context_line":"{{ tuple $envAll $envAll.Values.pod.resources.jobs.cluster_test | include \"helm-toolkit.snippets.kubernetes_resources\" | indent 6 }}"},{"line_number":69,"context_line":"      env:"},{"line_number":70,"context_line":"        - name: CEPH_DEPLOYMENT_NAMESPACE"},{"line_number":71,"context_line":"          value: {{ .Release.Namespace }}"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_09d1122f","line":68,"range":{"start_line":68,"start_character":51,"end_line":68,"end_character":63},"in_reply_to":"3f79a3b5_860c4145","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"}],"ceph-osd/values.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  tags:"},{"line_number":23,"context_line":"    ceph_osd: \u0027docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04\u0027"},{"line_number":24,"context_line":"    ceph_bootstrap: \u0027docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04\u0027"},{"line_number":25,"context_line":"    ceph_config_helper: \u0027docker.io/port/ceph-config-helper:v1.10.3\u0027"},{"line_number":26,"context_line":"    dep_check: \u0027quay.io/stackanetes/kubernetes-entrypoint:v0.3.1\u0027"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  local_registry:"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_410b7322","line":25,"range":{"start_line":25,"start_character":4,"end_line":25,"end_character":22},"updated":"2018-10-31 13:12:09.000000000","message":"why would this not be \"helm_tests\", like with other charts?","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  tags:"},{"line_number":23,"context_line":"    ceph_osd: \u0027docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04\u0027"},{"line_number":24,"context_line":"    ceph_bootstrap: \u0027docker.io/ceph/daemon:tag-build-master-luminous-ubuntu-16.04\u0027"},{"line_number":25,"context_line":"    ceph_config_helper: \u0027docker.io/port/ceph-config-helper:v1.10.3\u0027"},{"line_number":26,"context_line":"    dep_check: \u0027quay.io/stackanetes/kubernetes-entrypoint:v0.3.1\u0027"},{"line_number":27,"context_line":"    image_repo_sync: docker.io/docker:17.07.0"},{"line_number":28,"context_line":"  local_registry:"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_29664ebe","line":25,"range":{"start_line":25,"start_character":4,"end_line":25,"end_character":22},"in_reply_to":"3f79a3b5_410b7322","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":56,"context_line":"      limits:"},{"line_number":57,"context_line":"        memory: \"1024Mi\""},{"line_number":58,"context_line":"        cpu: \"1000m\""},{"line_number":59,"context_line":"    cluster_test:"},{"line_number":60,"context_line":"      requests:"},{"line_number":61,"context_line":"        memory: \"10Mi\""},{"line_number":62,"context_line":"        cpu: \"250m\""}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_2112f756","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":16},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"      limits:"},{"line_number":57,"context_line":"        memory: \"1024Mi\""},{"line_number":58,"context_line":"        cpu: \"1000m\""},{"line_number":59,"context_line":"    cluster_test:"},{"line_number":60,"context_line":"      requests:"},{"line_number":61,"context_line":"        memory: \"10Mi\""},{"line_number":62,"context_line":"        cpu: \"250m\""}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_691a061a","line":59,"range":{"start_line":59,"start_character":4,"end_line":59,"end_character":16},"in_reply_to":"3f79a3b5_2112f756","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":110,"context_line":"      osd_recovery_op_priority: 1"},{"line_number":111,"context_line":"      osd_recovery_max_active: 1"},{"line_number":112,"context_line":"      osd_mount_options_xfs: \"rw,noatime,largeio,inode64,swalloc,logbufs\u003d8,logbsize\u003d256k,allocsize\u003d4M\""},{"line_number":113,"context_line":"  helm_test:"},{"line_number":114,"context_line":"    validation:"},{"line_number":115,"context_line":"      expectedOSDs: \"5\""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  storage:"},{"line_number":118,"context_line":"    osd_log_directory: /var/log/ceph"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_811aeb68","line":115,"range":{"start_line":113,"start_character":0,"end_line":115,"end_character":23},"updated":"2018-10-31 13:12:09.000000000","message":"I don\u0027t like this. Ideally we should be determining expected values for outputs via configuration options already exposed in the charts, instead of injecting test specific configuration values here. This risks test failures due to nothing more than missed chart overrides. This needs to be handled a different way","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":174,"context_line":"      services:"},{"line_number":175,"context_line":"        - endpoint: internal"},{"line_number":176,"context_line":"          service: local_image_registry"},{"line_number":177,"context_line":"    cluster_test:"},{"line_number":178,"context_line":"      services:"},{"line_number":179,"context_line":"        - endpoint: internal"},{"line_number":180,"context_line":"          service: ceph_mon"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_014d7b3b","line":177,"range":{"start_line":177,"start_character":4,"end_line":177,"end_character":16},"updated":"2018-10-31 13:12:09.000000000","message":"tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":174,"context_line":"      services:"},{"line_number":175,"context_line":"        - endpoint: internal"},{"line_number":176,"context_line":"          service: local_image_registry"},{"line_number":177,"context_line":"    cluster_test:"},{"line_number":178,"context_line":"      services:"},{"line_number":179,"context_line":"        - endpoint: internal"},{"line_number":180,"context_line":"          service: ceph_mon"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_092cb247","line":177,"range":{"start_line":177,"start_character":4,"end_line":177,"end_character":16},"in_reply_to":"3f79a3b5_014d7b3b","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":223,"context_line":"  configmap_test_bin: true"},{"line_number":224,"context_line":"  daemonset_osd: true"},{"line_number":225,"context_line":"  job_image_repo_sync: true"},{"line_number":226,"context_line":"  pod_ceph_cluster_test: true"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_214af723","line":226,"range":{"start_line":226,"start_character":2,"end_line":226,"end_character":23},"updated":"2018-10-31 13:12:09.000000000","message":"helm_tests","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":223,"context_line":"  configmap_test_bin: true"},{"line_number":224,"context_line":"  daemonset_osd: true"},{"line_number":225,"context_line":"  job_image_repo_sync: true"},{"line_number":226,"context_line":"  pod_ceph_cluster_test: true"}],"source_content_type":"text/x-yaml","patch_set":48,"id":"3f79a3b5_c9255a5d","line":226,"range":{"start_line":226,"start_character":2,"end_line":226,"end_character":23},"in_reply_to":"3f79a3b5_214af723","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"}],"tools/deployment/developer/ceph/030-ceph.sh":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"05d51d13c3c19f9642c6961f603bfa78b587a605","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  rgw_ks:"},{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  validation:"},{"line_number":71,"context_line":"    expectedMGRs: \"1\""},{"line_number":72,"context_line":"    expectedSize: \"1\""},{"line_number":73,"context_line":"    expectedMinSize: \"1\""},{"line_number":74,"context_line":"    expectedCrushRule: \"1\""}],"source_content_type":"text/x-sh","patch_set":24,"id":"3f79a3b5_f5034bbc","line":71,"range":{"start_line":71,"start_character":18,"end_line":71,"end_character":21},"updated":"2018-10-18 15:41:04.000000000","message":"same q","commit_id":"608e3fa021480f5ffba913335b14379d5a665b86"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"49e775f0b9498f0e48b5c43a6d50aa0211da76b8","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  rgw_ks:"},{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  validation:"},{"line_number":71,"context_line":"    expectedMGRs: \"1\""},{"line_number":72,"context_line":"    expectedSize: \"1\""},{"line_number":73,"context_line":"    expectedMinSize: \"1\""},{"line_number":74,"context_line":"    expectedCrushRule: \"1\""}],"source_content_type":"text/x-sh","patch_set":24,"id":"3f79a3b5_ae210452","line":71,"range":{"start_line":71,"start_character":18,"end_line":71,"end_character":21},"in_reply_to":"3f79a3b5_2ee09427","updated":"2018-10-18 17:55:29.000000000","message":"ok, fair enough ...\nnot retracted","commit_id":"608e3fa021480f5ffba913335b14379d5a665b86"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"98113d95064a69f610794d0174cb7ecfbe8edb03","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  rgw_ks:"},{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  validation:"},{"line_number":71,"context_line":"    expectedMGRs: \"1\""},{"line_number":72,"context_line":"    expectedSize: \"1\""},{"line_number":73,"context_line":"    expectedMinSize: \"1\""},{"line_number":74,"context_line":"    expectedCrushRule: \"1\""}],"source_content_type":"text/x-sh","patch_set":24,"id":"3f79a3b5_2ee09427","line":71,"range":{"start_line":71,"start_character":18,"end_line":71,"end_character":21},"in_reply_to":"3f79a3b5_f5034bbc","updated":"2018-10-18 17:53:38.000000000","message":"Chris, for some reason, if i don\u0027t put \"\" around 0, it was failing and may be treating as null. So i put \"\" around all of numbers for consistency.","commit_id":"608e3fa021480f5ffba913335b14379d5a665b86"}],"tools/deployment/osh-infra-logging/020-ceph.sh":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"4ad1e532aa3b66534422730424ab11a6da385bab","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  helm_test:"},{"line_number":71,"context_line":"    validation:"},{"line_number":72,"context_line":"      expectedPoolSize: \"1\""},{"line_number":73,"context_line":"      expectedPoolMinSize: \"1\""},{"line_number":74,"context_line":"      expectedCrushRule: \"1\""},{"line_number":75,"context_line":"      expectedOSDs: \"1\""}],"source_content_type":"text/x-sh","patch_set":45,"id":"3f79a3b5_b98bd714","line":72,"range":{"start_line":72,"start_character":23,"end_line":72,"end_character":27},"updated":"2018-10-28 18:05:19.000000000","message":"int or string?","commit_id":"efc69317a6742e0061a17b269e80cba2c2803870"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"34d278a16b76da62f82de679d408c5ef1a47baee","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  helm_test:"},{"line_number":71,"context_line":"    validation:"},{"line_number":72,"context_line":"      expectedPoolSize: \"1\""},{"line_number":73,"context_line":"      expectedPoolMinSize: \"1\""},{"line_number":74,"context_line":"      expectedCrushRule: \"1\""},{"line_number":75,"context_line":"      expectedOSDs: \"1\""}],"source_content_type":"text/x-sh","patch_set":45,"id":"3f79a3b5_b927571e","line":72,"range":{"start_line":72,"start_character":23,"end_line":72,"end_character":27},"in_reply_to":"3f79a3b5_b98bd714","updated":"2018-10-28 18:48:59.000000000","message":"Chris, all these values needs to be inside string. If i put int 0, it treats it as null. We could have 0 value for \"expectedCrushRule\". For consistency, i put all of them as String.","commit_id":"efc69317a6742e0061a17b269e80cba2c2803870"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":67,"context_line":"conf:"},{"line_number":68,"context_line":"  rgw_ks:"},{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  helm_test:"},{"line_number":71,"context_line":"    validation:"},{"line_number":72,"context_line":"      expectedPoolSize: \"1\""},{"line_number":73,"context_line":"      expectedPoolMinSize: \"1\""},{"line_number":74,"context_line":"      expectedCrushRule: \"1\""},{"line_number":75,"context_line":"      expectedOSDs: \"1\""},{"line_number":76,"context_line":"      expectedFailureDomain: \"osd\""},{"line_number":77,"context_line":"  ceph:"},{"line_number":78,"context_line":"    global:"},{"line_number":79,"context_line":"      fsid: ${CEPH_FS_ID}"}],"source_content_type":"text/x-sh","patch_set":48,"id":"3f79a3b5_c17c6376","line":76,"range":{"start_line":70,"start_character":0,"end_line":76,"end_character":34},"updated":"2018-10-31 13:12:09.000000000","message":"We don\u0027t exercise helm tests in the single node gates. This needs to be removed","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":67,"context_line":"conf:"},{"line_number":68,"context_line":"  rgw_ks:"},{"line_number":69,"context_line":"    enabled: false"},{"line_number":70,"context_line":"  helm_test:"},{"line_number":71,"context_line":"    validation:"},{"line_number":72,"context_line":"      expectedPoolSize: \"1\""},{"line_number":73,"context_line":"      expectedPoolMinSize: \"1\""},{"line_number":74,"context_line":"      expectedCrushRule: \"1\""},{"line_number":75,"context_line":"      expectedOSDs: \"1\""},{"line_number":76,"context_line":"      expectedFailureDomain: \"osd\""},{"line_number":77,"context_line":"  ceph:"},{"line_number":78,"context_line":"    global:"},{"line_number":79,"context_line":"      fsid: ${CEPH_FS_ID}"}],"source_content_type":"text/x-sh","patch_set":48,"id":"3f79a3b5_c9a8fa8c","line":76,"range":{"start_line":70,"start_character":0,"end_line":76,"end_character":34},"in_reply_to":"3f79a3b5_c17c6376","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"fbb053199a16319f22a8e55617870feffe4cb9e8","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    --no-headers | awk \u0027{ print $1; exit }\u0027)"},{"line_number":200,"context_line":"  kubectl exec -n ceph ${MON_POD} -- ceph -s"},{"line_number":201,"context_line":"done"},{"line_number":202,"context_line":"helm test ceph-osd --timeout 900"},{"line_number":203,"context_line":"helm test ceph-client --timeout 900"}],"source_content_type":"text/x-sh","patch_set":48,"id":"3f79a3b5_21ae77e4","line":203,"range":{"start_line":202,"start_character":0,"end_line":203,"end_character":35},"updated":"2018-10-31 13:12:09.000000000","message":"We don\u0027t exercise helm tests in the single node gates. This needs to be removed","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"},{"author":{"_account_id":24165,"name":"Renis Makadia","email":"renis.makadia@att.com","username":"renmak"},"change_message_id":"b2da32accded8678883a5d79ae490d12efd5a91e","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    --no-headers | awk \u0027{ print $1; exit }\u0027)"},{"line_number":200,"context_line":"  kubectl exec -n ceph ${MON_POD} -- ceph -s"},{"line_number":201,"context_line":"done"},{"line_number":202,"context_line":"helm test ceph-osd --timeout 900"},{"line_number":203,"context_line":"helm test ceph-client --timeout 900"}],"source_content_type":"text/x-sh","patch_set":48,"id":"3f79a3b5_698d2635","line":203,"range":{"start_line":202,"start_character":0,"end_line":203,"end_character":35},"in_reply_to":"3f79a3b5_21ae77e4","updated":"2018-11-01 07:53:21.000000000","message":"Done","commit_id":"d0fbd65918854f520351fff94a4f85d637d99036"}]}
