)]}'
{".zuul.yaml":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"25ca0b67b987b520c1887cd6ef28064a2b409e31","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    gate:"},{"line_number":18,"context_line":"      jobs:"},{"line_number":19,"context_line":"        - neutron-vpnaas-dsvm-functional-sswan"},{"line_number":20,"context_line":"        - neutron-vpnaas-tempest"},{"line_number":21,"context_line":"    experimental:"},{"line_number":22,"context_line":"      jobs:"},{"line_number":23,"context_line":"        - neutron-vpnaas-dsvm-rally"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bfb3d3c7_34d667f3","line":20,"updated":"2019-05-24 00:47:21.000000000","message":"please add it to gate as well","commit_id":"4d7d058f02e224dc21e13418f2c3038a2658d625"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"c2fa7be7fc88c833d6c4954609af5842591ebb1e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    gate:"},{"line_number":18,"context_line":"      jobs:"},{"line_number":19,"context_line":"        - neutron-vpnaas-dsvm-functional-sswan"},{"line_number":20,"context_line":"        - neutron-vpnaas-tempest"},{"line_number":21,"context_line":"    experimental:"},{"line_number":22,"context_line":"      jobs:"},{"line_number":23,"context_line":"        - neutron-vpnaas-dsvm-rally"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"bfb3d3c7_1408032a","line":20,"in_reply_to":"bfb3d3c7_34d667f3","updated":"2019-05-24 01:31:59.000000000","message":"Done","commit_id":"4d7d058f02e224dc21e13418f2c3038a2658d625"}],"devstack/plugin.sh":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"25ca0b67b987b520c1887cd6ef28064a2b409e31","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":41,"context_line":"    else"},{"line_number":42,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bfb3d3c7_341d07bd","line":43,"updated":"2019-05-24 00:47:21.000000000","message":"i guess this change needs to be mentioned in the commit message at least. or make it a separate commit.","commit_id":"4d7d058f02e224dc21e13418f2c3038a2658d625"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"c2fa7be7fc88c833d6c4954609af5842591ebb1e","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":41,"context_line":"    else"},{"line_number":42,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"bfb3d3c7_cfff38ff","line":43,"in_reply_to":"bfb3d3c7_341d07bd","updated":"2019-05-24 01:31:59.000000000","message":"Done","commit_id":"4d7d058f02e224dc21e13418f2c3038a2658d625"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"af320e8307d122b123b2962ec2b44b2828a1190c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":41,"context_line":"    else"},{"line_number":42,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":3,"id":"9fb8cfa7_4a359c45","line":43,"updated":"2019-06-06 08:58:44.000000000","message":"i guess it makes more sense to infer NEUTRON_VPNAAS_SERVICE_PROVIDER from IPSEC_PACKAGE only when the former isn\u0027t explicitly set. how do you think?","commit_id":"12f741bfef80691cbc31651187458cfbfd20d475"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"70190fdd5bc976822c794cb396275e9a2eed8ed6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":41,"context_line":"    else"},{"line_number":42,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":3,"id":"3fa7e38b_6ae80c7b","line":43,"in_reply_to":"3fa7e38b_aaba84bd","updated":"2019-09-30 04:02:49.000000000","message":"Sorry, I have not noticed that vendor driver config. You are right, I will update.","commit_id":"12f741bfef80691cbc31651187458cfbfd20d475"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"cf71d3e564c0cad7291779bc4ce9aa49f6bef07d","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":41,"context_line":"    else"},{"line_number":42,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":3,"id":"9fb8cfa7_edd58ae6","line":43,"in_reply_to":"9fb8cfa7_4a359c45","updated":"2019-06-06 09:33:57.000000000","message":"Thanks for review. If we determine  NEUTRON_VPNAAS_SERVICE_PROVIDER firstly, we hard to know which IPSEC_PACKAGE to use. We should make OS install strongswan using VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default and OS install libreswan using another.\nThis is a similar behavior in L49~L55.\nDo you think so?","commit_id":"12f741bfef80691cbc31651187458cfbfd20d475"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"529574c7c82d6964daf78703d1abf6b29776fdb6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":41,"context_line":"    else"},{"line_number":42,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":43,"context_line":"    fi"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":3,"id":"3fa7e38b_aaba84bd","line":43,"in_reply_to":"9fb8cfa7_edd58ae6","updated":"2019-09-30 02:44:42.000000000","message":"there are out of tree drivers like midonet.\nmidonet uses NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:Midonet:midonet.neutron.services.vpn.service_drivers.midonet_ipsec.MidonetIPsecVPNDriver:default\"\nit doesn\u0027t use l3 agent. (thus IPSEC_PACKAGE is not specified or used there)\n\nbecause IPSEC_PACKAGE has the default value (strongswan), this change would break configurations like the above, right?","commit_id":"12f741bfef80691cbc31651187458cfbfd20d475"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"e92b6f55865f91cafff42d9212592012fb3ca80c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3fa7e38b_32ac0cec","line":41,"updated":"2019-10-11 03:27:58.000000000","message":"IPSEC_PACKAGE is an agent config. it\u0027s a bit abuse to use it for plugin settings. personally i don\u0027t see what\u0027s wrong with leaving it to users\u0027 responsibility to set NEUTRON_VPNAAS_SERVICE_PROVIDER appropriately. (to IPsecVPNDriver in your case)\n\ni don\u0027t insist if it\u0027s used only when NEUTRON_VPNAAS_SERVICE_PROVIDER is not explicitly set though.\neg. switching the default value of NEUTRON_VPNAAS_SERVICE_PROVIDER according to IPSEC_PACKAGE in devstack/settings.\n\nhow do you think?","commit_id":"d581b02352a7b3b4a6fd246fa946dfdfd23fca5d"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"c22ca575bfcb5c19ad01ae0c9e7f07572806a00c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3fa7e38b_98b4fe37","line":41,"in_reply_to":"3fa7e38b_32ac0cec","updated":"2019-10-11 11:18:58.000000000","message":"Done","commit_id":"d581b02352a7b3b4a6fd246fa946dfdfd23fca5d"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"609d392dc4a8ab4cd7f4ac191c5257e82bc51ba0","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3fa7e38b_cd72bd12","line":41,"in_reply_to":"3fa7e38b_32ac0cec","updated":"2019-10-11 07:10:54.000000000","message":"I like yamamoto\u0027s idea to configure NEUTRON_VPNAAS_SERVICE_PROVIDER in devstack/settings based on IPSEC_PACKAGE.\n\nRegarding the point that IPSEC_PACKAGE is an agent config, I am okay to use it for plugin settings. We need to configure the plugin based on which IPsec package is used, so I think it is not limited to an agent config.","commit_id":"d581b02352a7b3b4a6fd246fa946dfdfd23fca5d"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"c22ca575bfcb5c19ad01ae0c9e7f07572806a00c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"},{"line_number":39,"context_line":"    else"},{"line_number":40,"context_line":"        iniadd $NEUTRON_VPNAAS_CONF service_providers service_provider $NEUTRON_VPNAAS_SERVICE_PROVIDER"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"function neutron_vpnaas_configure_agent {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3fa7e38b_b8b1ba46","line":41,"in_reply_to":"3fa7e38b_cd72bd12","updated":"2019-10-11 11:18:58.000000000","message":"Done","commit_id":"d581b02352a7b3b4a6fd246fa946dfdfd23fca5d"}],"devstack/settings":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6643ce4a62fbb731620dc228f4af4788f8caadee","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":15,"context_line":"fi"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Config files"},{"line_number":18,"context_line":"NEUTRON_CONF_DIR\u003d${NEUTRON_CONF_DIR:-\"/etc/neutron\"}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"3fa7e38b_64d39b39","line":15,"updated":"2019-10-11 15:36:41.000000000","message":"We need to honor NEUTRON_VPNAAS_SERVICE_PROVIDER configured in local.conf (as the previous code does).","commit_id":"e71885430d64f9be59dcdd38884e6557493dcbc6"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"94ec13df9aaba7e1f431c2cfdc79059dbfebc185","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":15,"context_line":"fi"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Config files"},{"line_number":18,"context_line":"NEUTRON_CONF_DIR\u003d${NEUTRON_CONF_DIR:-\"/etc/neutron\"}"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"3fa7e38b_a4b74cf5","line":15,"in_reply_to":"3fa7e38b_64d39b39","updated":"2019-10-11 23:56:28.000000000","message":"Done","commit_id":"e71885430d64f9be59dcdd38884e6557493dcbc6"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"93b28474cef229fb9612b38b98f611930082bfde","unresolved":false,"context_lines":[{"line_number":11,"context_line":"NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d${NEUTRON_VPNAAS_SERVICE_PROVIDER:-\"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\"}"},{"line_number":12,"context_line":"if [[ \"$IPSEC_PACKAGE\" \u003d\u003d \"libreswan\" ]]; then"},{"line_number":13,"context_line":"    NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":14,"context_line":"fi"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Config files"},{"line_number":17,"context_line":"NEUTRON_CONF_DIR\u003d${NEUTRON_CONF_DIR:-\"/etc/neutron\"}"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"3fa7e38b_449db5b9","line":14,"updated":"2019-11-11 08:47:01.000000000","message":"how about:\n\n  _DEFAULT_SERVICE_PROVIDER\u003d...\n  if [[ \"$IPSEC_PACKAGE\" \u003d\u003d \"libreswan\" ]]; then\n    _DEFAULT_SERVICE_PROVIDER\u003d...\n  fi\n  NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d${NEUTRON_VPNAAS_SERVICE_PROVIDER:-$_DEFAULT_SERVICE_PROVIDER}","commit_id":"256782bc17cce61473b131a7d21d2062c4113cc4"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"5e8dbbe6ec95ea187438125f03604e4bc33876d9","unresolved":false,"context_lines":[{"line_number":11,"context_line":"NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d${NEUTRON_VPNAAS_SERVICE_PROVIDER:-\"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\"}"},{"line_number":12,"context_line":"if [[ \"$IPSEC_PACKAGE\" \u003d\u003d \"libreswan\" ]]; then"},{"line_number":13,"context_line":"    NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d\"VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":14,"context_line":"fi"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Config files"},{"line_number":17,"context_line":"NEUTRON_CONF_DIR\u003d${NEUTRON_CONF_DIR:-\"/etc/neutron\"}"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"3fa7e38b_52324c60","line":14,"in_reply_to":"3fa7e38b_449db5b9","updated":"2019-11-12 04:08:13.000000000","message":"Done","commit_id":"256782bc17cce61473b131a7d21d2062c4113cc4"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ba5e387ba21b59adc4027e097d69ec10812f9555","unresolved":false,"context_lines":[{"line_number":8,"context_line":"NEUTRON_VPNAAS_DEVICE_DRIVER\u003d${NEUTRON_VPNAAS_DEVICE_DRIVER:-\"neutron_vpnaas.services.vpn.device_drivers.strongswan_ipsec:StrongSwanDriver\"}"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"# Service Driver"},{"line_number":11,"context_line":"DEFAULT_SERVICE_PROVIDER\u003d${DEFAULT_SERVICE_PROVIDER:-\"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\"}"},{"line_number":12,"context_line":"if [[ \"$IPSEC_PACKAGE\" \u003d\u003d \"libreswan\" ]]; then"},{"line_number":13,"context_line":"    DEFAULT_SERVICE_PROVIDER\u003d\"VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":14,"context_line":"fi"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"3fa7e38b_8c574402","line":11,"range":{"start_line":11,"start_character":27,"end_line":11,"end_character":51},"updated":"2019-11-12 17:42:33.000000000","message":"There is no need to check the existing DEFAULT_SERVICE_PROVIDER as NEUTRON_VPNAAS_PROVIDER is used if a user would like to specify it.\n\nIn addition, the only difference is \"openswan\" and \"strongswan\" and this field in service_provider configuration is just a name.\nIt is better to clarify it.\n\nMy suggestion is to change L.11-15 to:\n\n function _get_service_provider {\n     local ipsec_package\u003d$1\n     local name driver\n\n     driver\u003d\"neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver\"\n     if [ \"$ipsec_package\" \u003d \"libreswan\" ]; then\n         name\u003d\"openswan\"\n     else\n         name\u003d\"strongswan\"\n     fi\n     echo \"VPN:${name}:${driver}:default\"\n }\n\n if [ -z \"$NEUTRON_VPNAAS_SERVICE_PROVIDER\" ]; then\n     NEUTRON_VPNAAS_SERVICE_PROVIDER\u003d$(_get_service_provider $IPSEC_PACKAGE)\n fi\n\nThe first if-clause does the same as \":-\" substitution.","commit_id":"4f265d31974e14bac6b8338d69b68daf61ead892"},{"author":{"_account_id":12860,"name":"Dongcan Ye","email":"yedongcan@yeah.net","username":"yedongcan"},"change_message_id":"0904cce128c51114d0a8f10400e292193266fd96","unresolved":false,"context_lines":[{"line_number":8,"context_line":"NEUTRON_VPNAAS_DEVICE_DRIVER\u003d${NEUTRON_VPNAAS_DEVICE_DRIVER:-\"neutron_vpnaas.services.vpn.device_drivers.strongswan_ipsec:StrongSwanDriver\"}"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"# Service Driver"},{"line_number":11,"context_line":"DEFAULT_SERVICE_PROVIDER\u003d${DEFAULT_SERVICE_PROVIDER:-\"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\"}"},{"line_number":12,"context_line":"if [[ \"$IPSEC_PACKAGE\" \u003d\u003d \"libreswan\" ]]; then"},{"line_number":13,"context_line":"    DEFAULT_SERVICE_PROVIDER\u003d\"VPN:openswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default\""},{"line_number":14,"context_line":"fi"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"3fa7e38b_018d5634","line":11,"range":{"start_line":11,"start_character":27,"end_line":11,"end_character":51},"in_reply_to":"3fa7e38b_8c574402","updated":"2019-11-13 02:31:50.000000000","message":"Yes, the first if-clause does same as FOO\u003d${FOO:-default}.\nAnd DEFAULT_SERVICE_PROVIDER seems import a new variable.\nThanks for your suggestion, I will update.","commit_id":"4f265d31974e14bac6b8338d69b68daf61ead892"}]}
