)]}'
{"devstack/plugin.sh":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7426bf0ff2d37999ee897b0d3a99f464f6d49546","unresolved":false,"context_lines":[{"line_number":22,"context_line":"IRONIC_INSPECTOR_AUTH_CACHE_DIR\u003d${IRONIC_INSPECTOR_AUTH_CACHE_DIR:-/var/cache/ironic-inspector}"},{"line_number":23,"context_line":"IRONIC_INSPECTOR_DHCP_FILTER\u003d${IRONIC_INSPECTOR_DHCP_FILTER:-iptables}"},{"line_number":24,"context_line":"IRONIC_INSPECTOR_STANDALONE\u003d${IRONIC_INSPECTOR_STANDALONE:-True}"},{"line_number":25,"context_line":"IRONIC_INSPECTOR_USE_WSGI\u003d${IRONIC_INSPECTOR_USE_WSGI:-False}"},{"line_number":26,"context_line":"# Support entry points installation of console scripts"},{"line_number":27,"context_line":"IRONIC_INSPECTOR_UWSGI\u003d$IRONIC_INSPECTOR_BIN_DIR/ironic-inspector-api-wsgi"},{"line_number":28,"context_line":"IRONIC_INSPECTOR_UWSGI_CONF\u003d$IRONIC_INSPECTOR_CONF_DIR/ironic-inspector-uwsgi.ini"}],"source_content_type":"text/x-sh","patch_set":10,"id":"7faddb67_8e35f847","line":25,"updated":"2019-08-27 12:45:41.000000000","message":"Why not True when STANDALONE is False?","commit_id":"0990715885c0f75095cde9d49a6e2034f98fbfac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7426bf0ff2d37999ee897b0d3a99f464f6d49546","unresolved":false,"context_lines":[{"line_number":55,"context_line":"if [[ \"$IRONIC_INSPECTOR_USE_WSGI\" \u003d\u003d \"True\" ]]; then"},{"line_number":56,"context_line":"    IRONIC_INSPECTOR_URI\u003d\"http://$IRONIC_INSPECTOR_HOST/baremetal-introspection\""},{"line_number":57,"context_line":"else"},{"line_number":58,"context_line":"    IRONIC_INSPECTOR_URI\u003d\"http://$IRONIC_INSPECTOR_HOST:$IRONIC_INSPECTOR_PORT\""},{"line_number":59,"context_line":"fi"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"IRONIC_INSPECTOR_BUILD_RAMDISK\u003d$(trueorfalse False IRONIC_INSPECTOR_BUILD_RAMDISK)"}],"source_content_type":"text/x-sh","patch_set":10,"id":"7faddb67_2e3c042f","line":58,"updated":"2019-08-27 12:45:41.000000000","message":"Why do we need to support this at all? Given that we only recommend using ironic-inspector via a WSGI container (and we have the standalone mode for lightweight setups), it seems to make sense to test the uwsgi approach only.\n\nI\u0027d remove IRONIC_INSPECTOR_USE_WSGI and replace it with IRONIC_INSPECTOR_STANDALONE being False.","commit_id":"0990715885c0f75095cde9d49a6e2034f98fbfac"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1967d27f4028ab81fbb669c1ac69e292dfa3963","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    if [[ \"$IRONIC_INSPECTOR_STANDALONE\" \u003d\u003d \"True\" ]]; then"},{"line_number":146,"context_line":"        run_process ironic-inspector \"$IRONIC_INSPECTOR_CMD\""},{"line_number":147,"context_line":"    else"},{"line_number":148,"context_line":"      run_process ironic-inspector-api \"$IRONIC_INSPECTOR_BIN_DIR/uwsgi --procname-prefix ironic-inspector-api --ini $IRONIC_INSPECTOR_UWSGI_CONF --pyargv \\\"--config-file $IRONIC_INSPECTOR_CONF_FILE\\\"\""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"      echo \"Waiting for ironic-inspector API to start...\""},{"line_number":151,"context_line":"      if ! timeout $SERVICE_TIMEOUT sh -c \"while ! wget --no-proxy -q -O- $IRONIC_INSPECTOR_URI; do sleep 1; done\"; then"}],"source_content_type":"text/x-sh","patch_set":11,"id":"7faddb67_3d45e044","line":148,"updated":"2019-08-30 08:19:49.000000000","message":"nit: we can leave only --ini here and put everything else to the configuration file","commit_id":"2c45ebffce443432c8fb11657d1a24360564c103"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"8f49535adb807231b7929b55fd63fd4331880214","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    if [[ \"$IRONIC_INSPECTOR_STANDALONE\" \u003d\u003d \"True\" ]]; then"},{"line_number":146,"context_line":"        run_process ironic-inspector \"$IRONIC_INSPECTOR_CMD\""},{"line_number":147,"context_line":"    else"},{"line_number":148,"context_line":"      run_process ironic-inspector-api \"$IRONIC_INSPECTOR_BIN_DIR/uwsgi --procname-prefix ironic-inspector-api --ini $IRONIC_INSPECTOR_UWSGI_CONF --pyargv \\\"--config-file $IRONIC_INSPECTOR_CONF_FILE\\\"\""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"      echo \"Waiting for ironic-inspector API to start...\""},{"line_number":151,"context_line":"      if ! timeout $SERVICE_TIMEOUT sh -c \"while ! wget --no-proxy -q -O- $IRONIC_INSPECTOR_URI; do sleep 1; done\"; then"}],"source_content_type":"text/x-sh","patch_set":11,"id":"7faddb67_4e27b2b7","line":148,"in_reply_to":"7faddb67_3d45e044","updated":"2019-08-31 02:00:20.000000000","message":"I hope so, but that would need to update write_uwsgi_config from devstack.","commit_id":"2c45ebffce443432c8fb11657d1a24360564c103"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a1967d27f4028ab81fbb669c1ac69e292dfa3963","unresolved":false,"context_lines":[{"line_number":150,"context_line":"      echo \"Waiting for ironic-inspector API to start...\""},{"line_number":151,"context_line":"      if ! timeout $SERVICE_TIMEOUT sh -c \"while ! wget --no-proxy -q -O- $IRONIC_INSPECTOR_URI; do sleep 1; done\"; then"},{"line_number":152,"context_line":"          die $LINENO \"ironic-inspector-api did not start\""},{"line_number":153,"context_line":"      fi"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"      run_process ironic-inspector-conductor \"$IRONIC_INSPECTOR_CMD_CONDUCTOR\""},{"line_number":156,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":11,"id":"7faddb67_5d421c3d","line":153,"updated":"2019-08-30 08:19:49.000000000","message":"nit: this may be moved out of the \"if\" block, so that we do this check in both standalone and split cases","commit_id":"2c45ebffce443432c8fb11657d1a24360564c103"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"8f49535adb807231b7929b55fd63fd4331880214","unresolved":false,"context_lines":[{"line_number":150,"context_line":"      echo \"Waiting for ironic-inspector API to start...\""},{"line_number":151,"context_line":"      if ! timeout $SERVICE_TIMEOUT sh -c \"while ! wget --no-proxy -q -O- $IRONIC_INSPECTOR_URI; do sleep 1; done\"; then"},{"line_number":152,"context_line":"          die $LINENO \"ironic-inspector-api did not start\""},{"line_number":153,"context_line":"      fi"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"      run_process ironic-inspector-conductor \"$IRONIC_INSPECTOR_CMD_CONDUCTOR\""},{"line_number":156,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":11,"id":"7faddb67_0e1d3a61","line":153,"in_reply_to":"7faddb67_5d421c3d","updated":"2019-08-31 02:00:20.000000000","message":"Good idea, will post an update.","commit_id":"2c45ebffce443432c8fb11657d1a24360564c103"}],"ironic_inspector/common/rpc.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7426bf0ff2d37999ee897b0d3a99f464f6d49546","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def init():"},{"line_number":26,"context_line":"    global TRANSPORT"},{"line_number":27,"context_line":"    TRANSPORT \u003d messaging.get_rpc_transport(CONF)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def get_client(topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_6e32fc60","line":27,"updated":"2019-08-27 12:45:41.000000000","message":"Why this change? It seems handy to be able to call init() several times.","commit_id":"0990715885c0f75095cde9d49a6e2034f98fbfac"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"7a26e5965e989b73b2f3835f668f27e016715d24","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def init():"},{"line_number":26,"context_line":"    global TRANSPORT"},{"line_number":27,"context_line":"    TRANSPORT \u003d messaging.get_rpc_transport(CONF)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def get_client(topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_255e2813","line":27,"in_reply_to":"7faddb67_57ab0587","updated":"2019-08-30 02:40:25.000000000","message":"On a second thought, I think it\u0027s better by doing so, the transport is created before wsgi app returned, though the init() could be called several times, but we surely won\u0027t let that happen. But if we call init after threads are spawned by the web server, it might have concurrency issues.","commit_id":"0990715885c0f75095cde9d49a6e2034f98fbfac"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"0a27bfeb393fb31f28ad642ccc2f2cfedd653552","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"def init():"},{"line_number":26,"context_line":"    global TRANSPORT"},{"line_number":27,"context_line":"    TRANSPORT \u003d messaging.get_rpc_transport(CONF)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def get_client(topic\u003dNone):"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_57ab0587","line":27,"in_reply_to":"7faddb67_6e32fc60","updated":"2019-08-28 05:20:27.000000000","message":"Previously there was messaging connection error from logs, so I made the alignment with ironic, but seems unrelated. I can revert this change.","commit_id":"0990715885c0f75095cde9d49a6e2034f98fbfac"}]}
