)]}'
{"libvirt/templates/bin/_libvirt.sh.tpl":[{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"82ed469cb353b85217b0963f35251a4348db6591","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    exit 1"},{"line_number":61,"context_line":"  fi"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  # Kubernetes 1.10.x introduced cgroup changes that caused the container\u0027s"},{"line_number":64,"context_line":"  # hugepage byte limit quota to zero out. This workaround sets that pod limit"},{"line_number":65,"context_line":"  # back to the total number of hugepage bytes available to the baremetal host."},{"line_number":66,"context_line":"  if [ -d /sys/fs/cgroup/hugetlb ]; then"},{"line_number":67,"context_line":"    limits\u003d\"$(ls /sys/fs/cgroup/hugetlb/{{ .Values.conf.kubernetes.cgroup }}/hugetlb.*.limit_in_bytes)\" || \\"},{"line_number":68,"context_line":"      (echo \"ERROR: Failed to locate any hugetable limits. Did you set the correct cgroup in your values used for this chart?\""},{"line_number":69,"context_line":"       exit 1)"},{"line_number":70,"context_line":"    for limit in $limits; do"},{"line_number":71,"context_line":"      target\u003d\"/sys/fs/cgroup/hugetlb/$(dirname $(awk -F: \u0027($2~/hugetlb/){print $3}\u0027 /proc/self/cgroup))/$(basename $limit)\""},{"line_number":72,"context_line":"      # Ensure the write target for the hugepage limit for the pod exists"},{"line_number":73,"context_line":"      if [ ! -f \"$target\" ]; then"},{"line_number":74,"context_line":"        echo \"ERROR: Could not find write target for hugepage limit: $target\""},{"line_number":75,"context_line":"      fi"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"      # Write hugetable limit for pod"},{"line_number":78,"context_line":"      echo \"$(cat $limit)\" \u003e \"$target\""},{"line_number":79,"context_line":"    done"},{"line_number":80,"context_line":"  fi"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  # Determine OS default hugepage size to use for the hugepage write test"},{"line_number":83,"context_line":"  default_hp_kb\u003d\"$(cat /proc/meminfo | grep Hugepagesize | tr -cd \u0027[:digit:]\u0027)\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  # Attempt to write to the hugepage mount to ensure it is operational, but only"},{"line_number":86,"context_line":"  # if we have at least 1 free page."},{"line_number":87,"context_line":"  num_free_pages\u003d\"$(cat /sys/kernel/mm/hugepages/hugepages-${default_hp_kb}kB/free_hugepages | tr -cd \u0027[:digit:]\u0027)\""},{"line_number":88,"context_line":"  echo \"INFO: \u0027$num_free_pages\u0027 free hugepages of size ${default_hp_kb}kB\""},{"line_number":89,"context_line":"  if [ 0\"$num_free_pages\" -gt 0 ]; then"},{"line_number":90,"context_line":"    (fallocate -o0 -l \"$default_hp_kb\" /dev/hugepages/foo \u0026\u0026 rm /dev/hugepages/foo) || \\"},{"line_number":91,"context_line":"      (echo \"ERROR: fallocate failed test at /dev/hugepages with size ${default_hp_kb}kB\""},{"line_number":92,"context_line":"       rm /dev/hugepages/foo"},{"line_number":93,"context_line":"       exit 1)"},{"line_number":94,"context_line":"  fi"},{"line_number":95,"context_line":"fi"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"if [ -n \"${LIBVIRT_CEPH_CINDER_SECRET_UUID}\" ] ; then"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"ffd0ebdf_ef4b8bad","line":94,"range":{"start_line":63,"start_character":0,"end_line":94,"end_character":4},"updated":"2019-01-03 22:25:38.000000000","message":"as we now break out of the k8s defined cgroups, do we need any of this anymore?","commit_id":"ff7985e391379336a9b9821307c267559ac12075"},{"author":{"_account_id":7769,"name":"Pentheus","display_name":"Alan Meadows","email":"alan.meadows@gmail.com","username":"alanmeadows"},"change_message_id":"9eb2b02bb9e01be6e25fed2e99d15a7ad3578c4a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    exit 1"},{"line_number":61,"context_line":"  fi"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"  # Kubernetes 1.10.x introduced cgroup changes that caused the container\u0027s"},{"line_number":64,"context_line":"  # hugepage byte limit quota to zero out. This workaround sets that pod limit"},{"line_number":65,"context_line":"  # back to the total number of hugepage bytes available to the baremetal host."},{"line_number":66,"context_line":"  if [ -d /sys/fs/cgroup/hugetlb ]; then"},{"line_number":67,"context_line":"    limits\u003d\"$(ls /sys/fs/cgroup/hugetlb/{{ .Values.conf.kubernetes.cgroup }}/hugetlb.*.limit_in_bytes)\" || \\"},{"line_number":68,"context_line":"      (echo \"ERROR: Failed to locate any hugetable limits. Did you set the correct cgroup in your values used for this chart?\""},{"line_number":69,"context_line":"       exit 1)"},{"line_number":70,"context_line":"    for limit in $limits; do"},{"line_number":71,"context_line":"      target\u003d\"/sys/fs/cgroup/hugetlb/$(dirname $(awk -F: \u0027($2~/hugetlb/){print $3}\u0027 /proc/self/cgroup))/$(basename $limit)\""},{"line_number":72,"context_line":"      # Ensure the write target for the hugepage limit for the pod exists"},{"line_number":73,"context_line":"      if [ ! -f \"$target\" ]; then"},{"line_number":74,"context_line":"        echo \"ERROR: Could not find write target for hugepage limit: $target\""},{"line_number":75,"context_line":"      fi"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"      # Write hugetable limit for pod"},{"line_number":78,"context_line":"      echo \"$(cat $limit)\" \u003e \"$target\""},{"line_number":79,"context_line":"    done"},{"line_number":80,"context_line":"  fi"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  # Determine OS default hugepage size to use for the hugepage write test"},{"line_number":83,"context_line":"  default_hp_kb\u003d\"$(cat /proc/meminfo | grep Hugepagesize | tr -cd \u0027[:digit:]\u0027)\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"  # Attempt to write to the hugepage mount to ensure it is operational, but only"},{"line_number":86,"context_line":"  # if we have at least 1 free page."},{"line_number":87,"context_line":"  num_free_pages\u003d\"$(cat /sys/kernel/mm/hugepages/hugepages-${default_hp_kb}kB/free_hugepages | tr -cd \u0027[:digit:]\u0027)\""},{"line_number":88,"context_line":"  echo \"INFO: \u0027$num_free_pages\u0027 free hugepages of size ${default_hp_kb}kB\""},{"line_number":89,"context_line":"  if [ 0\"$num_free_pages\" -gt 0 ]; then"},{"line_number":90,"context_line":"    (fallocate -o0 -l \"$default_hp_kb\" /dev/hugepages/foo \u0026\u0026 rm /dev/hugepages/foo) || \\"},{"line_number":91,"context_line":"      (echo \"ERROR: fallocate failed test at /dev/hugepages with size ${default_hp_kb}kB\""},{"line_number":92,"context_line":"       rm /dev/hugepages/foo"},{"line_number":93,"context_line":"       exit 1)"},{"line_number":94,"context_line":"  fi"},{"line_number":95,"context_line":"fi"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"if [ -n \"${LIBVIRT_CEPH_CINDER_SECRET_UUID}\" ] ; then"}],"source_content_type":"text/x-smarty","patch_set":1,"id":"ffd0ebdf_1a12cf59","line":94,"range":{"start_line":63,"start_character":0,"end_line":94,"end_character":4},"in_reply_to":"ffd0ebdf_ef4b8bad","updated":"2019-01-03 22:39:47.000000000","message":"I cannot speak to whether the manipulation is required when using an alternate \"blank\" cgroup root -- but the validation aspect of this seems useful to me still.","commit_id":"ff7985e391379336a9b9821307c267559ac12075"}]}
