)]}'
{"devstack/lib/stx-nfv":[{"author":{"_account_id":28412,"name":"Yi Wang","email":"yi.c.wang@intel.com","username":"wangyi4"},"change_message_id":"3a287003e2dfdd856faf0327f7abbab1a4b618ae","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"function clean_nfv(){"},{"line_number":35,"context_line":"    if is_service_enabled stx-nfv; then"},{"line_number":36,"context_line":"\tclean_guest_client"},{"line_number":37,"context_line":"\tclean_init_nfv"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3f79a3b5_43ac77ea","line":36,"updated":"2018-11-21 08:00:24.000000000","message":"suggest to keep consistent coding style, indent with either tab or white space","commit_id":"1747eaa5f51e96c8f3a8dd4c27f581208bd8e93a"}],"devstack/plugin.sh":[{"author":{"_account_id":28433,"name":"Jack Ding","email":"jackding@gmail.com","username":"jackding"},"change_message_id":"2993799b4ed3c951ded9834eedc60b1ab5acbb12","unresolved":false,"context_lines":[{"line_number":5,"context_line":"if is_service_enabled stx-nfv; then"},{"line_number":6,"context_line":"    if [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":7,"context_line":"\t# Perform installation of service source"},{"line_number":8,"context_line":"\techo_summary \"Installing stx-nfv\""},{"line_number":9,"context_line":"        install_guest_client"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"post-config\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_68542024","line":8,"range":{"start_line":8,"start_character":15,"end_line":8,"end_character":33},"updated":"2018-11-02 14:18:58.000000000","message":"Installing guest-client","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":28433,"name":"Jack Ding","email":"jackding@gmail.com","username":"jackding"},"change_message_id":"add4283893c98dc6f08e98aabb28c5e3ce0bfe23","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    if [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":7,"context_line":"\t# Perform installation of service source"},{"line_number":8,"context_line":"\techo_summary \"Installing stx-nfv\""},{"line_number":9,"context_line":"        install_guest_client"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"post-config\" ]]; then"},{"line_number":12,"context_line":"\t# Configure after the other layer 1 and 2 services have been configured"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_2fea84d8","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":28},"updated":"2018-11-05 18:05:19.000000000","message":"I prefer the approach in https://review.openstack.org/#/c/614804/6/devstack/plugin.sh.\nSo here call a more generic function install_nfv, and in devstack/lib/stx-nfv, define the function install_nfv which calls install_guest_client. Same for other actions.","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":28433,"name":"Jack Ding","email":"jackding@gmail.com","username":"jackding"},"change_message_id":"add4283893c98dc6f08e98aabb28c5e3ce0bfe23","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"post-config\" ]]; then"},{"line_number":12,"context_line":"\t# Configure after the other layer 1 and 2 services have been configured"},{"line_number":13,"context_line":"\techo_summary \"Configuring stx-nfv\""},{"line_number":14,"context_line":"\t:"},{"line_number":15,"context_line":"    fi"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_2fc3645a","line":14,"range":{"start_line":14,"start_character":1,"end_line":14,"end_character":2},"updated":"2018-11-05 18:05:19.000000000","message":"call configure_nfv and define configure_nfv as an empty function in devstack/lib/stx-nfv.","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":28433,"name":"Jack Ding","email":"jackding@gmail.com","username":"jackding"},"change_message_id":"add4283893c98dc6f08e98aabb28c5e3ce0bfe23","unresolved":false,"context_lines":[{"line_number":17,"context_line":"fi"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"if [[ \"$1\" \u003d\u003d \"unstack\" ]]; then"},{"line_number":20,"context_line":"    :"},{"line_number":21,"context_line":"fi"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"if [[ \"$1\" \u003d\u003d \"clean\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_6f8e3c34","line":20,"range":{"start_line":20,"start_character":4,"end_line":20,"end_character":5},"updated":"2018-11-05 18:05:19.000000000","message":"call stop_nfv","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":28433,"name":"Jack Ding","email":"jackding@gmail.com","username":"jackding"},"change_message_id":"add4283893c98dc6f08e98aabb28c5e3ce0bfe23","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"if [[ \"$1\" \u003d\u003d \"clean\" ]]; then"},{"line_number":24,"context_line":"    echo_summary \"Clean stx-nfv\""},{"line_number":25,"context_line":"    clean_guest_client"},{"line_number":26,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":1,"id":"3f79a3b5_0f8c682b","line":25,"range":{"start_line":25,"start_character":4,"end_line":25,"end_character":22},"updated":"2018-11-05 18:05:19.000000000","message":"call cleanup_nfv instead.","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":28412,"name":"Yi Wang","email":"yi.c.wang@intel.com","username":"wangyi4"},"change_message_id":"3a287003e2dfdd856faf0327f7abbab1a4b618ae","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# check for service enabled"},{"line_number":7,"context_line":"if is_service_enabled stx-nfv; then"},{"line_number":8,"context_line":"    if [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":9,"context_line":"\t# Perform installation of service source"},{"line_number":10,"context_line":"\techo_summary \"Installing stx-nfv\""},{"line_number":11,"context_line":"        install_nfv"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"3f79a3b5_833e0f86","line":9,"updated":"2018-11-21 08:00:24.000000000","message":"same issue as mentioned for devstack/lib/stx-nfv","commit_id":"1747eaa5f51e96c8f3a8dd4c27f581208bd8e93a"}],"devstack/settings":[{"author":{"_account_id":28666,"name":"Erick Cardona","email":"erick.cardona.ruiz@intel.com","username":"eocardon"},"change_message_id":"9739b258628506e5c6ae23d0c73fc71cfaee46c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3f79a3b5_a761de3e","updated":"2018-11-05 16:08:27.000000000","message":"It makes total sense to me.","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":28433,"name":"Jack Ding","email":"jackding@gmail.com","username":"jackding"},"change_message_id":"2993799b4ed3c951ded9834eedc60b1ab5acbb12","unresolved":false,"context_lines":[{"line_number":1,"context_line":"enable_service stx-nfv"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f79a3b5_2875c8c9","line":1,"range":{"start_line":1,"start_character":15,"end_line":1,"end_character":22},"updated":"2018-11-02 14:18:58.000000000","message":"why is it \"stx-nfv\" instead of \"guest-client\"? Are there other more services than guest-client to be included in the future? Even so you might want to split the services so that they are be turned on/off individually. I think \"enable_service guest-client\" makes more sense.","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"571993288694d1bfeff6d25f7c660ef928da329a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"enable_service stx-nfv"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3f79a3b5_9c68b489","line":1,"range":{"start_line":1,"start_character":15,"end_line":1,"end_character":22},"in_reply_to":"3f79a3b5_2875c8c9","updated":"2018-11-05 17:06:22.000000000","message":"There are a couple of patterns to look at here.  We have overloaded the ENABLED_SERVICES var to be the general control for \"install this thing\" throughout DevStack.\n\nThere is a top-level plugin \u0027service\u0027 that matches the repo, this is how other plugins detect if we are even available.  As you note, guest-client should also be a \u0027service\u0027 to control the actions on that package.  It would be enabled by the components that need it.  If it is something that is always needed when the plugin is enabled then it probably doesn\u0027t need a service set.\n\nhttps://review.openstack.org/#/c/595865/ and https://review.openstack.org/#/c/614804/ show the patterns we are using for this control flow.","commit_id":"0e77c834bb2e8035ca44ee1dc280ffed48debb7c"}]}
