)]}'
{"ceph-osd/templates/bin/osd/_common.sh.tpl":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"8faacf9288e1631d63f3028b30ab8c379b0664e4","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  local device\u003d${1}"},{"line_number":149,"context_line":"  wipefs --all ${device}"},{"line_number":150,"context_line":"  # Wipe the first 200MB boundary, as Bluestore redeployments will not work otherwise"},{"line_number":151,"context_line":"  dd if\u003d/dev/zero of\u003d${device} bs\u003d1M count\u003d200"},{"line_number":152,"context_line":"  sgdisk --zap-all -- ${device}"},{"line_number":153,"context_line":"  sgdisk --clear --mbrtogpt -- ${device}"},{"line_number":154,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_45a6ce55","line":151,"range":{"start_line":151,"start_character":2,"end_line":151,"end_character":46},"updated":"2019-01-26 19:45:58.000000000","message":"i don\u0027t really like this\nwhat\u0027s special about 200M? at the start?\nwhat if the device was smaller?\nare you trying to remove gpt, guard partition and secondary partitions?  if so you still have a GPT at the end...","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"ac8452f266ffd81469778de76afcce70089d8aa7","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  local device\u003d${1}"},{"line_number":149,"context_line":"  wipefs --all ${device}"},{"line_number":150,"context_line":"  # Wipe the first 200MB boundary, as Bluestore redeployments will not work otherwise"},{"line_number":151,"context_line":"  dd if\u003d/dev/zero of\u003d${device} bs\u003d1M count\u003d200"},{"line_number":152,"context_line":"  sgdisk --zap-all -- ${device}"},{"line_number":153,"context_line":"  sgdisk --clear --mbrtogpt -- ${device}"},{"line_number":154,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_48458342","line":151,"range":{"start_line":151,"start_character":2,"end_line":151,"end_character":46},"in_reply_to":"9fdfeff1_252ceaaa","updated":"2019-01-26 20:23:45.000000000","message":"my math then means we need 102 :)","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"e99c0a4bd6d86aece32009e32be4dfa575ffc583","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  local device\u003d${1}"},{"line_number":149,"context_line":"  wipefs --all ${device}"},{"line_number":150,"context_line":"  # Wipe the first 200MB boundary, as Bluestore redeployments will not work otherwise"},{"line_number":151,"context_line":"  dd if\u003d/dev/zero of\u003d${device} bs\u003d1M count\u003d200"},{"line_number":152,"context_line":"  sgdisk --zap-all -- ${device}"},{"line_number":153,"context_line":"  sgdisk --clear --mbrtogpt -- ${device}"},{"line_number":154,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_252ceaaa","line":151,"range":{"start_line":151,"start_character":2,"end_line":151,"end_character":46},"in_reply_to":"9fdfeff1_45a6ce55","updated":"2019-01-26 19:57:25.000000000","message":"Bluestore OSDs have two partitions, a 100MB partition made of up of xfs that has metadata about the OSD in it then another partition that is written to raw by Ceph (which is typically the rest of the disk). We dd the first 200MB, as that covers the first partiton and a portion of the bluefs partition which containers databases, refs and such. If we don\u0027t do this, then a redeployment of an OSD with the same disk on Bluestore will fail. Running just sgdisk is not enough for Blustore.","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"93d6530dd5129b80e116ce0b4f5b07a01807403a","unresolved":false,"context_lines":[{"line_number":148,"context_line":"  local device\u003d${1}"},{"line_number":149,"context_line":"  wipefs --all ${device}"},{"line_number":150,"context_line":"  # Wipe the first 200MB boundary, as Bluestore redeployments will not work otherwise"},{"line_number":151,"context_line":"  dd if\u003d/dev/zero of\u003d${device} bs\u003d1M count\u003d200"},{"line_number":152,"context_line":"  sgdisk --zap-all -- ${device}"},{"line_number":153,"context_line":"  sgdisk --clear --mbrtogpt -- ${device}"},{"line_number":154,"context_line":"}"}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_99adfbea","line":151,"range":{"start_line":151,"start_character":2,"end_line":151,"end_character":46},"in_reply_to":"9fdfeff1_48458342","updated":"2019-01-27 13:18:47.000000000","message":"Actually ceph-disk uses 110MB (as there is extra bits that need to be cleaned up in the bluefs partition that extend past the 2MB boundary), but I\u0027m matching it to 200MB because that is what we use in AT\u0026T/Airship\u0027s CICD pipeline.","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"}],"ceph-osd/templates/bin/osd/_init.sh.tpl":[{"author":{"_account_id":29106,"name":"kranthi kiran guttikonda","email":"kranthi.guttikonda@att.com","username":"kranthikirang"},"change_message_id":"9ae04676cc44027fca5facac8a701228484f898d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            if [  -f \"${tmpmnt}/whoami\" ]; then"},{"line_number":80,"context_line":"              OSD_JOURNAL_DISK\u003d$(readlink -f \"${tmpmnt}/journal\")"},{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"9fdfeff1_64378be5","line":82,"updated":"2019-01-23 17:01:27.000000000","message":"Hi Matthew, When this if condition will happen? If a JOURNAL_TYPE\u003ddirectory then we don\u0027t come into this loop right?","commit_id":"f02ed6c203ec9a42347aa27111de63944b1c603c"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"34056862aba0c07bdfe14752fc604076950c5ead","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            if [  -f \"${tmpmnt}/whoami\" ]; then"},{"line_number":80,"context_line":"              OSD_JOURNAL_DISK\u003d$(readlink -f \"${tmpmnt}/journal\")"},{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"9fdfeff1_c42e7742","line":82,"in_reply_to":"9fdfeff1_64378be5","updated":"2019-01-23 17:14:18.000000000","message":"Correct.","commit_id":"f02ed6c203ec9a42347aa27111de63944b1c603c"},{"author":{"_account_id":29106,"name":"kranthi kiran guttikonda","email":"kranthi.guttikonda@att.com","username":"kranthikirang"},"change_message_id":"d197962ac18ba2be7afe3f904f3efecd4c11a1a6","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            if [  -f \"${tmpmnt}/whoami\" ]; then"},{"line_number":80,"context_line":"              OSD_JOURNAL_DISK\u003d$(readlink -f \"${tmpmnt}/journal\")"},{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"9fdfeff1_df1dde73","line":82,"in_reply_to":"9fdfeff1_64378be5","updated":"2019-01-23 19:00:58.000000000","message":"Done","commit_id":"f02ed6c203ec9a42347aa27111de63944b1c603c"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"cea4917231dbc3df5e3b8ba22164afec75039a39","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            if [  -f \"${tmpmnt}/whoami\" ]; then"},{"line_number":80,"context_line":"              OSD_JOURNAL_DISK\u003d$(readlink -f \"${tmpmnt}/journal\")"},{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"9fdfeff1_29638544","line":82,"in_reply_to":"9fdfeff1_ba76e8a3","updated":"2019-01-24 17:47:54.000000000","message":"I will update the examples for values.yaml.","commit_id":"f02ed6c203ec9a42347aa27111de63944b1c603c"},{"author":{"_account_id":29106,"name":"kranthi kiran guttikonda","email":"kranthi.guttikonda@att.com","username":"kranthikirang"},"change_message_id":"d197962ac18ba2be7afe3f904f3efecd4c11a1a6","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            if [  -f \"${tmpmnt}/whoami\" ]; then"},{"line_number":80,"context_line":"              OSD_JOURNAL_DISK\u003d$(readlink -f \"${tmpmnt}/journal\")"},{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"9fdfeff1_ba76e8a3","line":82,"in_reply_to":"9fdfeff1_c42e7742","updated":"2019-01-23 19:00:58.000000000","message":"Do we need this if condition here? Also I think its better to update ceph-osd/values.yaml with following if my understanding is correct.\n\n# - data:\n#     type: block-logical\n#     location: /dev/sde\n#   journal:\n#     type: block-logical\n#     location: /dev/sdf1\n\n# - data:\n#     type: block-logical\n#     location: /dev/sdg\n#   journal:\n#     type: block-logical\n#     location: /dev/sdf2","commit_id":"f02ed6c203ec9a42347aa27111de63944b1c603c"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"8faacf9288e1631d63f3028b30ab8c379b0664e4","unresolved":false,"context_lines":[{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"},{"line_number":86,"context_line":"                  echo \"It appears that ${OSD_DEVICE} is missing the journal at ${OSD_JOURNAL}.\""},{"line_number":87,"context_line":"                  echo \"Because OSD_FORCE_REPAIR is set, we will wipe the metadata of the OSD and zap it.\""}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_e564a224","line":84,"range":{"start_line":84,"start_character":16,"end_line":84,"end_character":68},"updated":"2019-01-26 19:45:58.000000000","message":"how does that work?\nassuming part{n} ?","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"ac8452f266ffd81469778de76afcce70089d8aa7","unresolved":false,"context_lines":[{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"},{"line_number":86,"context_line":"                  echo \"It appears that ${OSD_DEVICE} is missing the journal at ${OSD_JOURNAL}.\""},{"line_number":87,"context_line":"                  echo \"Because OSD_FORCE_REPAIR is set, we will wipe the metadata of the OSD and zap it.\""}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_e877979f","line":84,"range":{"start_line":84,"start_character":16,"end_line":84,"end_character":68},"in_reply_to":"9fdfeff1_4529ee98","updated":"2019-01-26 20:23:45.000000000","message":"can it be otherwise?","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"e99c0a4bd6d86aece32009e32be4dfa575ffc583","unresolved":false,"context_lines":[{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"},{"line_number":86,"context_line":"                  echo \"It appears that ${OSD_DEVICE} is missing the journal at ${OSD_JOURNAL}.\""},{"line_number":87,"context_line":"                  echo \"Because OSD_FORCE_REPAIR is set, we will wipe the metadata of the OSD and zap it.\""}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_4529ee98","line":84,"range":{"start_line":84,"start_character":16,"end_line":84,"end_character":68},"in_reply_to":"9fdfeff1_e564a224","updated":"2019-01-26 19:57:25.000000000","message":"Yes, that\u0027s correct.","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"},{"author":{"_account_id":29268,"name":"Matthew Heler","email":"matthew.heler@hotmail.com","username":"mheler"},"change_message_id":"93d6530dd5129b80e116ce0b4f5b07a01807403a","unresolved":false,"context_lines":[{"line_number":81,"context_line":"              local osd_id\u003d$(cat \"${tmpmnt}/whoami\")"},{"line_number":82,"context_line":"              if [ ! -b \"${OSD_JOURNAL_DISK}\" ]; then"},{"line_number":83,"context_line":"                OSD_JOURNAL\u003d$(readlink -f ${OSD_JOURNAL})"},{"line_number":84,"context_line":"                local jdev\u003d$(echo ${OSD_JOURNAL} | sed \u0027s/[0-9]//g\u0027)"},{"line_number":85,"context_line":"                if [ ${jdev} \u003d\u003d ${OSD_JOURNAL} ]; then"},{"line_number":86,"context_line":"                  echo \"It appears that ${OSD_DEVICE} is missing the journal at ${OSD_JOURNAL}.\""},{"line_number":87,"context_line":"                  echo \"Because OSD_FORCE_REPAIR is set, we will wipe the metadata of the OSD and zap it.\""}],"source_content_type":"text/x-smarty","patch_set":7,"id":"9fdfeff1_d972a3ad","line":84,"range":{"start_line":84,"start_character":16,"end_line":84,"end_character":68},"in_reply_to":"9fdfeff1_e877979f","updated":"2019-01-27 13:18:47.000000000","message":"Correction. This removes the partition # and compares it to the OSD_JOURNAL defined by the configuration yaml/manifest file. If it matches then we assume the journal disk was defined using the whole disk (/dev/sdc) thus the OSD and journal disk are both wiped for a journal disk replacement. If it doesn\u0027t match then we repartition the replacement journal disk and associate that partition to the OSD by altering it\u0027s metadata on xfs. For our use cases (and most out there) this is the behavior we want, but for some niche use cases it might appropiate to set the OSD_FORCE_REPAIR flag to false thus bypassing this whole journal recovery and osd disk replacement function.","commit_id":"61b93c6b461afa6b4ac7222d388ff8f00bae3f48"}]}
