)]}'
{"doc/source/devref/kuryr_kubernetes_design.rst":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"3f7945d759abd2be7dd53732105b4ca265e48668","unresolved":true,"context_lines":[{"line_number":88,"context_line":"driver. Watcher connects to Kubernetes API. Watcher\u0027s responsibility is to"},{"line_number":89,"context_line":"observe the registered (either on startup or dynamically during its runtime)"},{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints.  It is the software component that calls a handler either"},{"line_number":92,"context_line":"to the controller or the CNI depending on the observed event."},{"line_number":93,"context_line":"Say a service is created at the Kubernetes end, the watcher determines"},{"line_number":94,"context_line":"that this action should be passed to the controller and calls the appropriate handler"},{"line_number":95,"context_line":"to handle the event, in this case the lbaas.py handler watching this event endpoint."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7bb15a2a_1ca49484","line":95,"range":{"start_line":91,"start_character":28,"end_line":95,"end_character":84},"updated":"2021-06-09 10:49:27.000000000","message":"It would be nice to integrate this new fragment with the previous text block to avoid sharing the same info twice.","commit_id":"a75430b42cc5bb011d1b82383336698b308ef5d9"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"3f7945d759abd2be7dd53732105b4ca265e48668","unresolved":true,"context_lines":[{"line_number":186,"context_line":"endpoints           Endpoints"},{"line_number":187,"context_line":"service             Service"},{"line_number":188,"context_line":"kuryrloadbalancer   KuryrLoadBalancer CRD"},{"line_number":189,"context_line":"kuryrnetwork        KuryrNetwork CRD"},{"line_number":190,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"For example, to enable only the \u0027vif\u0027 controller handler we should set the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c89bab7b_f6395aaf","line":189,"updated":"2021-06-09 10:49:27.000000000","message":"nice. There is still one extra CRD missing here and also the namespace handler","commit_id":"a75430b42cc5bb011d1b82383336698b308ef5d9"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b29fe55e830d5f205f67a1dd938d91f3f1b35752","unresolved":true,"context_lines":[{"line_number":185,"context_line":"endpoints           Endpoints"},{"line_number":186,"context_line":"service             Service"},{"line_number":187,"context_line":"kuryrloadbalancer   KuryrLoadBalancer CRD"},{"line_number":188,"context_line":"kuryrnetwork        KuryrNetwork CRD"},{"line_number":189,"context_line":"namespace           Namespaces"},{"line_number":190,"context_line":"kuryrnetworkpolicy  KuryrNetworkPolicy CRD"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"For example, to enable only the \u0027vif\u0027 controller handler we should set the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5486716d_aae540e9","line":190,"range":{"start_line":188,"start_character":0,"end_line":190,"end_character":42},"updated":"2021-06-10 06:48:25.000000000","message":"still missing kuryrNetworkPopulation, Machine, PodLabel, and NetworkPolicy","commit_id":"e9de4b39130bce3d37ee8bfc5fcc48e082efaed8"},{"author":{"_account_id":33240,"name":"Sunday Mgbogu","email":"digitalsimboja@gmail.com","username":"digitalsimboja"},"change_message_id":"2cc6866ef84054caefa6ed5790c2bceac0edf820","unresolved":true,"context_lines":[{"line_number":185,"context_line":"endpoints           Endpoints"},{"line_number":186,"context_line":"service             Service"},{"line_number":187,"context_line":"kuryrloadbalancer   KuryrLoadBalancer CRD"},{"line_number":188,"context_line":"kuryrnetwork        KuryrNetwork CRD"},{"line_number":189,"context_line":"namespace           Namespaces"},{"line_number":190,"context_line":"kuryrnetworkpolicy  KuryrNetworkPolicy CRD"},{"line_number":191,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d  \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"For example, to enable only the \u0027vif\u0027 controller handler we should set the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a5fd4b42_ef9593e1","line":190,"range":{"start_line":188,"start_character":0,"end_line":190,"end_character":42},"in_reply_to":"5486716d_aae540e9","updated":"2021-06-10 06:51:21.000000000","message":"Got it","commit_id":"e9de4b39130bce3d37ee8bfc5fcc48e082efaed8"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"596fd4c9d99af96038196dfe20f7a39eee6c6ff0","unresolved":true,"context_lines":[{"line_number":88,"context_line":"driver. Watcher connects to Kubernetes API. Watcher\u0027s responsibility is to"},{"line_number":89,"context_line":"observe the registered (either on startup or dynamically during its runtime)"},{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. Say a service is created at the Kubernetes end, the"},{"line_number":92,"context_line":"watcher determines that this event should be passed to the controller and calls"},{"line_number":93,"context_line":"the appropriate handler,in this case the lbaas.py ServiceHandler watching this event"},{"line_number":94,"context_line":"endpoint."}],"source_content_type":"text/x-rst","patch_set":4,"id":"238e1e4d_c0a6f8ec","line":91,"range":{"start_line":91,"start_character":27,"end_line":91,"end_character":32},"updated":"2021-06-11 09:36:21.000000000","message":"maybe it can be rephrased to: \"As an example, if a Service...\"","commit_id":"70e8d4b3238b048fc1b461b537db7c32e5739680"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"596fd4c9d99af96038196dfe20f7a39eee6c6ff0","unresolved":true,"context_lines":[{"line_number":89,"context_line":"observe the registered (either on startup or dynamically during its runtime)"},{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. Say a service is created at the Kubernetes end, the"},{"line_number":92,"context_line":"watcher determines that this event should be passed to the controller and calls"},{"line_number":93,"context_line":"the appropriate handler,in this case the lbaas.py ServiceHandler watching this event"},{"line_number":94,"context_line":"endpoint."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"e04ab822_0e2a60f4","line":93,"range":{"start_line":92,"start_character":8,"end_line":93,"end_character":23},"updated":"2021-06-11 09:36:21.000000000","message":"calls the appropriate handler on the controller","commit_id":"70e8d4b3238b048fc1b461b537db7c32e5739680"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"596fd4c9d99af96038196dfe20f7a39eee6c6ff0","unresolved":true,"context_lines":[{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. Say a service is created at the Kubernetes end, the"},{"line_number":92,"context_line":"watcher determines that this event should be passed to the controller and calls"},{"line_number":93,"context_line":"the appropriate handler,in this case the lbaas.py ServiceHandler watching this event"},{"line_number":94,"context_line":"endpoint."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"40902958_9bab0b5d","line":94,"range":{"start_line":93,"start_character":65,"end_line":94,"end_character":9},"updated":"2021-06-11 09:36:21.000000000","message":"which is watching for the Service object.","commit_id":"70e8d4b3238b048fc1b461b537db7c32e5739680"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"596fd4c9d99af96038196dfe20f7a39eee6c6ff0","unresolved":true,"context_lines":[{"line_number":189,"context_line":"namespace               Namespaces"},{"line_number":190,"context_line":"kuryrnetworkpolicy      KuryrNetworkPolicy CRD"},{"line_number":191,"context_line":"podlabel                Pod"},{"line_number":192,"context_line":"networkpolicy           NetworkPolicy"},{"line_number":193,"context_line":"machine                 Machine"},{"line_number":194,"context_line":"kuryrnetworkpopulation  KuryrNetwork CRD"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"41002b1f_57ec859a","line":192,"range":{"start_line":192,"start_character":0,"end_line":192,"end_character":13},"updated":"2021-06-11 09:36:21.000000000","message":"This one is named policy\n\nhttps://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/controller/handlers/policy.py","commit_id":"70e8d4b3238b048fc1b461b537db7c32e5739680"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"6f3c2daac696f1f063146446e1047870c250d9d8","unresolved":true,"context_lines":[{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. As an example, if a Service is created at the"},{"line_number":92,"context_line":"Kubernetes end, the watcher calls the appropriate handler on the controller,"},{"line_number":93,"context_line":"in this case the lbaas.py ServiceHandler which is watching the Service Object."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"6e89cbb8_89286d8b","line":93,"range":{"start_line":93,"start_character":17,"end_line":93,"end_character":25},"updated":"2021-06-11 15:50:18.000000000","message":"no need to specify the file name","commit_id":"fe76ad557393aaec14e6fc42ab90d1a18ee26cbe"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"6c09e9e27c90ffd8876b3442d6a6982ef484f4bf","unresolved":true,"context_lines":[{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. As an example, if a Service is created at the"},{"line_number":92,"context_line":"Kubernetes end, the watcher calls the appropriate handler on the controller,"},{"line_number":93,"context_line":"in this case the lbaas.py ServiceHandler which is watching the Service Object."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"a32943c8_2f7a8fee","line":93,"range":{"start_line":93,"start_character":17,"end_line":93,"end_character":25},"in_reply_to":"6e89cbb8_89286d8b","updated":"2021-06-14 07:00:58.000000000","message":"in my view this is slightly different. The handlers are using the watcher to get notified when the specific type of object in K8s gets created/modified/deleted. So, rather than the watcher calling the handler, is the handler using the watcher to \"watch\" changes for a given object type on K8s side, and then trigger the needed actions. Thus, in the example, the ServiceHandler handler is using the watcher to detect changes on the K8s services and triggering the required \"reconciliation\" steps (between k8s resources and their needed OpenStack counterpart)","commit_id":"fe76ad557393aaec14e6fc42ab90d1a18ee26cbe"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"39e2b0361c0468abe80d8ab4ef4c3adf4845286b","unresolved":true,"context_lines":[{"line_number":89,"context_line":"observe the registered (either on startup or dynamically during its runtime)"},{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. As an example, if a Service is created at the"},{"line_number":92,"context_line":"Kubernetes end, the ServiceHandler which is watching the Service Object uses the"},{"line_number":93,"context_line":"watcher to detect the changes in Kubernetes and calls the right driver for the"},{"line_number":94,"context_line":"reconciliation of Kubernetes and the needed OpenStack resources."},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"3ee42c79_86c0b30b","line":92,"range":{"start_line":92,"start_character":57,"end_line":92,"end_character":71},"updated":"2021-06-16 06:48:09.000000000","message":"Service Objects","commit_id":"81c6476a29e7a3b1c28b251dbf876022445ac7ac"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"39e2b0361c0468abe80d8ab4ef4c3adf4845286b","unresolved":true,"context_lines":[{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. As an example, if a Service is created at the"},{"line_number":92,"context_line":"Kubernetes end, the ServiceHandler which is watching the Service Object uses the"},{"line_number":93,"context_line":"watcher to detect the changes in Kubernetes and calls the right driver for the"},{"line_number":94,"context_line":"reconciliation of Kubernetes and the needed OpenStack resources."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"07f103f8_67d4a4c5","line":93,"range":{"start_line":93,"start_character":30,"end_line":93,"end_character":44},"updated":"2021-06-16 06:48:09.000000000","message":"to detect the changes on them","commit_id":"81c6476a29e7a3b1c28b251dbf876022445ac7ac"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"0fbf9cf48cf83d6da180b0bc0e222566c805130e","unresolved":true,"context_lines":[{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. As an example, if a Service is created at the"},{"line_number":92,"context_line":"Kubernetes end, the ServiceHandler which is watching the Service Objects uses"},{"line_number":93,"context_line":"the watcher to detect the changes on them and calls the right driver for the"},{"line_number":94,"context_line":"reconciliation of Kubernetes and the needed OpenStack resources."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"041d0b8d_0fa154fc","line":93,"range":{"start_line":93,"start_character":62,"end_line":93,"end_character":68},"updated":"2021-06-18 15:07:10.000000000","message":"driver?","commit_id":"60e62cd9c34143efc3cd074601449106912c9897"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"3fa8dc6d7c19e028e9587a7a435c60cb469add5f","unresolved":true,"context_lines":[{"line_number":90,"context_line":"endpoints and invoke registered callback handler (pipeline) to pass all events"},{"line_number":91,"context_line":"from registered endpoints. As an example, if a Service is created at the"},{"line_number":92,"context_line":"Kubernetes end, the ServiceHandler which is watching the Service Objects uses"},{"line_number":93,"context_line":"the watcher to detect the changes on them and calls the right handler for the"},{"line_number":94,"context_line":"reconciliation of Kubernetes and the needed OpenStack resources."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"5be3c8d8_05ec60b1","line":93,"range":{"start_line":93,"start_character":56,"end_line":93,"end_character":69},"updated":"2021-06-21 07:02:52.000000000","message":"driver?","commit_id":"9bdbc47e598353251bcdd8b50e8d8ea5b4b1430d"}]}
