)]}'
{"lib/baremetal":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"DNSMASQ_IFACE\u003d${DNSMASQ_IFACE:-eth0}"},{"line_number":48,"context_line":"DNSMASQ_RANGE\u003d${DNSMASQ_RANGE:-192.0.2.41,192.0.2.63}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"PM_ADDR\u003d${PM_ADDR:-1.2.3.4}"},{"line_number":51,"context_line":"PM_USER\u003d${PM_USER:-root}"},{"line_number":52,"context_line":"PM_PASS\u003d${PM_PASS:-secret}"},{"line_number":53,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1jg%3D","line":50,"updated":"2012-11-20 19:21:13.000000000","message":"This seems like it should default to 127.0.0.1 or some similar things. 1.2.3.4 isn\u0027t guarunteed to be unallocated. :)","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":47,"context_line":"DNSMASQ_IFACE\u003d${DNSMASQ_IFACE:-eth0}"},{"line_number":48,"context_line":"DNSMASQ_RANGE\u003d${DNSMASQ_RANGE:-192.0.2.41,192.0.2.63}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"PM_ADDR\u003d${PM_ADDR:-1.2.3.4}"},{"line_number":51,"context_line":"PM_USER\u003d${PM_USER:-root}"},{"line_number":52,"context_line":"PM_PASS\u003d${PM_PASS:-secret}"},{"line_number":53,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1T4%3D","line":50,"in_reply_to":"AAAAMH%2F%2F1jg%3D","updated":"2012-11-20 21:19:19.000000000","message":"these are fake but necessary options. values changed and comment added","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"BM_FLAVOR_ARCH\u003d${BM_FLAVOR_ARCH:-x86_64}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"BM_FIRST_MAC\u003d${BM_FIRST_MAC:-01:23:45:67:89:01}"},{"line_number":64,"context_line":"BM_SECOND_MAC\u003d${BM_SECOND_MAC:-01:23:45:67:89:02}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"IMAGE_BUILD_DIR\u003d$DEST/diskimage-builder"},{"line_number":67,"context_line":"IMG_PATH\u003d$TOP_DIR/files"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1jA%3D","line":64,"updated":"2012-11-20 19:21:13.000000000","message":"In general only set a default if it actually has a real chance of working, which I don\u0027t think this does. It seems like in this case you really want to just error early if they didn\u0027t set up all their variables right.","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":61,"context_line":"BM_FLAVOR_ARCH\u003d${BM_FLAVOR_ARCH:-x86_64}"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"BM_FIRST_MAC\u003d${BM_FIRST_MAC:-01:23:45:67:89:01}"},{"line_number":64,"context_line":"BM_SECOND_MAC\u003d${BM_SECOND_MAC:-01:23:45:67:89:02}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"IMAGE_BUILD_DIR\u003d$DEST/diskimage-builder"},{"line_number":67,"context_line":"IMG_PATH\u003d$TOP_DIR/files"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1Ts%3D","line":64,"in_reply_to":"AAAAMH%2F%2F1jA%3D","updated":"2012-11-20 21:19:19.000000000","message":"actually, i need to sort out how to set these properly based on an as-yett\u003d-to-be-written VM creation function ... but good point about setting useless defaults","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BM_FIRST_MAC\u003d${BM_FIRST_MAC:-01:23:45:67:89:01}"},{"line_number":64,"context_line":"BM_SECOND_MAC\u003d${BM_SECOND_MAC:-01:23:45:67:89:02}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"IMAGE_BUILD_DIR\u003d$DEST/diskimage-builder"},{"line_number":67,"context_line":"IMG_PATH\u003d$TOP_DIR/files"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"KERNEL\u003d$(uname -r)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1js%3D","line":66,"updated":"2012-11-20 19:21:13.000000000","message":"I think we want to BM_ prefix everything in this file so it can\u0027t conflict.","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":63,"context_line":"BM_FIRST_MAC\u003d${BM_FIRST_MAC:-01:23:45:67:89:01}"},{"line_number":64,"context_line":"BM_SECOND_MAC\u003d${BM_SECOND_MAC:-01:23:45:67:89:02}"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"IMAGE_BUILD_DIR\u003d$DEST/diskimage-builder"},{"line_number":67,"context_line":"IMG_PATH\u003d$TOP_DIR/files"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"KERNEL\u003d$(uname -r)"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1To%3D","line":66,"in_reply_to":"AAAAMH%2F%2F1js%3D","updated":"2012-11-20 21:19:19.000000000","message":"Done","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"# pull run-time kernel/initrd out of disk image and load into glance"},{"line_number":155,"context_line":"# note that $file is currently expected to be in qcow2 format"},{"line_number":156,"context_line":"# Usage: "},{"line_number":157,"context_line":"#     (aki,ari) \u003d extract_and_upload_k_and_r_from_image $token $file"},{"line_number":158,"context_line":"function extract_and_upload_k_and_r_from_image() {"},{"line_number":159,"context_line":"    token\u003d$1"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1kE%3D","line":156,"updated":"2012-11-20 19:21:13.000000000","message":"whacky space","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    RAMDISK\u003d${out##*,}"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    # load them into glance"},{"line_number":176,"context_line":"    KERNEL_ID\u003d$(glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name $image_name-kernel --public --disk-format\u003daki \u003c $IMG_PATH/$KERNEL | grep \u0027 id \u0027 | get_field 2)"},{"line_number":177,"context_line":"    RAMDISK_ID\u003d$(glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name $image_name-initrd --public --disk-format\u003dari \u003c $IMG_PATH/$RAMDISK | grep \u0027 id \u0027 | get_field 2)"},{"line_number":178,"context_line":"}"},{"line_number":179,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1j8%3D","line":176,"updated":"2012-11-20 19:21:13.000000000","message":"can you do some \\ to make the lines come in close to 80 cols?","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    RAMDISK\u003d${out##*,}"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    # load them into glance"},{"line_number":176,"context_line":"    KERNEL_ID\u003d$(glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name $image_name-kernel --public --disk-format\u003daki \u003c $IMG_PATH/$KERNEL | grep \u0027 id \u0027 | get_field 2)"},{"line_number":177,"context_line":"    RAMDISK_ID\u003d$(glance --os-auth-token $token --os-image-url http://$GLANCE_HOSTPORT image-create --name $image_name-initrd --public --disk-format\u003dari \u003c $IMG_PATH/$RAMDISK | grep \u0027 id \u0027 | get_field 2)"},{"line_number":178,"context_line":"}"},{"line_number":179,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1Tk%3D","line":176,"in_reply_to":"AAAAMH%2F%2F1j8%3D","updated":"2012-11-20 21:19:19.000000000","message":"Done","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e08a00479ac98f48fd967eaa95844e7a22627187","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2012 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2Fvtk%3D","line":1,"updated":"2012-11-27 16:41:18.000000000","message":"This file has extraneous whitespace and a mixture of 3 space and 4 space indents.  Please remove all trailing whitespace and use 4 space indentation.","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"74618a7904d588b572c4e1cdeca0396506e9c800","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2012 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2Fvd8%3D","line":1,"in_reply_to":"AAAAMH%2F%2Fvtk%3D","updated":"2012-11-27 19:55:41.000000000","message":"+1","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e08a00479ac98f48fd967eaa95844e7a22627187","unresolved":false,"context_lines":[{"line_number":111,"context_line":"# Defaults are probably sufficient."},{"line_number":112,"context_line":"BM_IMAGE_BUILD_DIR\u003d${BM_IMAGE_BUILD_DIR:-$DEST/diskimage-builder}"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"IMG_PATH\u003d$TOP_DIR/files"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"KERNEL\u003d$(uname -r)"},{"line_number":117,"context_line":"BM_DEPLOY_RAMDISK\u003d${BM_DEPLOY_RAMDISK:-bm-deploy-$KERNEL-initrd}"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2FvsU%3D","line":114,"updated":"2012-11-27 16:41:18.000000000","message":"I know this is what the rest of devstack still does but I\u0027d like to change that...let\u0027s start here by using $DEST/images","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"02748620c4bb5829b053d0836b88fa9988d858ca","unresolved":false,"context_lines":[{"line_number":111,"context_line":"# Defaults are probably sufficient."},{"line_number":112,"context_line":"BM_IMAGE_BUILD_DIR\u003d${BM_IMAGE_BUILD_DIR:-$DEST/diskimage-builder}"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"IMG_PATH\u003d$TOP_DIR/files"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"KERNEL\u003d$(uname -r)"},{"line_number":117,"context_line":"BM_DEPLOY_RAMDISK\u003d${BM_DEPLOY_RAMDISK:-bm-deploy-$KERNEL-initrd}"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2FtrQ%3D","line":114,"in_reply_to":"AAAAMH%2F%2FvsU%3D","updated":"2012-11-29 00:33:29.000000000","message":"Dean, I\u0027m not quite sure what you mean here. IIUC, you are suggesting it should be this:\n\nIMG_PATH\u003d$DEST/images\n\nThe goal is for this to be the same place that the common upload_images() function stores things. Is that changing?","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"74618a7904d588b572c4e1cdeca0396506e9c800","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"# Check if baremetal is properly enabled"},{"line_number":132,"context_line":"# Returns false if VIRT_DRIVER is not baremetal, or if ENABLED_SERVICES"},{"line_number":133,"context_line":"# does not contain \"baremetal\""},{"line_number":134,"context_line":"function is_baremetal() {"},{"line_number":135,"context_line":"   [[ \"$ENABLED_SERVICES\" \u003d~ \u0027baremetal\u0027 ]] || return 1"},{"line_number":136,"context_line":"   [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]] || return 1"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2Fvdk%3D","line":133,"updated":"2012-11-27 19:55:41.000000000","message":"so this actually returns false only if both aren\u0027t set to baremetal, which seems weird.","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"02748620c4bb5829b053d0836b88fa9988d858ca","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"# Check if baremetal is properly enabled"},{"line_number":132,"context_line":"# Returns false if VIRT_DRIVER is not baremetal, or if ENABLED_SERVICES"},{"line_number":133,"context_line":"# does not contain \"baremetal\""},{"line_number":134,"context_line":"function is_baremetal() {"},{"line_number":135,"context_line":"   [[ \"$ENABLED_SERVICES\" \u003d~ \u0027baremetal\u0027 ]] || return 1"},{"line_number":136,"context_line":"   [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]] || return 1"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2FtrM%3D","line":133,"in_reply_to":"AAAAMH%2F%2Fvdk%3D","updated":"2012-11-29 00:33:29.000000000","message":"gah. yes!","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e08a00479ac98f48fd967eaa95844e7a22627187","unresolved":false,"context_lines":[{"line_number":172,"context_line":"       sudo /etc/init.d/dnsmasq stop"},{"line_number":173,"context_line":"       sudo update-rc.d dnsmasq disable"},{"line_number":174,"context_line":"   fi"},{"line_number":175,"context_line":"   # TODO(deva): add support on non-deb systems"},{"line_number":176,"context_line":"}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# build deploy kernel+ramdisk, then upload them to glance"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2Fvtc%3D","line":175,"updated":"2012-11-27 16:41:18.000000000","message":"If non Debian-based distros are not supported shouldn\u0027t we raise an error here?  Or somewhere?","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"02748620c4bb5829b053d0836b88fa9988d858ca","unresolved":false,"context_lines":[{"line_number":172,"context_line":"       sudo /etc/init.d/dnsmasq stop"},{"line_number":173,"context_line":"       sudo update-rc.d dnsmasq disable"},{"line_number":174,"context_line":"   fi"},{"line_number":175,"context_line":"   # TODO(deva): add support on non-deb systems"},{"line_number":176,"context_line":"}"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"# build deploy kernel+ramdisk, then upload them to glance"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2FtrI%3D","line":175,"in_reply_to":"AAAAMH%2F%2Fvtc%3D","updated":"2012-11-29 00:33:29.000000000","message":"Done","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"86faecd7c5bd213e9a1df52d69de27b525790875","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        local dnsmasq_installed\u003d0"},{"line_number":189,"context_line":"        dpkg -s \"dnsmasq\" \u003e /dev/null 2\u003e\u00261 \u0026\u0026 dnsmasq_installed\u003d1"},{"line_number":190,"context_line":"        if [[ ${dnsmasq_installed} -eq 0 ]]; then"},{"line_number":191,"context_line":"        \tapt_get dnsmasq"},{"line_number":192,"context_line":"        fi"},{"line_number":193,"context_line":"        # because baremetal driver will reconfigure and restart this as needed"},{"line_number":194,"context_line":"        sudo /etc/init.d/dnsmasq stop"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"AAAAMH%2F%2FsXk%3D","line":191,"updated":"2012-11-30 00:36:30.000000000","message":"Darn editor.. will fix","commit_id":"9431180791c0ad3eb6df638299ebc1c1b6c8d371"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"121b545e73b69e9b00c1466bb140984dab7fd837","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2012 Hewlett-Packard Development Company, L.P."},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"application/octet-stream","patch_set":25,"id":"AAAAMH%2F%2Frqc%3D","line":1,"updated":"2012-11-30 18:07:45.000000000","message":"sourced files don\u0027t need a shebang, and shouldn\u0027t have one as that implies they\u0027re standalone scripts","commit_id":"4507908e5effef2accd8a927a310db89de619a96"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"121b545e73b69e9b00c1466bb140984dab7fd837","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"IMG_PATH\u003d$TOP_DIR/files"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"KERNEL\u003d$(uname -r)"},{"line_number":117,"context_line":"BM_DEPLOY_RAMDISK\u003d${BM_DEPLOY_RAMDISK:-bm-deploy-$KERNEL-initrd}"},{"line_number":118,"context_line":"BM_DEPLOY_KERNEL\u003d${BM_DEPLOY_KERNEL:-bm-deploy-$KERNEL-vmlinuz}"},{"line_number":119,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":25,"id":"AAAAMH%2F%2Frp4%3D","line":116,"updated":"2012-11-30 18:07:45.000000000","message":"This should be more qualified, such a generic var may be overwritten unexpectedly.  It appears to be used in upload_baremetal_deploy without being initialized so it assumes this value is still valid.","commit_id":"4507908e5effef2accd8a927a310db89de619a96"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"7b1e0e79767dcedcb414582c2b59c324b4c34491","unresolved":false,"context_lines":[{"line_number":29,"context_line":"#    ENABLED_SERVICES\u003d\"$ENABLED_SERVICES,baremetal\""},{"line_number":30,"context_line":"#"},{"line_number":31,"context_line":"#"},{"line_number":32,"context_line":"# We utilize a diskimage-building toolchain to create specific images (flavors)"},{"line_number":33,"context_line":"# and push those onto the \"baremetal\" nodes."},{"line_number":34,"context_line":"#"},{"line_number":35,"context_line":"# Below we define various defaults which control the behavior of the"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F6Ek%3D","line":32,"updated":"2012-12-07 21:38:47.000000000","message":"We\u0027re calling the building blocks elements now, but we don\u0027t have a name for \u0027the combination of a set of elements\u0027. I suggest just dropping the (flavors) and instead saying \u0027...specific images and push those onto the \"baremetal\" nodes.\u0027","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8e0a812fc37184a165e714beefdd6d64404eb2c5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"#    ENABLED_SERVICES\u003d\"$ENABLED_SERVICES,baremetal\""},{"line_number":30,"context_line":"#"},{"line_number":31,"context_line":"#"},{"line_number":32,"context_line":"# We utilize a diskimage-building toolchain to create specific images (flavors)"},{"line_number":33,"context_line":"# and push those onto the \"baremetal\" nodes."},{"line_number":34,"context_line":"#"},{"line_number":35,"context_line":"# Below we define various defaults which control the behavior of the"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F5dA%3D","line":32,"in_reply_to":"AAAAMX%2F%2F6Ek%3D","updated":"2012-12-09 21:13:12.000000000","message":"Done","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"aafd55607b23b550d57deca241401d83640a8a00","unresolved":false,"context_lines":[{"line_number":29,"context_line":"#    ENABLED_SERVICES\u003d\"$ENABLED_SERVICES,baremetal\""},{"line_number":30,"context_line":"#"},{"line_number":31,"context_line":"#"},{"line_number":32,"context_line":"# We utilize a diskimage-building toolchain to create specific images (flavors)"},{"line_number":33,"context_line":"# and push those onto the \"baremetal\" nodes."},{"line_number":34,"context_line":"#"},{"line_number":35,"context_line":"# Below we define various defaults which control the behavior of the"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F5gM%3D","line":32,"in_reply_to":"AAAAMX%2F%2F6Ek%3D","updated":"2012-12-09 17:33:47.000000000","message":"ahh I grep\u0027ed for flavour","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"51a913c8ef4d064a3e856a37bf446a1c1bd5f941","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    if [[ ! -d $DEST/$SHELL_IN_A_BOX_VER ]]; then"},{"line_number":154,"context_line":"        cd $DEST"},{"line_number":155,"context_line":"        wget $SHELL_IN_A_BOX_URL/$SHELL_IN_A_BOX_VER.tar.gz"},{"line_number":156,"context_line":"        tar xzf $SHELL_IN_A_BOX_VER.tar.gz"},{"line_number":157,"context_line":"    fi"},{"line_number":158,"context_line":"    if [[ ! $(which shellinaboxd) ]]; then"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F55c%3D","line":155,"updated":"2012-12-08 07:29:46.000000000","message":"Well, if we\u0027re going to do one more pass - this needs to be over-rideable. Preferrably, there should be a config option settable in localrc that specifies a local location of this file, and if that exists, it should be used rather than wget-ed.","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"aafd55607b23b550d57deca241401d83640a8a00","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    if [[ ! -d $DEST/$SHELL_IN_A_BOX_VER ]]; then"},{"line_number":154,"context_line":"        cd $DEST"},{"line_number":155,"context_line":"        wget $SHELL_IN_A_BOX_URL/$SHELL_IN_A_BOX_VER.tar.gz"},{"line_number":156,"context_line":"        tar xzf $SHELL_IN_A_BOX_VER.tar.gz"},{"line_number":157,"context_line":"    fi"},{"line_number":158,"context_line":"    if [[ ! $(which shellinaboxd) ]]; then"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F5xg%3D","line":155,"in_reply_to":"AAAAMX%2F%2F55c%3D","updated":"2012-12-09 17:33:47.000000000","message":"Don\u0027t really even need an option in localrc. we can remove $SHELL_IN_A_BOX_URL var and wget. Instead detect if the $SHELL_IN_A_BOX_VER.tar.gz file is in the files/ folder and if so install it. This allows us to install or not just placing or removing the file from the local files/ folder.","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8e0a812fc37184a165e714beefdd6d64404eb2c5","unresolved":false,"context_lines":[{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    if [[ ! -d $DEST/$SHELL_IN_A_BOX_VER ]]; then"},{"line_number":154,"context_line":"        cd $DEST"},{"line_number":155,"context_line":"        wget $SHELL_IN_A_BOX_URL/$SHELL_IN_A_BOX_VER.tar.gz"},{"line_number":156,"context_line":"        tar xzf $SHELL_IN_A_BOX_VER.tar.gz"},{"line_number":157,"context_line":"    fi"},{"line_number":158,"context_line":"    if [[ ! $(which shellinaboxd) ]]; then"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F5dY%3D","line":155,"in_reply_to":"AAAAMX%2F%2F5xg%3D","updated":"2012-12-09 21:13:12.000000000","message":"++ to Monty\u0027s suggestion. I\u0027ll clean it up","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"7b1e0e79767dcedcb414582c2b59c324b4c34491","unresolved":false,"context_lines":[{"line_number":167,"context_line":"function configure_baremetal_nova_dirs() {"},{"line_number":168,"context_line":"    sudo mkdir -p /tftpboot"},{"line_number":169,"context_line":"    sudo mkdir -p /tftpboot/pxelinux.cfg"},{"line_number":170,"context_line":"    sudo cp /usr/lib/syslinux/pxelinux.0 /tftpboot/"},{"line_number":171,"context_line":"    sudo chown -R `whoami`:libvirtd /tftpboot"},{"line_number":172,"context_line":"    if [[ ! -d $NOVA_STATE_PATH/baremetal ]]; then"},{"line_number":173,"context_line":"        sudo mkdir -p $NOVA_STATE_PATH/baremetal"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F6Eg%3D","line":170,"updated":"2012-12-07 21:38:47.000000000","message":"possibly want to symlink, not copy.","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"aafd55607b23b550d57deca241401d83640a8a00","unresolved":false,"context_lines":[{"line_number":167,"context_line":"function configure_baremetal_nova_dirs() {"},{"line_number":168,"context_line":"    sudo mkdir -p /tftpboot"},{"line_number":169,"context_line":"    sudo mkdir -p /tftpboot/pxelinux.cfg"},{"line_number":170,"context_line":"    sudo cp /usr/lib/syslinux/pxelinux.0 /tftpboot/"},{"line_number":171,"context_line":"    sudo chown -R `whoami`:libvirtd /tftpboot"},{"line_number":172,"context_line":"    if [[ ! -d $NOVA_STATE_PATH/baremetal ]]; then"},{"line_number":173,"context_line":"        sudo mkdir -p $NOVA_STATE_PATH/baremetal"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F5hU%3D","line":170,"in_reply_to":"AAAAMX%2F%2F6Eg%3D","updated":"2012-12-09 17:33:47.000000000","message":"if we are going to link would a hard link be better?","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"7b1e0e79767dcedcb414582c2b59c324b4c34491","unresolved":false,"context_lines":[{"line_number":290,"context_line":"}"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# Re-implementation of devstack\u0027s \"upload_image\" function which"},{"line_number":294,"context_line":"# calls extract_and_upload_k_and_r_from_image on the supplied image."},{"line_number":295,"context_line":"# Takes the same parameters."},{"line_number":296,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F6Ec%3D","line":293,"updated":"2012-12-07 21:38:47.000000000","message":"This is going into devstack, so surely we should refactor upload_image to optionall call extract_and_upload_k_and_r_from_image, instead of having \u0027a reimplementation\u0027.","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8e0a812fc37184a165e714beefdd6d64404eb2c5","unresolved":false,"context_lines":[{"line_number":290,"context_line":"}"},{"line_number":291,"context_line":""},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"# Re-implementation of devstack\u0027s \"upload_image\" function which"},{"line_number":294,"context_line":"# calls extract_and_upload_k_and_r_from_image on the supplied image."},{"line_number":295,"context_line":"# Takes the same parameters."},{"line_number":296,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":29,"id":"AAAAMX%2F%2F5d0%3D","line":293,"in_reply_to":"AAAAMX%2F%2F6Ec%3D","updated":"2012-12-09 21:13:12.000000000","message":"Initially, I went the route of expanding upload_image, but felt that it became too much of a mess keeping track of all the IF conditions. I think it\u0027s cleaner to add a hook in stack.sh to call the appropriate upload_image function, rather than make the existing function significantly harder to read... I\u0027ll update the doc to reflect my reasoning.","commit_id":"6618ffa5315ed8360380d7cd6acc1d246a3d9912"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"382ee3ade4a36b7f556760d1f00ca9f23946f5bd","unresolved":false,"context_lines":[{"line_number":141,"context_line":"# so that we can build the deployment kernel \u0026 ramdisk"},{"line_number":142,"context_line":"function prepare_baremetal_toolchain() {"},{"line_number":143,"context_line":"    git_clone $BM_IMAGE_BUILD_REPO $BM_IMAGE_BUILD_DIR $BM_IMAGE_BUILD_BRANCH"},{"line_number":144,"context_line":"    "},{"line_number":145,"context_line":"    local shellinabox_basename\u003d$(basename $BM_SHELL_IN_A_BOX)"},{"line_number":146,"context_line":"    if [[ ! -e $DEST/$shellinabox_basename ]]; then"},{"line_number":147,"context_line":"        cd $DEST"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"AAAAMX%2F%2F2ig%3D","line":144,"updated":"2012-12-12 17:06:18.000000000","message":"whitespace","commit_id":"b735faba49315411a2456f5503cfd1b725e430ac"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"a02994d6290ad2ee3acadc68057a2e51a7a1331c","unresolved":false,"context_lines":[{"line_number":141,"context_line":"# so that we can build the deployment kernel \u0026 ramdisk"},{"line_number":142,"context_line":"function prepare_baremetal_toolchain() {"},{"line_number":143,"context_line":"    git_clone $BM_IMAGE_BUILD_REPO $BM_IMAGE_BUILD_DIR $BM_IMAGE_BUILD_BRANCH"},{"line_number":144,"context_line":"    "},{"line_number":145,"context_line":"    local shellinabox_basename\u003d$(basename $BM_SHELL_IN_A_BOX)"},{"line_number":146,"context_line":"    if [[ ! -e $DEST/$shellinabox_basename ]]; then"},{"line_number":147,"context_line":"        cd $DEST"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"AAAAMX%2F%2F2fc%3D","line":144,"in_reply_to":"AAAAMX%2F%2F2ig%3D","updated":"2012-12-12 17:19:13.000000000","message":"Done","commit_id":"b735faba49315411a2456f5503cfd1b725e430ac"}],"lib/nova":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ef7f26d19bbaa440f6157bc7df8798b903690781","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        # (Re)create nova baremetal database"},{"line_number":394,"context_line":"        if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":395,"context_line":"            recreate_database nova_bm latin1"},{"line_number":396,"context_line":"            add_nova_opt \"baremetal_sql_connection\u003dmysql://$MYSQL_USER:$MYSQL_PASSWORD@localhost/nova_bm?charset\u003dutf8\""},{"line_number":397,"context_line":"            $NOVA_BIN_DIR/nova-baremetal-manage db sync"},{"line_number":398,"context_line":"        fi "},{"line_number":399,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAMH%2F%2F%2BfM%3D","line":396,"updated":"2012-11-13 12:47:42.000000000","message":"so MYSQL is no longer assumed in devstack, this will need to be generalized.","commit_id":"5d9cbc39a9b139f953dbb7bb66ab3b2e6b5b7d24"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8afeb34b3f2cbc55e08c46b4fb9402bc35796098","unresolved":false,"context_lines":[{"line_number":393,"context_line":"        # (Re)create nova baremetal database"},{"line_number":394,"context_line":"        if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":395,"context_line":"            recreate_database nova_bm latin1"},{"line_number":396,"context_line":"            add_nova_opt \"baremetal_sql_connection\u003dmysql://$MYSQL_USER:$MYSQL_PASSWORD@localhost/nova_bm?charset\u003dutf8\""},{"line_number":397,"context_line":"            $NOVA_BIN_DIR/nova-baremetal-manage db sync"},{"line_number":398,"context_line":"        fi "},{"line_number":399,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAMH%2F%2F%2BB0%3D","line":396,"in_reply_to":"AAAAMH%2F%2F%2BfM%3D","updated":"2012-11-13 18:24:58.000000000","message":"Done","commit_id":"5d9cbc39a9b139f953dbb7bb66ab3b2e6b5b7d24"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"989454aeb891358c9d715e7832795b2e79d48e32","unresolved":false,"context_lines":[{"line_number":396,"context_line":""},{"line_number":397,"context_line":"        # (Re)create nova baremetal database"},{"line_number":398,"context_line":"        if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":399,"context_line":"            recreate_database nova_bm latin1"},{"line_number":400,"context_line":"            $NOVA_BIN_DIR/nova-baremetal-manage db sync"},{"line_number":401,"context_line":"        fi "},{"line_number":402,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAMH%2F%2F10g%3D","line":399,"updated":"2012-11-20 16:29:16.000000000","message":"nova\u0027s use of utf8 was due to a migration issue that I believe may have been/will be cleared up with the migration squash...is there a specific reason to not use utf8 directly here?","commit_id":"cf280e19b97a7785cd59d9048b12333682f273b2"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"b4a151b2235c72bcdd31d73094a823aae338aff0","unresolved":false,"context_lines":[{"line_number":396,"context_line":""},{"line_number":397,"context_line":"        # (Re)create nova baremetal database"},{"line_number":398,"context_line":"        if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":399,"context_line":"            recreate_database nova_bm latin1"},{"line_number":400,"context_line":"            $NOVA_BIN_DIR/nova-baremetal-manage db sync"},{"line_number":401,"context_line":"        fi "},{"line_number":402,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAMH%2F%2F1vM%3D","line":399,"in_reply_to":"AAAAMH%2F%2F10g%3D","updated":"2012-11-20 17:05:38.000000000","message":"no special reason. I copied it due to the aforementioned bug. Both can be updated at the same time","commit_id":"cf280e19b97a7785cd59d9048b12333682f273b2"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"989454aeb891358c9d715e7832795b2e79d48e32","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":399,"context_line":"            recreate_database nova_bm latin1"},{"line_number":400,"context_line":"            $NOVA_BIN_DIR/nova-baremetal-manage db sync"},{"line_number":401,"context_line":"        fi "},{"line_number":402,"context_line":"    fi"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":"    if [[ \"$KEYSTONE_TOKEN_FORMAT\" \u003d\u003d \"PKI\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAMH%2F%2F10o%3D","line":401,"updated":"2012-11-20 16:29:16.000000000","message":"whitespace","commit_id":"cf280e19b97a7785cd59d9048b12333682f273b2"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e08a00479ac98f48fd967eaa95844e7a22627187","unresolved":false,"context_lines":[{"line_number":394,"context_line":"        if is_baremetal; then"},{"line_number":395,"context_line":"            recreate_database nova_bm latin1"},{"line_number":396,"context_line":"            $NOVA_BIN_DIR/nova-baremetal-manage db sync"},{"line_number":397,"context_line":"        fi "},{"line_number":398,"context_line":"    fi"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"    if [[ \"$KEYSTONE_TOKEN_FORMAT\" \u003d\u003d \"PKI\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"AAAAMH%2F%2Fvrc%3D","line":397,"updated":"2012-11-27 16:41:18.000000000","message":"whitespace","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"86faecd7c5bd213e9a1df52d69de27b525790875","unresolved":false,"context_lines":[{"line_number":402,"context_line":"        sudo mkdir -p $NOVA_AUTH_CACHE_DIR"},{"line_number":403,"context_line":"        sudo chown `whoami` $NOVA_AUTH_CACHE_DIR"},{"line_number":404,"context_line":"    fi"},{"line_number":405,"context_line":"    "},{"line_number":406,"context_line":"    if [[ ! -d ${NOVA_STATE_PATH}/keys ]]; then"},{"line_number":407,"context_line":"    \tsudo mkdir -p ${NOVA_STATE_PATH}/keys"},{"line_number":408,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"AAAAMH%2F%2FsXQ%3D","line":405,"updated":"2012-11-30 00:36:30.000000000","message":"correcting","commit_id":"9431180791c0ad3eb6df638299ebc1c1b6c8d371"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"86faecd7c5bd213e9a1df52d69de27b525790875","unresolved":false,"context_lines":[{"line_number":404,"context_line":"    fi"},{"line_number":405,"context_line":"    "},{"line_number":406,"context_line":"    if [[ ! -d ${NOVA_STATE_PATH}/keys ]]; then"},{"line_number":407,"context_line":"    \tsudo mkdir -p ${NOVA_STATE_PATH}/keys"},{"line_number":408,"context_line":"    fi"},{"line_number":409,"context_line":"    sudo chown -R stack:stack ${NOVA_STATE_PATH}/keys"},{"line_number":410,"context_line":"}"}],"source_content_type":"application/octet-stream","patch_set":22,"id":"AAAAMH%2F%2FsXU%3D","line":407,"updated":"2012-11-30 00:36:30.000000000","message":"again .. correcting","commit_id":"9431180791c0ad3eb6df638299ebc1c1b6c8d371"}],"stack.sh":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ef7f26d19bbaa440f6157bc7df8798b903690781","unresolved":false,"context_lines":[{"line_number":804,"context_line":"       install_package dnsmasq syslinux ipmitool qemu-kvm open-iscsi busybox tgt"},{"line_number":805,"context_line":"       # make sure dnsmasq isn\u0027t running after we installed it"},{"line_number":806,"context_line":"       sudo /etc/init.d/dnsmasq stop"},{"line_number":807,"context_line":"       sudo update-rc.d dnsmasq disable"},{"line_number":808,"context_line":"   else"},{"line_number":809,"context_line":"       # TODO(deva): add support for baremetal devstack on RH/Cent"},{"line_number":810,"context_line":"       echo_summary \"baremetal not supported on this platform yet\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAAMH%2F%2F%2BfI%3D","line":807,"updated":"2012-11-13 12:47:42.000000000","message":"I am very confused why you install, and disable dnsmasq. Why is that?","commit_id":"5d9cbc39a9b139f953dbb7bb66ab3b2e6b5b7d24"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8afeb34b3f2cbc55e08c46b4fb9402bc35796098","unresolved":false,"context_lines":[{"line_number":804,"context_line":"       install_package dnsmasq syslinux ipmitool qemu-kvm open-iscsi busybox tgt"},{"line_number":805,"context_line":"       # make sure dnsmasq isn\u0027t running after we installed it"},{"line_number":806,"context_line":"       sudo /etc/init.d/dnsmasq stop"},{"line_number":807,"context_line":"       sudo update-rc.d dnsmasq disable"},{"line_number":808,"context_line":"   else"},{"line_number":809,"context_line":"       # TODO(deva): add support for baremetal devstack on RH/Cent"},{"line_number":810,"context_line":"       echo_summary \"baremetal not supported on this platform yet\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"AAAAMH%2F%2F%2BBs%3D","line":807,"in_reply_to":"AAAAMH%2F%2F%2BfI%3D","updated":"2012-11-13 18:24:58.000000000","message":"baremetal driver will configure and start/stop dnsmasq as needed. we need the package installed, but not running.","commit_id":"5d9cbc39a9b139f953dbb7bb66ab3b2e6b5b7d24"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"989454aeb891358c9d715e7832795b2e79d48e32","unresolved":false,"context_lines":[{"line_number":798,"context_line":"    install_package memcached"},{"line_number":799,"context_line":"fi"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"# install extra packages for baremetal"},{"line_number":802,"context_line":"if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":803,"context_line":"   if [[ \"$os_PACKAGE\" \u003d \"deb\" ]]; then"},{"line_number":804,"context_line":"       install_package dnsmasq syslinux ipmitool qemu-kvm open-iscsi busybox tgt"}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAMH%2F%2F10A%3D","line":801,"updated":"2012-11-20 16:29:16.000000000","message":"Is this block to be installed in every configuration or is it nova-specific?  If the latter it can go into install_nova().  If it might be used for some additional combination of services, leave it here but do a specific check for those services.","commit_id":"cf280e19b97a7785cd59d9048b12333682f273b2"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"b4a151b2235c72bcdd31d73094a823aae338aff0","unresolved":false,"context_lines":[{"line_number":798,"context_line":"    install_package memcached"},{"line_number":799,"context_line":"fi"},{"line_number":800,"context_line":""},{"line_number":801,"context_line":"# install extra packages for baremetal"},{"line_number":802,"context_line":"if [[ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]]; then"},{"line_number":803,"context_line":"   if [[ \"$os_PACKAGE\" \u003d \"deb\" ]]; then"},{"line_number":804,"context_line":"       install_package dnsmasq syslinux ipmitool qemu-kvm open-iscsi busybox tgt"}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAMH%2F%2F1u8%3D","line":801,"in_reply_to":"AAAAMH%2F%2F10A%3D","updated":"2012-11-20 17:05:38.000000000","message":"only when n-cpu is also enabled. I\u0027ve moved it accordingly","commit_id":"cf280e19b97a7785cd59d9048b12333682f273b2"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"    # Bare Metal"},{"line_number":1866,"context_line":"    # ----------"},{"line_number":1867,"context_line":""},{"line_number":1868,"context_line":"    elif [ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]; then"},{"line_number":1869,"context_line":"        echo_summary \"Using BareMetal driver\""},{"line_number":1870,"context_line":"        add_nova_opt \"compute_driver\u003dnova.virt.baremetal.driver.BareMetalDriver\""},{"line_number":1871,"context_line":"        LIBVIRT_FIREWALL_DRIVER\u003d${LIBVIRT_FIREWALL_DRIVER:-\"nova.virt.firewall.NoopFirewallDriver\"}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAMH%2F%2F1ik%3D","line":1868,"updated":"2012-11-20 19:21:13.000000000","message":"just for personal readability, could you make an is_baremetal function in lib/baremetal?","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":1865,"context_line":"    # Bare Metal"},{"line_number":1866,"context_line":"    # ----------"},{"line_number":1867,"context_line":""},{"line_number":1868,"context_line":"    elif [ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]; then"},{"line_number":1869,"context_line":"        echo_summary \"Using BareMetal driver\""},{"line_number":1870,"context_line":"        add_nova_opt \"compute_driver\u003dnova.virt.baremetal.driver.BareMetalDriver\""},{"line_number":1871,"context_line":"        LIBVIRT_FIREWALL_DRIVER\u003d${LIBVIRT_FIREWALL_DRIVER:-\"nova.virt.firewall.NoopFirewallDriver\"}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAMH%2F%2F1TU%3D","line":1868,"in_reply_to":"AAAAMH%2F%2F1ik%3D","updated":"2012-11-20 21:19:19.000000000","message":"it seems more consistent to use the current syntax here, but in many other places, is_baremetal makes more sense, so i\u0027ve done that","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":1873,"context_line":"        add_nova_opt \"baremetal_driver\u003dnova.virt.baremetal.pxe.PXE\""},{"line_number":1874,"context_line":"        add_nova_opt \"baremetal_tftp_root\u003d/tftpboot\""},{"line_number":1875,"context_line":"        add_nova_opt \"instance_type_extra_specs\u003dcpu_arch:x86_64\""},{"line_number":1876,"context_line":"        add_nova_opt \"power_manager\u003dnova.virt.baremetal.fake.FakePowerManager\""},{"line_number":1877,"context_line":"        add_nova_opt \"scheduler_host_manager\u003dnova.scheduler.baremetal_host_manager.BaremetalHostManager\""},{"line_number":1878,"context_line":"        add_nova_opt \"scheduler_default_filters\u003dAllHostsFilter\""},{"line_number":1879,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAMH%2F%2F1ic%3D","line":1876,"updated":"2012-11-20 19:21:13.000000000","message":"why are you adding a fake power manager?","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":1873,"context_line":"        add_nova_opt \"baremetal_driver\u003dnova.virt.baremetal.pxe.PXE\""},{"line_number":1874,"context_line":"        add_nova_opt \"baremetal_tftp_root\u003d/tftpboot\""},{"line_number":1875,"context_line":"        add_nova_opt \"instance_type_extra_specs\u003dcpu_arch:x86_64\""},{"line_number":1876,"context_line":"        add_nova_opt \"power_manager\u003dnova.virt.baremetal.fake.FakePowerManager\""},{"line_number":1877,"context_line":"        add_nova_opt \"scheduler_host_manager\u003dnova.scheduler.baremetal_host_manager.BaremetalHostManager\""},{"line_number":1878,"context_line":"        add_nova_opt \"scheduler_default_filters\u003dAllHostsFilter\""},{"line_number":1879,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAMH%2F%2F1TQ%3D","line":1876,"in_reply_to":"AAAAMH%2F%2F1ic%3D","updated":"2012-11-20 21:19:19.000000000","message":"I dont plan on using IPMI to control a VM :)","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":2072,"context_line":"       # add hardware to nova_bm database"},{"line_number":2073,"context_line":"       add_baremetal_node"},{"line_number":2074,"context_line":"    fi"},{"line_number":2075,"context_line":"fi"},{"line_number":2076,"context_line":""},{"line_number":2077,"context_line":"# Configure Tempest last to ensure that the runtime configuration of"},{"line_number":2078,"context_line":"# the various OpenStack services can be queried."}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAMH%2F%2F1is%3D","line":2075,"updated":"2012-11-20 19:21:13.000000000","message":"Is there a reason this can\u0027t be called out in one of the nova phases?","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":2072,"context_line":"       # add hardware to nova_bm database"},{"line_number":2073,"context_line":"       add_baremetal_node"},{"line_number":2074,"context_line":"    fi"},{"line_number":2075,"context_line":"fi"},{"line_number":2076,"context_line":""},{"line_number":2077,"context_line":"# Configure Tempest last to ensure that the runtime configuration of"},{"line_number":2078,"context_line":"# the various OpenStack services can be queried."}],"source_content_type":"text/x-sh","patch_set":4,"id":"AAAAMH%2F%2F1TM%3D","line":2075,"in_reply_to":"AAAAMH%2F%2F1is%3D","updated":"2012-11-20 21:19:19.000000000","message":"AIUI, yes, this stuff has to go here. I\u0027ve added a longer comment to explain why. If it still doesn\u0027t make sense, or there\u0027s a better place to do this, let me know.","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"e08a00479ac98f48fd967eaa95844e7a22627187","unresolved":false,"context_lines":[{"line_number":2059,"context_line":"# If we are running nova with baremetal driver, there are a few"},{"line_number":2060,"context_line":"# last-mile configuration bits to attend to, which must happen"},{"line_number":2061,"context_line":"# after n-api and n-sch have started."},{"line_number":2062,"context_line":"# Also, creating the baremetal flavor must happen after images "},{"line_number":2063,"context_line":"# are loaded into glance, though just knowing the IDs is sufficient here"},{"line_number":2064,"context_line":"if is_service_enabled nova \u0026\u0026 is_baremetal; then"},{"line_number":2065,"context_line":"    # create special flavor for baremetal if we know what images to associate"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAAMH%2F%2FvrY%3D","line":2062,"updated":"2012-11-27 16:41:18.000000000","message":"whitespace","commit_id":"1733536ba514b97a775821af9313b73147428fd3"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"06550c214f4f98fd87d5a7904f016e347516b9d0","unresolved":false,"context_lines":[{"line_number":1492,"context_line":"    clean_iptables"},{"line_number":1493,"context_line":"    rm -rf ${NOVA_STATE_PATH}/networks"},{"line_number":1494,"context_line":"    sudo mkdir -p ${NOVA_STATE_PATH}/networks"},{"line_number":1495,"context_line":"    sudo chown -R stack:stack ${NOVA_STATE_PATH}/networks"},{"line_number":1496,"context_line":"    # Force IP forwarding on, just on case"},{"line_number":1497,"context_line":"    sudo sysctl -w net.ipv4.ip_forward\u003d1"},{"line_number":1498,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":24,"id":"AAAAMH%2F%2FsHA%3D","line":1495,"updated":"2012-11-30 12:20:01.000000000","message":"This is no good, we don\u0027t require a specific user here.","commit_id":"69a7cec424c232a5005c6b129f5c138587aab759"},{"author":{"_account_id":6287,"name":"David Lenwell","email":"dlenwell@gmail.com","username":"dlenwell"},"change_message_id":"d8293208eefe56bdf2491d8eaee5eb26aaaacb17","unresolved":false,"context_lines":[{"line_number":422,"context_line":"    GUEST_INTERFACE_DEFAULT\u003deth1"},{"line_number":423,"context_line":"elif [ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]; then"},{"line_number":424,"context_line":"    PUBLIC_INTERFACE_DEFAULT\u003deth0"},{"line_number":425,"context_line":"    # FLAT_NETWORK_BRIDGE is not used with BareMetal, but we should set it anyway"},{"line_number":426,"context_line":"    FLAT_NETWORK_BRIDGE_DEFAULT\u003dbr100"},{"line_number":427,"context_line":"    FLAT_INTERFACE\u003d${FLAT_INTERFACE:-eth0}"},{"line_number":428,"context_line":"    FORCE_DHCP_RELEASE\u003d${FORCE_DHCP_RELEASE:-False}"}],"source_content_type":"text/x-sh","patch_set":26,"id":"AAAAMH%2F%2FrNo%3D","line":425,"updated":"2012-12-01 00:30:46.000000000","message":"Regardless of wether this value is of any use to the baremetal driver. Don\u0027t you think the values should respect those set in localrc and not be hard coded to br100? I can foresee an instances where I will want this to deploy on a flat network with a working bridge.","commit_id":"d920c6291627aa89033d19a73673ec6aca8e1aaf"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"e570478de70c8878d3325f689651a002b145dfbb","unresolved":false,"context_lines":[{"line_number":423,"context_line":"elif [ \"$VIRT_DRIVER\" \u003d \u0027baremetal\u0027 ]; then"},{"line_number":424,"context_line":"    PUBLIC_INTERFACE_DEFAULT\u003deth0"},{"line_number":425,"context_line":"    # FLAT_NETWORK_BRIDGE is not used with BareMetal, but we should set it anyway"},{"line_number":426,"context_line":"    FLAT_NETWORK_BRIDGE_DEFAULT\u003d${FLAT_NETWORK_BRIDGE:-br100}"},{"line_number":427,"context_line":"    FLAT_INTERFACE\u003d${FLAT_INTERFACE:-eth0}"},{"line_number":428,"context_line":"    FORCE_DHCP_RELEASE\u003d${FORCE_DHCP_RELEASE:-False}"},{"line_number":429,"context_line":"    NET_MAN\u003d${NET_MAN:-FlatManager}"}],"source_content_type":"text/x-sh","patch_set":27,"id":"AAAAMX%2F%2F%2FsU%3D","line":426,"updated":"2012-12-03 10:04:30.000000000","message":"We don\u0027t need to default FLAT_NETWORK_BRIDGE_DEFAULT to $FLAT_NETWORK_BRIDGE here. What ever value we set _DEFAULT to will be over-ridden in 16 lines, if $FLAT_NETWORK_BRIDGE was set in localrc.\n\nSimply setting _DEFAULT \u003d \"const\" is fine, just as the other two if blocks do.","commit_id":"f373eefc0803dd752d15ebb2f02fcf516d2cc3e0"}],"stackrc":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"31a9a54f0c7ff7e492d651fd36ec62cc76e3bc0a","unresolved":false,"context_lines":[{"line_number":112,"context_line":"# TODO(deva): move _REPO to stackforge once the project has its new home"},{"line_number":113,"context_line":"#             IMAGE_BUILD_REPO\u003dhttps://github.com/stackforge/diskimage-builder.git"},{"line_number":114,"context_line":"IMAGE_BUILD_REPO\u003dhttps://github.com/tripleo/baremetal-initrd-builder.git"},{"line_number":115,"context_line":"IMAGE_BUILD_BRANCH\u003dmaster"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Nova hypervisor configuration.  We default to libvirt with **kvm** but will"},{"line_number":118,"context_line":"# drop back to **qemu** if we are unable to load the kvm module.  ``stack.sh`` can"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1iI%3D","line":115,"updated":"2012-11-20 19:21:13.000000000","message":"can we call this BM_IMAGE_BUILD_REPO ? Seems like it should indicate this is used by bear metal here.","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"1dddef027a2893edfc04ebf357fb538f765304ca","unresolved":false,"context_lines":[{"line_number":112,"context_line":"# TODO(deva): move _REPO to stackforge once the project has its new home"},{"line_number":113,"context_line":"#             IMAGE_BUILD_REPO\u003dhttps://github.com/stackforge/diskimage-builder.git"},{"line_number":114,"context_line":"IMAGE_BUILD_REPO\u003dhttps://github.com/tripleo/baremetal-initrd-builder.git"},{"line_number":115,"context_line":"IMAGE_BUILD_BRANCH\u003dmaster"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"# Nova hypervisor configuration.  We default to libvirt with **kvm** but will"},{"line_number":118,"context_line":"# drop back to **qemu** if we are unable to load the kvm module.  ``stack.sh`` can"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"AAAAMH%2F%2F1TE%3D","line":115,"in_reply_to":"AAAAMH%2F%2F1iI%3D","updated":"2012-11-20 21:19:19.000000000","message":"Done","commit_id":"554681280cc9633f9e0d807e06012faf91788eb9"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"121b545e73b69e9b00c1466bb140984dab7fd837","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"# diskimage-builder"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"#             IMAGE_BUILD_REPO\u003dhttps://github.com/stackforge/diskimage-builder.git"},{"line_number":110,"context_line":"BM_IMAGE_BUILD_REPO\u003dhttps://github.com/stackforge/diskimage-builder.git"},{"line_number":111,"context_line":"BM_IMAGE_BUILD_BRANCH\u003dmaster"},{"line_number":112,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":25,"id":"AAAAMH%2F%2Frqg%3D","line":109,"updated":"2012-11-30 18:07:45.000000000","message":"Can this be removed?","commit_id":"4507908e5effef2accd8a927a310db89de619a96"}]}
