)]}'
{"devstack/lib/kuryr_kubernetes":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"41ee083a0742f8f1983a423dc3d0f2bbe8339ad4","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        --device-owner compute:kuryr \\"},{"line_number":37,"context_line":"        --project \"$project_id\" \\"},{"line_number":38,"context_line":"        --security-group \"$security_group\" \\"},{"line_number":39,"context_line":"        --security-group service_pod_access \\"},{"line_number":40,"context_line":"        --host \"${HOSTNAME}\" \\"},{"line_number":41,"context_line":"        --network \"${KURYR_NEUTRON_DEFAULT_POD_NET}\" \\"},{"line_number":42,"context_line":"        -f value -c id \\"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"583b9090_dbcd13c6","line":39,"range":{"start_line":39,"start_character":25,"end_line":39,"end_character":44},"updated":"2021-03-03 08:09:10.000000000","message":"where is this service_pod_access coming from?","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5a32e0983510a883288c4caa1e889e01e52f368","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        --device-owner compute:kuryr \\"},{"line_number":37,"context_line":"        --project \"$project_id\" \\"},{"line_number":38,"context_line":"        --security-group \"$security_group\" \\"},{"line_number":39,"context_line":"        --security-group service_pod_access \\"},{"line_number":40,"context_line":"        --host \"${HOSTNAME}\" \\"},{"line_number":41,"context_line":"        --network \"${KURYR_NEUTRON_DEFAULT_POD_NET}\" \\"},{"line_number":42,"context_line":"        -f value -c id \\"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"057f629d_a7ee52a0","line":39,"range":{"start_line":39,"start_character":25,"end_line":39,"end_character":44},"in_reply_to":"583b9090_dbcd13c6","updated":"2021-03-03 10:46:36.000000000","message":"https://github.com/openstack/kuryr-kubernetes/blob/master/devstack/plugin.sh#L373","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"10e93505f98e2098e3caa775b69b8e86ef42c5d1","unresolved":true,"context_lines":[{"line_number":208,"context_line":"    project_id\u003d$(get_or_create_project \\"},{"line_number":209,"context_line":"        \"$KURYR_NEUTRON_DEFAULT_PROJECT\" default)"},{"line_number":210,"context_line":"    for ethertype in ${KURYR_ETHERTYPES[@]}; do"},{"line_number":211,"context_line":"      icmp_sg_rules\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":212,"context_line":"                                --os-region \"$REGION_NAME\" \\"},{"line_number":213,"context_line":"                                security group rule create \\"},{"line_number":214,"context_line":"                                --project \"$project_id\" \\"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"1ccdc44c_b22974bb","line":211,"range":{"start_line":211,"start_character":4,"end_line":211,"end_character":6},"updated":"2021-03-03 06:15:15.000000000","message":"ultranit: indentation is kind of weird. Entire file have 4 spaces indentation, yet here is 2.","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5a32e0983510a883288c4caa1e889e01e52f368","unresolved":false,"context_lines":[{"line_number":208,"context_line":"    project_id\u003d$(get_or_create_project \\"},{"line_number":209,"context_line":"        \"$KURYR_NEUTRON_DEFAULT_PROJECT\" default)"},{"line_number":210,"context_line":"    for ethertype in ${KURYR_ETHERTYPES[@]}; do"},{"line_number":211,"context_line":"      icmp_sg_rules\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":212,"context_line":"                                --os-region \"$REGION_NAME\" \\"},{"line_number":213,"context_line":"                                security group rule create \\"},{"line_number":214,"context_line":"                                --project \"$project_id\" \\"}],"source_content_type":"application/x-shellscript","patch_set":12,"id":"9f0743b9_cf06d5bf","line":211,"range":{"start_line":211,"start_character":4,"end_line":211,"end_character":6},"in_reply_to":"1ccdc44c_b22974bb","updated":"2021-03-03 10:46:36.000000000","message":"Aw, right, my IDE used 2 spaces for some reason, I must have missed that place when updating that.","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"}],"devstack/plugin.sh":[{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"0b458a01d90114101aba02e6dc6e1fcb9ae6b7bc","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    lb_name\u003d\u0027default/kubernetes\u0027"},{"line_number":243,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":244,"context_line":"                             --os-region \"$REGION_NAME\" \\"},{"line_number":245,"context_line":"                             subnet show \"${KURYR_SERVICE_SUBNETS_IDS[0]}\" \\"},{"line_number":246,"context_line":"                             -c cidr -f value)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    fixed_ips\u003d$(openstack port show kubelet-\"${HOSTNAME}\" -c fixed_ips -f value)"}],"source_content_type":"text/x-sh","patch_set":6,"id":"18a72ccd_44830fe3","line":245,"updated":"2021-02-24 08:20:52.000000000","message":"do we need either another loadbalancer for ipv6 for the api, or ensure the existing one has both ipv4 and ipv6?","commit_id":"64ac7bf6eb3172e61bf5027ffbac64090d931743"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"423ca44a395a3269ffe8d3e669ae1ca276bfb0e4","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    lb_name\u003d\u0027default/kubernetes\u0027"},{"line_number":243,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":244,"context_line":"                             --os-region \"$REGION_NAME\" \\"},{"line_number":245,"context_line":"                             subnet show \"${KURYR_SERVICE_SUBNETS_IDS[0]}\" \\"},{"line_number":246,"context_line":"                             -c cidr -f value)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    fixed_ips\u003d$(openstack port show kubelet-\"${HOSTNAME}\" -c fixed_ips -f value)"}],"source_content_type":"text/x-sh","patch_set":6,"id":"4081ec73_a5cd4a68","line":245,"in_reply_to":"18a72ccd_44830fe3","updated":"2021-02-24 09:07:37.000000000","message":"At the moment (1.19) in dual stack configuration the kubernetes Service is configured to be only IPv4, so we don\u0027t even have IPv6 IP to create the loadbalancer on:\n\n\n stack@mdulko-devstackvm-0:~$ kubectl get svc\n NAME         TYPE        CLUSTER-IP                EXTERNAL-IP   PORT(S)   AGE\n kubernetes   ClusterIP   10.0.0.129                \u003cnone\u003e        443/TCP   20h\n test         ClusterIP   fdca:621f:6444::10:83cb   \u003cnone\u003e        80/TCP    19h\n stack@mdulko-devstackvm-0:~$ kubectl get svc -o yaml kubernetes\n apiVersion: v1\n kind: Service\n metadata:\n   \u003csnip\u003e\n   name: kubernetes\n   namespace: default\n \u003csnip\u003e\n spec:\n   clusterIP: 10.0.0.129\n   ipFamily: IPv4","commit_id":"64ac7bf6eb3172e61bf5027ffbac64090d931743"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"9c52dc349412436fbccf19b9c53688942eaaac0a","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    lb_name\u003d\u0027default/kubernetes\u0027"},{"line_number":243,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":244,"context_line":"                             --os-region \"$REGION_NAME\" \\"},{"line_number":245,"context_line":"                             subnet show \"${KURYR_SERVICE_SUBNETS_IDS[0]}\" \\"},{"line_number":246,"context_line":"                             -c cidr -f value)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    fixed_ips\u003d$(openstack port show kubelet-\"${HOSTNAME}\" -c fixed_ips -f value)"}],"source_content_type":"text/x-sh","patch_set":6,"id":"ab62fe6c_69615fb9","line":245,"in_reply_to":"4081ec73_a5cd4a68","updated":"2021-02-25 08:07:18.000000000","message":"Ahh, right! perhaps worth to leave a note for when that is supported (1.20 I suppose)","commit_id":"64ac7bf6eb3172e61bf5027ffbac64090d931743"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d8599019c99af256a0bc9fa2518056b90e046d88","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    lb_name\u003d\u0027default/kubernetes\u0027"},{"line_number":243,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":244,"context_line":"                             --os-region \"$REGION_NAME\" \\"},{"line_number":245,"context_line":"                             subnet show \"${KURYR_SERVICE_SUBNETS_IDS[0]}\" \\"},{"line_number":246,"context_line":"                             -c cidr -f value)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"    fixed_ips\u003d$(openstack port show kubelet-\"${HOSTNAME}\" -c fixed_ips -f value)"}],"source_content_type":"text/x-sh","patch_set":6,"id":"caee3841_f9a58440","line":245,"in_reply_to":"ab62fe6c_69615fb9","updated":"2021-02-25 08:37:52.000000000","message":"Yesterday I noted that 1.20 still has kubernetes service set to IPv4 single stack. Maybe it\u0027ll change in 1.21, I added the comment.","commit_id":"64ac7bf6eb3172e61bf5027ffbac64090d931743"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"ba855f598673168b58a991dcb95f59d99a29c62b","unresolved":true,"context_lines":[{"line_number":470,"context_line":"        # is a need to increase the quota for it"},{"line_number":471,"context_line":"         openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" \\"},{"line_number":472,"context_line":"             quota set --secgroups 100 --secgroup-rules 300 \"$project_id\""},{"line_number":473,"context_line":"    fi"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    # NOTE(dulek): DevStack\u0027s admin default for SG\u0027s and instances is 10, this"},{"line_number":476,"context_line":"    #              is too little for our tests with Octavia configured to use"}],"source_content_type":"text/x-sh","patch_set":11,"id":"0e645067_f2565cc4","side":"PARENT","line":473,"updated":"2021-03-02 10:35:12.000000000","message":"Don\u0027t we need quotas for k8s project anymore?","commit_id":"ed018fd6881664eb1e1a51a14016aebd065e8c95"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4906236aa44cb4c713253e37019bf08fc4061656","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        # is a need to increase the quota for it"},{"line_number":471,"context_line":"         openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" \\"},{"line_number":472,"context_line":"             quota set --secgroups 100 --secgroup-rules 300 \"$project_id\""},{"line_number":473,"context_line":"    fi"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"    # NOTE(dulek): DevStack\u0027s admin default for SG\u0027s and instances is 10, this"},{"line_number":476,"context_line":"    #              is too little for our tests with Octavia configured to use"}],"source_content_type":"text/x-sh","patch_set":11,"id":"c049510e_7866fcb7","side":"PARENT","line":473,"in_reply_to":"0e645067_f2565cc4","updated":"2021-03-02 10:43:29.000000000","message":"Done","commit_id":"ed018fd6881664eb1e1a51a14016aebd065e8c95"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"10e93505f98e2098e3caa775b69b8e86ef42c5d1","unresolved":true,"context_lines":[{"line_number":240,"context_line":"    project_id\u003d$(get_or_create_project \\"},{"line_number":241,"context_line":"        \"$KURYR_NEUTRON_DEFAULT_PROJECT\" default)"},{"line_number":242,"context_line":"    lb_name\u003d\u0027default/kubernetes\u0027"},{"line_number":243,"context_line":"    # TODO(dulek): We only look at the first service subnet because kubernetes"},{"line_number":244,"context_line":"    #              API service is only IPv4 in 1.20. It might be dual stack"},{"line_number":245,"context_line":"    #              in the future."},{"line_number":246,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"}],"source_content_type":"text/x-sh","patch_set":12,"id":"6229b5b3_e9b172b7","line":243,"updated":"2021-03-03 06:15:15.000000000","message":"Iterating on subnets array doesn\u0027t hurt, even when we have only one element, no?","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5a32e0983510a883288c4caa1e889e01e52f368","unresolved":true,"context_lines":[{"line_number":240,"context_line":"    project_id\u003d$(get_or_create_project \\"},{"line_number":241,"context_line":"        \"$KURYR_NEUTRON_DEFAULT_PROJECT\" default)"},{"line_number":242,"context_line":"    lb_name\u003d\u0027default/kubernetes\u0027"},{"line_number":243,"context_line":"    # TODO(dulek): We only look at the first service subnet because kubernetes"},{"line_number":244,"context_line":"    #              API service is only IPv4 in 1.20. It might be dual stack"},{"line_number":245,"context_line":"    #              in the future."},{"line_number":246,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"}],"source_content_type":"text/x-sh","patch_set":12,"id":"6b6adae3_8159b86d","line":243,"in_reply_to":"6229b5b3_e9b172b7","updated":"2021-03-03 10:46:36.000000000","message":"It doesn\u0027t, but it would mean we need to create 2 LBs and that\u0027s not necessary in 1.20 as default/kubernetes service stays IPv4 even if K8s is configured to do dual stack.","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5a32e0983510a883288c4caa1e889e01e52f368","unresolved":true,"context_lines":[{"line_number":531,"context_line":"    local service_cidr"},{"line_number":532,"context_line":"    local k8s_api_clusterip"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    service_cidr\u003d$(openstack --os-cloud devstack-admin \\"},{"line_number":535,"context_line":"                             --os-region \"$REGION_NAME\" \\"},{"line_number":536,"context_line":"                             subnet show \"${KURYR_SERVICE_SUBNETS_IDS[0]}\"\\"},{"line_number":537,"context_line":"                             -c cidr -f value)"},{"line_number":538,"context_line":"    k8s_api_clusterip\u003d$(_cidr_range \"$service_cidr\" | cut -f1)"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":"    # It\u0027s not prettiest, but the file haven\u0027t changed since 1.6, so it\u0027s safe to download it like that."}],"source_content_type":"text/x-sh","patch_set":12,"id":"37b8b04b_a0517cb7","line":537,"range":{"start_line":534,"start_character":0,"end_line":537,"end_character":46},"updated":"2021-03-03 10:46:36.000000000","message":"Same here BTW - we don\u0027t know what IP will dual stack `default/kubernetes` service ever get. It would be logical to be the first one of IPv6 subnet but no need to set it now.","commit_id":"daddd7a77b9fa4fcb2a6e0397fe63cdd1a94aec7"}]}
