)]}'
{"specs/queens/kubernetes-type-for-containerized-VNF.rst":[{"author":{"_account_id":19999,"name":"Trinath Somanchi","email":"trinaths.dev@gmail.com","username":"trinath-somanchi"},"change_message_id":"6feecef429a58d285e8b79eae9670516ec704204","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        |      C-VNFM      |   |       VNFM       |       |     Customized   |"},{"line_number":40,"context_line":"        |                  |   |                  |       |       VNFM       |"},{"line_number":41,"context_line":"        +--------+---------+   +----------+-------+       +----------+-------+"},{"line_number":42,"context_line":"                 |                        |                          |"},{"line_number":43,"context_line":"                 |                        |                          |"},{"line_number":44,"context_line":"        +--------v---------+   +----------v-------+       +----------v-------+"},{"line_number":45,"context_line":"        |                  |   |                  |       |                  |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_a4aba273","line":42,"updated":"2017-10-18 05:34:52.000000000","message":"C-VNFMF and Containerized VNFM ?? please clarify","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"0b9bf047bb73a38e8c854cbd9a9b6f24798025f4","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        |      C-VNFM      |   |       VNFM       |       |     Customized   |"},{"line_number":40,"context_line":"        |                  |   |                  |       |       VNFM       |"},{"line_number":41,"context_line":"        +--------+---------+   +----------+-------+       +----------+-------+"},{"line_number":42,"context_line":"                 |                        |                          |"},{"line_number":43,"context_line":"                 |                        |                          |"},{"line_number":44,"context_line":"        +--------v---------+   +----------v-------+       +----------v-------+"},{"line_number":45,"context_line":"        |                  |   |                  |       |                  |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_aae36ba4","line":42,"in_reply_to":"3f4b6375_a4aba273","updated":"2017-10-18 07:26:57.000000000","message":"You are right. C-VNFM will stand for Container VNFM in this case. Containerized VNFM is wrong because it mentions about deployment VNFM inside container.","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":19999,"name":"Trinath Somanchi","email":"trinaths.dev@gmail.com","username":"trinath-somanchi"},"change_message_id":"6feecef429a58d285e8b79eae9670516ec704204","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                                                                  +------\u003e    Other K8s      |"},{"line_number":87,"context_line":"                                                                         |    templates      |"},{"line_number":88,"context_line":"                                                                         +-------------------+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"\"TOSCA to K8S translator\" translate from TOSCA VNF to K8S templates, that"},{"line_number":92,"context_line":"define C-VNF in Kubernetes environment. We can use one unified TOSCA VNF"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_a4aa8216","line":89,"updated":"2017-10-18 05:34:52.000000000","message":"its not a good practice to have translators libs at tacker. tacker is a VNFM and NFVO. Please use heat-translator project to have this k8s translator.","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"0b9bf047bb73a38e8c854cbd9a9b6f24798025f4","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                                                                  +------\u003e    Other K8s      |"},{"line_number":87,"context_line":"                                                                         |    templates      |"},{"line_number":88,"context_line":"                                                                         +-------------------+"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"\"TOSCA to K8S translator\" translate from TOSCA VNF to K8S templates, that"},{"line_number":92,"context_line":"define C-VNF in Kubernetes environment. We can use one unified TOSCA VNF"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_6abd7367","line":89,"in_reply_to":"3f4b6375_a4aa8216","updated":"2017-10-18 07:26:57.000000000","message":"I will contact Heat translator member about this cases. If possible, we can implement TOSCA to Kubernetes in Heat translator.","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":19999,"name":"Trinath Somanchi","email":"trinaths.dev@gmail.com","username":"trinath-somanchi"},"change_message_id":"6feecef429a58d285e8b79eae9670516ec704204","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Work Items"},{"line_number":178,"context_line":"----------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"1. Add TOSCA to K8S translator"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"2. Add new C-VNFM plugin for managing C-VNF"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_a49162f4","line":180,"updated":"2017-10-18 05:34:52.000000000","message":"please add to Heat-translator","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"0b9bf047bb73a38e8c854cbd9a9b6f24798025f4","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Work Items"},{"line_number":178,"context_line":"----------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"1. Add TOSCA to K8S translator"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"2. Add new C-VNFM plugin for managing C-VNF"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_eab0438e","line":180,"in_reply_to":"3f4b6375_a49162f4","updated":"2017-10-18 07:26:57.000000000","message":"I will do that.","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":6456,"name":"Sahdev Zala","email":"spzala@us.ibm.com","username":"spzala"},"change_message_id":"0825256c9ebbf814cd43024ff67508faed3cb818","unresolved":false,"context_lines":[{"line_number":177,"context_line":"Work Items"},{"line_number":178,"context_line":"----------"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"1. Add TOSCA to K8S translator"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"2. Add new C-VNFM plugin for managing C-VNF"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f4b6375_5d694abc","line":180,"in_reply_to":"3f4b6375_eab0438e","updated":"2017-10-18 20:21:48.000000000","message":"Thanks!! yes, work item should modify or expand score of heat-translator to translate TOSCA to K8s. Tacker can then use it as usual. My -1 just for this which I guess you already said you will be updating the spec. Thanks!","commit_id":"eca9fdbff32d0b0f3aabf4e01cbdb2e14d4bda19"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"86f8c35ea1d464f8c0096c514613f6dc2659b04a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        |                     Neutron network \u0026 Kuryr|Kubernetes             |"},{"line_number":52,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"In this plan, we will introduce C-VNFM, that will be used to manage c-VNF in"},{"line_number":55,"context_line":"Kubernetes VIM. C-VNFM use Kubernetes APIs through Python client to create"},{"line_number":56,"context_line":"Kubernetes resources like Service, Deployment, ConfigMap, Horizontal Pod"},{"line_number":57,"context_line":"Autoscaling, etc, which will be used as a C-VNF. Kuryr-Kubernetes also use to"},{"line_number":58,"context_line":"connect between VM based and container based VNFs."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f4b6375_2fce10b4","line":55,"range":{"start_line":54,"start_character":32,"end_line":55,"end_character":15},"updated":"2017-11-01 03:05:47.000000000","message":"In the above diagram you show NFVO calling multiple VNFMs. On what basis NFVO switch to invoke C-VNFM instead of default (V-VNFM ??!!) ?\n\nHeads up, though we need not support this immediately, it will be nice if the architecture keeps in mind a scenario where *one* NSD uses both VNFDs and C-VNFDs and Tacker NFVO should still handle things correctly.\n\nAlso, what is the reason for proposing a separate C-VNFM plugin instead of making the existing VNFM to support both VM and Container worlds - i.e. as long as VIM is abstracted out correctly why NFVO-\u003e C-VNFM -\u003e VIM (kubernetes) instead of NFVO -\u003e VNFM -\u003e VIM (kubernetes).","commit_id":"231de60719a60addaeb2c16919e760e328bf5865"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"d0f2b3f71360f5142072315399b8acf774f854cd","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        |                     Neutron network \u0026 Kuryr|Kubernetes             |"},{"line_number":52,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"In this plan, we will introduce C-VNFM, that will be used to manage c-VNF in"},{"line_number":55,"context_line":"Kubernetes VIM. C-VNFM use Kubernetes APIs through Python client to create"},{"line_number":56,"context_line":"Kubernetes resources like Service, Deployment, ConfigMap, Horizontal Pod"},{"line_number":57,"context_line":"Autoscaling, etc, which will be used as a C-VNF. Kuryr-Kubernetes also use to"},{"line_number":58,"context_line":"connect between VM based and container based VNFs."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f4b6375_78a122a9","line":55,"range":{"start_line":54,"start_character":32,"end_line":55,"end_character":15},"in_reply_to":"3f4b6375_2fce10b4","updated":"2017-11-03 09:36:34.000000000","message":"I agree with sridhar, We should not focus in implementing many module for one need. Now I am working on VMware as a VIM and if that comes in Future then do you think we need another vm-VNFM for that, its not needed at all. Lets use existing VNFM for all the VIM which we are going to implement in the future, may it container or any other.","commit_id":"231de60719a60addaeb2c16919e760e328bf5865"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"78ef8426805efe492b58b5a8d6e8525cda9a85db","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        |                     Neutron network \u0026 Kuryr|Kubernetes             |"},{"line_number":52,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"In this plan, we will introduce C-VNFM, that will be used to manage c-VNF in"},{"line_number":55,"context_line":"Kubernetes VIM. C-VNFM use Kubernetes APIs through Python client to create"},{"line_number":56,"context_line":"Kubernetes resources like Service, Deployment, ConfigMap, Horizontal Pod"},{"line_number":57,"context_line":"Autoscaling, etc, which will be used as a C-VNF. Kuryr-Kubernetes also use to"},{"line_number":58,"context_line":"connect between VM based and container based VNFs."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f4b6375_cfef7ce7","line":55,"range":{"start_line":54,"start_character":32,"end_line":55,"end_character":15},"in_reply_to":"3f4b6375_2fce10b4","updated":"2017-11-01 03:13:58.000000000","message":"I also prefer to one VNFM","commit_id":"231de60719a60addaeb2c16919e760e328bf5865"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e544b5a538688b8dcc99f8a0119b31ea7f84fd1e","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        |                     Neutron network \u0026 Kuryr|Kubernetes             |"},{"line_number":52,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"In this plan, we will introduce C-VNFM, that will be used to manage c-VNF in"},{"line_number":55,"context_line":"Kubernetes VIM. C-VNFM use Kubernetes APIs through Python client to create"},{"line_number":56,"context_line":"Kubernetes resources like Service, Deployment, ConfigMap, Horizontal Pod"},{"line_number":57,"context_line":"Autoscaling, etc, which will be used as a C-VNF. Kuryr-Kubernetes also use to"},{"line_number":58,"context_line":"connect between VM based and container based VNFs."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f4b6375_cf4e5cc0","line":55,"range":{"start_line":54,"start_character":32,"end_line":55,"end_character":15},"in_reply_to":"3f4b6375_cfef7ce7","updated":"2017-11-01 03:53:02.000000000","message":"It also is my concern too. I choose adding C-VNFM plugin, because managing containerized VNF have some differences with the existing VNFM.  Example: we may not need respawning, monitoring VNFs, it can be relied on Kubernetes. \nAdding some features for C-VNF also make VNFM plugin more complex but I think it is fine.  \nI will check and revise it soon.","commit_id":"231de60719a60addaeb2c16919e760e328bf5865"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"4440ea9d6f2dd982196e88d8d551217c8c5c5bc7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        +---------------------------------v----------------------------------+"},{"line_number":36,"context_line":"        |VNFM                                                                |"},{"line_number":37,"context_line":"        |        +---------------+                  +---------------+        |"},{"line_number":38,"context_line":"        |        |  Kubernetes   |                  |     Heat      |        |"},{"line_number":39,"context_line":"        |        | infra driver  |                  | infra driver  |        |"},{"line_number":40,"context_line":"        |        +------+--------+                  +--------+------+        |"},{"line_number":41,"context_line":"        |               |                                    |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_cf8ec077","line":38,"range":{"start_line":38,"start_character":20,"end_line":38,"end_character":30},"updated":"2017-11-08 00:46:17.000000000","message":"Currently we have Heat infra driver in VNFM to manage resource in OpenStack VIM. If we don\u0027t separate VNFM, so I think we need to have Kubernetes infra driver here to manage K8S resource.","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"244b49133fffc7253e788235e21d14156f1b024b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        +---------------------------------v----------------------------------+"},{"line_number":36,"context_line":"        |VNFM                                                                |"},{"line_number":37,"context_line":"        |        +---------------+                  +---------------+        |"},{"line_number":38,"context_line":"        |        |  Kubernetes   |                  |     Heat      |        |"},{"line_number":39,"context_line":"        |        | infra driver  |                  | infra driver  |        |"},{"line_number":40,"context_line":"        |        +------+--------+                  +--------+------+        |"},{"line_number":41,"context_line":"        |               |                                    |               |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_4d43f86c","line":38,"range":{"start_line":38,"start_character":20,"end_line":38,"end_character":30},"in_reply_to":"3f4b6375_cf8ec077","updated":"2017-11-08 04:47:17.000000000","message":"Anyway we have to write it under infra driver otherwise, it will difficult to aggregate but having k8s driver under infra driver is good idea.","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"4440ea9d6f2dd982196e88d8d551217c8c5c5bc7","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. code-block:: console"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"                                     +-------------------+"},{"line_number":74,"context_line":"                                     |                   |"},{"line_number":75,"context_line":"                              +------\u003e   TOSCA Parser    |"},{"line_number":76,"context_line":"                              |      |                   |"},{"line_number":77,"context_line":"                              |      |                   |               +-------------------+"},{"line_number":78,"context_line":"      +-------------------+   |      +-------------------+        +------\u003e    K8s service    |"},{"line_number":79,"context_line":"      |                   |   |                                   |      |      template     |"},{"line_number":80,"context_line":"      |       TOSCA       +---+                                   |      +-------------------+"},{"line_number":81,"context_line":"      |    VNF template   |   |                                   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_6f88ec6f","line":78,"range":{"start_line":73,"start_character":1,"end_line":78,"end_character":59},"updated":"2017-11-08 00:46:17.000000000","message":"I added TOSCA Parser here, TOSCA to K8S translator will need it for translating","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"244b49133fffc7253e788235e21d14156f1b024b","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. code-block:: console"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"                                     +-------------------+"},{"line_number":74,"context_line":"                                     |                   |"},{"line_number":75,"context_line":"                              +------\u003e   TOSCA Parser    |"},{"line_number":76,"context_line":"                              |      |                   |"},{"line_number":77,"context_line":"                              |      |                   |               +-------------------+"},{"line_number":78,"context_line":"      +-------------------+   |      +-------------------+        +------\u003e    K8s service    |"},{"line_number":79,"context_line":"      |                   |   |                                   |      |      template     |"},{"line_number":80,"context_line":"      |       TOSCA       +---+                                   |      +-------------------+"},{"line_number":81,"context_line":"      |    VNF template   |   |                                   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f4b6375_ed5bc450","line":78,"range":{"start_line":73,"start_character":1,"end_line":78,"end_character":59},"in_reply_to":"3f4b6375_6f88ec6f","updated":"2017-11-08 04:47:17.000000000","message":"I dont understand this because as we have TOSCA-k8s under phase-1 which I have defined already. what you are going to achieve by putting the same above this diagram.","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"d5745de024a27de939cf9c0671cbb9a66f03919c","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. code-block:: console"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"                                     +-------------------+"},{"line_number":74,"context_line":"                                     |                   |"},{"line_number":75,"context_line":"                              +------\u003e   TOSCA Parser    |"},{"line_number":76,"context_line":"                              |      |                   |"},{"line_number":77,"context_line":"                              |      |                   |               +-------------------+"},{"line_number":78,"context_line":"      +-------------------+   |      +-------------------+        +------\u003e    K8s service    |"},{"line_number":79,"context_line":"      |                   |   |                                   |      |      template     |"},{"line_number":80,"context_line":"      |       TOSCA       +---+                                   |      +-------------------+"},{"line_number":81,"context_line":"      |    VNF template   |   |                                   |"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f485f77_9eed7f27","line":78,"range":{"start_line":73,"start_character":1,"end_line":78,"end_character":59},"in_reply_to":"3f4b6375_ed5bc450","updated":"2017-11-10 05:38:45.000000000","message":"TOSCA Parser will read TOSCA YAML template and create an in-memory object. We will use TOSCA Parser, and the output of TOSCA Parser is the input of \"TOSCA to K8S\" translator.","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"a1c3bd357d92027794fa4f0e825943c4a112d3d6","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In phase 1, TOSCA to K8S translator will be applied in Tacker first. In phase 2,"},{"line_number":101,"context_line":"Tacker will move \"TOSCA to K8S\" to Heat Translator. Both of processes will developed"},{"line_number":102,"context_line":"in the same time. "},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"TOSCA to K8s translator translates templates from TOSCA VNF to K8S templates, that"},{"line_number":105,"context_line":"define C-VNF in Kubernetes environment. We can use one unified TOSCA VNF"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f485f77_69840a0d","line":102,"range":{"start_line":102,"start_character":17,"end_line":102,"end_character":18},"updated":"2017-11-14 09:33:04.000000000","message":"remove the trailing space","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"a1c3bd357d92027794fa4f0e825943c4a112d3d6","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                         |                                                            |"},{"line_number":129,"context_line":"                                         +------------------------------------------------------------+"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"This spec use VNF load balancing models [#second]_ to describe C-VNF in Kubernetes VIM."},{"line_number":132,"context_line":"In this figure, Load balancer is K8S Service (which is also implemented as"},{"line_number":133,"context_line":"Load balancer in Kuryr-Kubernetes). Other VNFCs can be K8S Deployment (for"},{"line_number":134,"context_line":"auto-healing), Horizontal Pod Autoscaling (for auto scaling out and in),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f485f77_09cc765f","line":131,"range":{"start_line":131,"start_character":13,"end_line":131,"end_character":39},"updated":"2017-11-14 09:33:04.000000000","message":"in fact, we need to have a scenario to use a pure k8s to implement C-VNF","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"b06ac2736758c0ab0166132e160092c0b6de79b6","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                                         |                                                            |"},{"line_number":129,"context_line":"                                         +------------------------------------------------------------+"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"This spec use VNF load balancing models [#second]_ to describe C-VNF in Kubernetes VIM."},{"line_number":132,"context_line":"In this figure, Load balancer is K8S Service (which is also implemented as"},{"line_number":133,"context_line":"Load balancer in Kuryr-Kubernetes). Other VNFCs can be K8S Deployment (for"},{"line_number":134,"context_line":"auto-healing), Horizontal Pod Autoscaling (for auto scaling out and in),"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1f485f77_10635c44","line":131,"range":{"start_line":131,"start_character":13,"end_line":131,"end_character":39},"in_reply_to":"1f485f77_09cc765f","updated":"2017-11-15 04:05:48.000000000","message":"I will try to support both pure k8s and k8s with kuryr-kubernetes. So, we need to improve it a bit more to find out the problem.","commit_id":"d14eee5544c57ce8302cf2832156fe04e5faad43"},{"author":{"_account_id":26725,"name":"Xuan Jia","email":"jason.jiaxuan@gmail.com"},"change_message_id":"9edbd79a6e4aa25c7ed6ab60c50f81166555fc36","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Kubernetes [#first]_ is a container orchestration project that is part of"},{"line_number":16,"context_line":"the Cloud Native Computing Foundation. Containers use OS virtualization"},{"line_number":17,"context_line":"instead of machine virtualization, the result is a much lighter than VM"},{"line_number":18,"context_line":"based VNF. In this spec, we propose to support network functions as"},{"line_number":19,"context_line":"containers using Kubernetes type, that will be deployed on Kubernetes VIM."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_21492730","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"updated":"2017-11-17 14:04:13.000000000","message":"I think you want to say: Container VNF is much lighter than VM based VNF.","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e3a51cfff490a3fa93d9c119724bef99c73d7fe6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Kubernetes [#first]_ is a container orchestration project that is part of"},{"line_number":16,"context_line":"the Cloud Native Computing Foundation. Containers use OS virtualization"},{"line_number":17,"context_line":"instead of machine virtualization, the result is a much lighter than VM"},{"line_number":18,"context_line":"based VNF. In this spec, we propose to support network functions as"},{"line_number":19,"context_line":"containers using Kubernetes type, that will be deployed on Kubernetes VIM."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff82abbf_31e71eaf","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"in_reply_to":"1f485f77_21492730","updated":"2017-11-27 08:59:04.000000000","message":"Done","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e277b94b4243e123172a16a14b00a27132d25cad","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Kubernetes [#first]_ is a container orchestration project that is part of"},{"line_number":16,"context_line":"the Cloud Native Computing Foundation. Containers use OS virtualization"},{"line_number":17,"context_line":"instead of machine virtualization, the result is a much lighter than VM"},{"line_number":18,"context_line":"based VNF. In this spec, we propose to support network functions as"},{"line_number":19,"context_line":"containers using Kubernetes type, that will be deployed on Kubernetes VIM."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_a4be3bfc","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"in_reply_to":"1f485f77_21492730","updated":"2017-11-18 07:15:19.000000000","message":"You\u0027re right. I will update it.","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26725,"name":"Xuan Jia","email":"jason.jiaxuan@gmail.com"},"change_message_id":"9edbd79a6e4aa25c7ed6ab60c50f81166555fc36","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Deployment, ConfigMap, Horizontal Pod Autoscaling, etc, which will be used as a C-VNF."},{"line_number":58,"context_line":"Kuryr-Kubernetes also use to connect between VM based and container based VNFs."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"I am dropping the concept of introducing another C-vnfm for kubenets and"},{"line_number":61,"context_line":"instead we should use existing VNFM based implementation."},{"line_number":62,"context_line":"We can use the concept of plugin module introduced in neutron based in the"},{"line_number":63,"context_line":"design patterns."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_5092a24d","line":60,"range":{"start_line":60,"start_character":60,"end_line":60,"end_character":68},"updated":"2017-11-17 14:04:13.000000000","message":"it\u0027s a typo.","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"42ed19a7664743f2b45ffab8115a64acdef3a1fa","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                                                         |    templates      |"},{"line_number":98,"context_line":"                                                                         +-------------------+"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In phase 1, TOSCA to K8S translator will be applied in Tacker first. "},{"line_number":101,"context_line":"In phase 2, Tacker will move \"TOSCA to K8S\" to Heat Translator. But two"},{"line_number":102,"context_line":"processes will developed in the same time. "},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff82abbf_18f06067","line":100,"range":{"start_line":100,"start_character":68,"end_line":100,"end_character":69},"updated":"2017-11-22 01:57:30.000000000","message":"trailing space","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e3a51cfff490a3fa93d9c119724bef99c73d7fe6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                                                                         |    templates      |"},{"line_number":98,"context_line":"                                                                         +-------------------+"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In phase 1, TOSCA to K8S translator will be applied in Tacker first. "},{"line_number":101,"context_line":"In phase 2, Tacker will move \"TOSCA to K8S\" to Heat Translator. But two"},{"line_number":102,"context_line":"processes will developed in the same time. "},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff82abbf_b1fa4e40","line":100,"range":{"start_line":100,"start_character":68,"end_line":100,"end_character":69},"in_reply_to":"ff82abbf_18f06067","updated":"2017-11-27 08:59:04.000000000","message":"Done","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26725,"name":"Xuan Jia","email":"jason.jiaxuan@gmail.com"},"change_message_id":"9edbd79a6e4aa25c7ed6ab60c50f81166555fc36","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                                                                         +-------------------+"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In phase 1, TOSCA to K8S translator will be applied in Tacker first. "},{"line_number":101,"context_line":"In phase 2, Tacker will move \"TOSCA to K8S\" to Heat Translator. But two"},{"line_number":102,"context_line":"processes will developed in the same time. "},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"TOSCA to K8s translator translates templates from TOSCA VNF to K8S templates, that"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_70bfdea9","line":101,"range":{"start_line":101,"start_character":46,"end_line":101,"end_character":62},"updated":"2017-11-17 14:04:13.000000000","message":"What do you mean heat translator? Will it translate heat template to k8s yaml file ?","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e277b94b4243e123172a16a14b00a27132d25cad","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                                                                         +-------------------+"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In phase 1, TOSCA to K8S translator will be applied in Tacker first. "},{"line_number":101,"context_line":"In phase 2, Tacker will move \"TOSCA to K8S\" to Heat Translator. But two"},{"line_number":102,"context_line":"processes will developed in the same time. "},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"TOSCA to K8s translator translates templates from TOSCA VNF to K8S templates, that"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_84e0df27","line":101,"range":{"start_line":101,"start_character":46,"end_line":101,"end_character":62},"in_reply_to":"1f485f77_70bfdea9","updated":"2017-11-18 07:15:19.000000000","message":"We have a plan to bring TOSCA to Kubernetes translator to Heat translator. Currently, Heat translator don\u0027t support this feature.","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26725,"name":"Xuan Jia","email":"jason.jiaxuan@gmail.com"},"change_message_id":"9edbd79a6e4aa25c7ed6ab60c50f81166555fc36","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Example of KObject:"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":".. code-block:: console"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"  // KomposeObject holds the generic struct of Kompose transformation"},{"line_number":164,"context_line":"  type KomposeObject struct {"},{"line_number":165,"context_line":"    ServiceConfigs map[string]ServiceConfig"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"  // ServiceConfig holds the basic struct of a container"},{"line_number":169,"context_line":"  type ServiceConfig struct {"},{"line_number":170,"context_line":"    ContainerName string"},{"line_number":171,"context_line":"    Image         string"},{"line_number":172,"context_line":"    Environment   []EnvVar"},{"line_number":173,"context_line":"    Port          []Ports"},{"line_number":174,"context_line":"    Command       []string"},{"line_number":175,"context_line":"    WorkingDir    string"},{"line_number":176,"context_line":"    Args          []string"},{"line_number":177,"context_line":"    Volumes       []string"},{"line_number":178,"context_line":"    Network       []string"},{"line_number":179,"context_line":"    Labels        map[string]string"},{"line_number":180,"context_line":"    Annotations   map[string]string"},{"line_number":181,"context_line":"    CPUSet        string"},{"line_number":182,"context_line":"    CPUShares     int64"},{"line_number":183,"context_line":"    CPUQuota      int64"},{"line_number":184,"context_line":"    CapAdd        []string"},{"line_number":185,"context_line":"    CapDrop       []string"},{"line_number":186,"context_line":"    Entrypoint    []string"},{"line_number":187,"context_line":"    Expose        []string"},{"line_number":188,"context_line":"    Privileged    bool"},{"line_number":189,"context_line":"    Restart       string"},{"line_number":190,"context_line":"    User          string"},{"line_number":191,"context_line":"  }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"In Transformer part, we will transform KObject to several Kubernetes objects (example in Kompose: "},{"line_number":194,"context_line":"https://github.com/kubernetes/kompose/blob/master/pkg/transformer/kubernetes/kubernetes.go#L615,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_649e03ba","line":191,"range":{"start_line":161,"start_character":3,"end_line":191,"end_character":3},"updated":"2017-11-17 14:04:13.000000000","message":"What about ConfigMap and ReplicaController ?","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e277b94b4243e123172a16a14b00a27132d25cad","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Example of KObject:"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":".. code-block:: console"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"  // KomposeObject holds the generic struct of Kompose transformation"},{"line_number":164,"context_line":"  type KomposeObject struct {"},{"line_number":165,"context_line":"    ServiceConfigs map[string]ServiceConfig"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"  // ServiceConfig holds the basic struct of a container"},{"line_number":169,"context_line":"  type ServiceConfig struct {"},{"line_number":170,"context_line":"    ContainerName string"},{"line_number":171,"context_line":"    Image         string"},{"line_number":172,"context_line":"    Environment   []EnvVar"},{"line_number":173,"context_line":"    Port          []Ports"},{"line_number":174,"context_line":"    Command       []string"},{"line_number":175,"context_line":"    WorkingDir    string"},{"line_number":176,"context_line":"    Args          []string"},{"line_number":177,"context_line":"    Volumes       []string"},{"line_number":178,"context_line":"    Network       []string"},{"line_number":179,"context_line":"    Labels        map[string]string"},{"line_number":180,"context_line":"    Annotations   map[string]string"},{"line_number":181,"context_line":"    CPUSet        string"},{"line_number":182,"context_line":"    CPUShares     int64"},{"line_number":183,"context_line":"    CPUQuota      int64"},{"line_number":184,"context_line":"    CapAdd        []string"},{"line_number":185,"context_line":"    CapDrop       []string"},{"line_number":186,"context_line":"    Entrypoint    []string"},{"line_number":187,"context_line":"    Expose        []string"},{"line_number":188,"context_line":"    Privileged    bool"},{"line_number":189,"context_line":"    Restart       string"},{"line_number":190,"context_line":"    User          string"},{"line_number":191,"context_line":"  }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"In Transformer part, we will transform KObject to several Kubernetes objects (example in Kompose: "},{"line_number":194,"context_line":"https://github.com/kubernetes/kompose/blob/master/pkg/transformer/kubernetes/kubernetes.go#L615,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f485f77_e4c8b3a6","line":191,"range":{"start_line":161,"start_character":3,"end_line":191,"end_character":3},"in_reply_to":"1f485f77_649e03ba","updated":"2017-11-18 07:15:19.000000000","message":"This is just draft, I will add more parameters to support ConfigMap and RC. And the mapping table between TOSCA and Kubernetes will be made soon.","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"e3a51cfff490a3fa93d9c119724bef99c73d7fe6","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"Example of KObject:"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":".. code-block:: console"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"  // KomposeObject holds the generic struct of Kompose transformation"},{"line_number":164,"context_line":"  type KomposeObject struct {"},{"line_number":165,"context_line":"    ServiceConfigs map[string]ServiceConfig"},{"line_number":166,"context_line":"  }"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"  // ServiceConfig holds the basic struct of a container"},{"line_number":169,"context_line":"  type ServiceConfig struct {"},{"line_number":170,"context_line":"    ContainerName string"},{"line_number":171,"context_line":"    Image         string"},{"line_number":172,"context_line":"    Environment   []EnvVar"},{"line_number":173,"context_line":"    Port          []Ports"},{"line_number":174,"context_line":"    Command       []string"},{"line_number":175,"context_line":"    WorkingDir    string"},{"line_number":176,"context_line":"    Args          []string"},{"line_number":177,"context_line":"    Volumes       []string"},{"line_number":178,"context_line":"    Network       []string"},{"line_number":179,"context_line":"    Labels        map[string]string"},{"line_number":180,"context_line":"    Annotations   map[string]string"},{"line_number":181,"context_line":"    CPUSet        string"},{"line_number":182,"context_line":"    CPUShares     int64"},{"line_number":183,"context_line":"    CPUQuota      int64"},{"line_number":184,"context_line":"    CapAdd        []string"},{"line_number":185,"context_line":"    CapDrop       []string"},{"line_number":186,"context_line":"    Entrypoint    []string"},{"line_number":187,"context_line":"    Expose        []string"},{"line_number":188,"context_line":"    Privileged    bool"},{"line_number":189,"context_line":"    Restart       string"},{"line_number":190,"context_line":"    User          string"},{"line_number":191,"context_line":"  }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"In Transformer part, we will transform KObject to several Kubernetes objects (example in Kompose: "},{"line_number":194,"context_line":"https://github.com/kubernetes/kompose/blob/master/pkg/transformer/kubernetes/kubernetes.go#L615,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff82abbf_51bae26d","line":191,"range":{"start_line":161,"start_character":3,"end_line":191,"end_character":3},"in_reply_to":"1f485f77_e4c8b3a6","updated":"2017-11-27 08:59:04.000000000","message":"I will describe how to apply ConfigMap in coding side. I think we don\u0027t need to support ReplicaController, because Deployment can replace it and has better features than RC.","commit_id":"0c91e92b95959359980320d7e48a019f7e2d371e"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5caeafa4acd2d7f544042f1b65298bfab40281c3","unresolved":false,"context_lines":[{"line_number":181,"context_line":".. code-block:: console"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    VDU1:"},{"line_number":184,"context_line":"      type: tosca.nodes.nfv.VDU.Tacker"},{"line_number":185,"context_line":"      properties:"},{"line_number":186,"context_line":"        namespace: default"},{"line_number":187,"context_line":"        mapping_ports:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_cf881f73","line":184,"range":{"start_line":184,"start_character":32,"end_line":184,"end_character":38},"updated":"2018-01-11 06:04:21.000000000","message":"how about define another tosca type:\n\n tosca.nodes.nfv.VDU.tackerk8s, so that it is easy to do validation during parsing.","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"3bb5f334374e7ec4ce65744db0a48d2619fb9c57","unresolved":false,"context_lines":[{"line_number":181,"context_line":".. code-block:: console"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    VDU1:"},{"line_number":184,"context_line":"      type: tosca.nodes.nfv.VDU.Tacker"},{"line_number":185,"context_line":"      properties:"},{"line_number":186,"context_line":"        namespace: default"},{"line_number":187,"context_line":"        mapping_ports:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_4ad60bc6","line":184,"range":{"start_line":184,"start_character":32,"end_line":184,"end_character":38},"in_reply_to":"7f96bb07_cf881f73","updated":"2018-01-12 17:35:19.000000000","message":"I think we can support the old template first. And it can be refactored in the future. So, I need to check TOSCA or other project to choose the good one.","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5caeafa4acd2d7f544042f1b65298bfab40281c3","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                param0: key1"},{"line_number":203,"context_line":"                param1: key2"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Tacker map VDU\u0027s properties to ToscaKubeObject:"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* name: set as \"service-\" + VDU name, such as \"service-VDU1\". Tacker will set all Kubernetes"},{"line_number":208,"context_line":"  objects with this name for managing."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_0f6047ce","line":205,"range":{"start_line":205,"start_character":31,"end_line":205,"end_character":46},"updated":"2018-01-11 06:04:21.000000000","message":"add: which is a k8s service with its pod and the containers in the pod:","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"3bb5f334374e7ec4ce65744db0a48d2619fb9c57","unresolved":false,"context_lines":[{"line_number":202,"context_line":"                param0: key1"},{"line_number":203,"context_line":"                param1: key2"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Tacker map VDU\u0027s properties to ToscaKubeObject:"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"* name: set as \"service-\" + VDU name, such as \"service-VDU1\". Tacker will set all Kubernetes"},{"line_number":208,"context_line":"  objects with this name for managing."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_8a5f3371","line":205,"range":{"start_line":205,"start_character":31,"end_line":205,"end_character":46},"in_reply_to":"7f96bb07_0f6047ce","updated":"2018-01-12 17:35:19.000000000","message":"Done","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5caeafa4acd2d7f544042f1b65298bfab40281c3","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"* labels: set labels for all Kubernetes objects as selector. If labels is not provided,"},{"line_number":218,"context_line":"  {\u0027selector\u0027: \u0027service-VDU1\u0027} will be used as default. Another usage of labels is to set service"},{"line_number":219,"context_line":"  type of Service \"service_type: ClusterIP\" Currently, Tacker only support ClusterIP and NodePort."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"* scaling_object: used to map scaling policy to Horizontal Pod Autoscaling. See more details in"},{"line_number":222,"context_line":"  \"3. Definition of Scaling policy\"."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_afd1135a","line":219,"range":{"start_line":219,"start_character":19,"end_line":219,"end_character":31},"updated":"2018-01-11 06:04:21.000000000","message":"take the service_type out of labels, let it sit at the same level of namespace.","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"3bb5f334374e7ec4ce65744db0a48d2619fb9c57","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"* labels: set labels for all Kubernetes objects as selector. If labels is not provided,"},{"line_number":218,"context_line":"  {\u0027selector\u0027: \u0027service-VDU1\u0027} will be used as default. Another usage of labels is to set service"},{"line_number":219,"context_line":"  type of Service \"service_type: ClusterIP\" Currently, Tacker only support ClusterIP and NodePort."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"* scaling_object: used to map scaling policy to Horizontal Pod Autoscaling. See more details in"},{"line_number":222,"context_line":"  \"3. Definition of Scaling policy\"."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_2a561f5e","line":219,"range":{"start_line":219,"start_character":19,"end_line":219,"end_character":31},"in_reply_to":"7f96bb07_afd1135a","updated":"2018-01-12 17:35:19.000000000","message":"Done","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"016e0afba9380fde362857d9461f00fc28cdb1d7","unresolved":false,"context_lines":[{"line_number":216,"context_line":""},{"line_number":217,"context_line":"* labels: set labels for all Kubernetes objects as selector. If labels is not provided,"},{"line_number":218,"context_line":"  {\u0027selector\u0027: \u0027service-VDU1\u0027} will be used as default. Another usage of labels is to set service"},{"line_number":219,"context_line":"  type of Service \"service_type: ClusterIP\" Currently, Tacker only support ClusterIP and NodePort."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"* scaling_object: used to map scaling policy to Horizontal Pod Autoscaling. See more details in"},{"line_number":222,"context_line":"  \"3. Definition of Scaling policy\"."}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_3b3d45bb","line":219,"range":{"start_line":219,"start_character":19,"end_line":219,"end_character":31},"in_reply_to":"7f96bb07_afd1135a","updated":"2018-01-11 08:40:23.000000000","message":"I will do it.","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5caeafa4acd2d7f544042f1b65298bfab40281c3","unresolved":false,"context_lines":[{"line_number":221,"context_line":"* scaling_object: used to map scaling policy to Horizontal Pod Autoscaling. See more details in"},{"line_number":222,"context_line":"  \"3. Definition of Scaling policy\"."},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"* network_name: network of VDU, for pure Kubernetes, it is used when enable netron network"},{"line_number":225,"context_line":"  with Kuryr-Kubernetes."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"2. Definition of VnfcConfigurableProperties"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_4fc2cf87","line":225,"range":{"start_line":224,"start_character":0,"end_line":225,"end_character":24},"updated":"2018-01-11 06:04:21.000000000","message":"if it is not used yet, please remove it.","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"016e0afba9380fde362857d9461f00fc28cdb1d7","unresolved":false,"context_lines":[{"line_number":221,"context_line":"* scaling_object: used to map scaling policy to Horizontal Pod Autoscaling. See more details in"},{"line_number":222,"context_line":"  \"3. Definition of Scaling policy\"."},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"* network_name: network of VDU, for pure Kubernetes, it is used when enable netron network"},{"line_number":225,"context_line":"  with Kuryr-Kubernetes."},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"2. Definition of VnfcConfigurableProperties"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"7f96bb07_1b972993","line":225,"range":{"start_line":224,"start_character":0,"end_line":225,"end_character":24},"in_reply_to":"7f96bb07_4fc2cf87","updated":"2018-01-11 08:40:23.000000000","message":"actually, I want to reserve it for the future. Example: making SFC between Container and VM based VNFs using Kuryr-Kubernetes.","commit_id":"2ba93eb794a7a8e4acdc8c2d56bbf44d11a8837c"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5bfd4b5cd7b776ce40a1254230fc6608bbe8e72a","unresolved":false,"context_lines":[{"line_number":158,"context_line":"ToscaKubeObject holds the basic struct of a VDU. That is used for translating TOSCA to Kubernetes"},{"line_number":159,"context_line":"templates such as Service, Deployment, Horizon Pod Autoscaling, ConfigMap. We choose Deployment"},{"line_number":160,"context_line":"to support scaling out/in manually and guaranty the number of pods. Service helps balance traffic"},{"line_number":161,"context_line":"to replicas in Deployment. "},{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. code-block:: console"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7f96bb07_24cc08bb","line":161,"range":{"start_line":161,"start_character":26,"end_line":161,"end_character":27},"updated":"2018-01-13 08:02:29.000000000","message":"remove trailing spaces.","commit_id":"bf4f5125e9c5d3ebac0f79a764e3f9c28590fac0"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"425c9cb3d11e52e12746b9fb42486955fa510a22","unresolved":false,"context_lines":[{"line_number":158,"context_line":"ToscaKubeObject holds the basic struct of a VDU. That is used for translating TOSCA to Kubernetes"},{"line_number":159,"context_line":"templates such as Service, Deployment, Horizon Pod Autoscaling, ConfigMap. We choose Deployment"},{"line_number":160,"context_line":"to support scaling out/in manually and guaranty the number of pods. Service helps balance traffic"},{"line_number":161,"context_line":"to replicas in Deployment. "},{"line_number":162,"context_line":""},{"line_number":163,"context_line":".. code-block:: console"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7f96bb07_24b88874","line":161,"range":{"start_line":161,"start_character":26,"end_line":161,"end_character":27},"in_reply_to":"7f96bb07_24cc08bb","updated":"2018-01-13 09:42:52.000000000","message":"Done","commit_id":"bf4f5125e9c5d3ebac0f79a764e3f9c28590fac0"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"5bfd4b5cd7b776ce40a1254230fc6608bbe8e72a","unresolved":false,"context_lines":[{"line_number":420,"context_line":""},{"line_number":421,"context_line":"Dependencies"},{"line_number":422,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":423,"context_line":"Kubenetes python libray "},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"Testing"},{"line_number":426,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7f96bb07_44cfd4af","line":423,"range":{"start_line":423,"start_character":23,"end_line":423,"end_character":24},"updated":"2018-01-13 08:02:29.000000000","message":"dito","commit_id":"bf4f5125e9c5d3ebac0f79a764e3f9c28590fac0"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"425c9cb3d11e52e12746b9fb42486955fa510a22","unresolved":false,"context_lines":[{"line_number":420,"context_line":""},{"line_number":421,"context_line":"Dependencies"},{"line_number":422,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":423,"context_line":"Kubenetes python libray "},{"line_number":424,"context_line":""},{"line_number":425,"context_line":"Testing"},{"line_number":426,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7f96bb07_44bb5471","line":423,"range":{"start_line":423,"start_character":23,"end_line":423,"end_character":24},"in_reply_to":"7f96bb07_44cfd4af","updated":"2018-01-13 09:42:52.000000000","message":"Done","commit_id":"bf4f5125e9c5d3ebac0f79a764e3f9c28590fac0"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"94b5cd3e0152ba8518841221826786022c5e1418","unresolved":false,"context_lines":[{"line_number":336,"context_line":""},{"line_number":337,"context_line":".. code-block:: console"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"                                    VNF 1"},{"line_number":340,"context_line":"                                    +------------------------------------------------------------+"},{"line_number":341,"context_line":"                                    |                                                            |"},{"line_number":342,"context_line":"                                    |                                                            |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f96bb07_fa123058","line":339,"range":{"start_line":339,"start_character":36,"end_line":339,"end_character":39},"updated":"2018-01-15 03:05:12.000000000","message":"VDU, instead of VNF.\n\none vnf -\u003e more than one vdu: k8s service and deployment and pods\none vdu -\u003e more than one vnfc: vnfc is one container\n\nSo, I don\u0027t know how vnf is mapped into k8s concept?","commit_id":"e22c26de8a0455d4968d19751d3a387d0d0b5b7a"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"427069f9d87e715c03237411914374210ae31286","unresolved":false,"context_lines":[{"line_number":336,"context_line":""},{"line_number":337,"context_line":".. code-block:: console"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"                                    VNF 1"},{"line_number":340,"context_line":"                                    +------------------------------------------------------------+"},{"line_number":341,"context_line":"                                    |                                                            |"},{"line_number":342,"context_line":"                                    |                                                            |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f96bb07_07c4a33f","line":339,"range":{"start_line":339,"start_character":36,"end_line":339,"end_character":39},"in_reply_to":"7f96bb07_fa123058","updated":"2018-01-20 09:04:58.000000000","message":"I updated this patch. A VNF has some VDUs. Each VDU is mapped to Service, Deployment, Horizon Pod AutoScaling (optional) and ConfigMap (optional).","commit_id":"e22c26de8a0455d4968d19751d3a387d0d0b5b7a"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"c075180a7934dca923bf0ee18052659423597a94","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        labels:"},{"line_number":192,"context_line":"          - \"app: webserver\""},{"line_number":193,"context_line":"        service_type: ClusterIP"},{"line_number":194,"context_line":"        configurable_properties:"},{"line_number":195,"context_line":"          web_server:"},{"line_number":196,"context_line":"            properties:"},{"line_number":197,"context_line":"              num_cpus: 0.5"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5f93b717_5375fac9","line":194,"range":{"start_line":194,"start_character":8,"end_line":194,"end_character":31},"updated":"2018-01-31 15:37:02.000000000","message":"it seems it is now vnfcs.","commit_id":"e9c34e8b682972c58c343689591e5774cec92187"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"eb8829c53e61e5dae01d4538bec431e075f14b63","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        labels:"},{"line_number":192,"context_line":"          - \"app: webserver\""},{"line_number":193,"context_line":"        service_type: ClusterIP"},{"line_number":194,"context_line":"        configurable_properties:"},{"line_number":195,"context_line":"          web_server:"},{"line_number":196,"context_line":"            properties:"},{"line_number":197,"context_line":"              num_cpus: 0.5"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5f93b717_fe9cd96a","line":194,"range":{"start_line":194,"start_character":8,"end_line":194,"end_character":31},"in_reply_to":"5f93b717_5375fac9","updated":"2018-02-02 06:45:07.000000000","message":"Done","commit_id":"e9c34e8b682972c58c343689591e5774cec92187"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"c075180a7934dca923bf0ee18052659423597a94","unresolved":false,"context_lines":[{"line_number":245,"context_line":"          - \"88:88\""},{"line_number":246,"context_line":"        labels:"},{"line_number":247,"context_line":"          - \"app: rss-site\""},{"line_number":248,"context_line":"        configurable_properties:"},{"line_number":249,"context_line":"          front_end:"},{"line_number":250,"context_line":"            properties:"},{"line_number":251,"context_line":"              num_cpus: 0.5"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5f93b717_f37d26b2","line":248,"range":{"start_line":248,"start_character":8,"end_line":248,"end_character":31},"updated":"2018-01-31 15:37:02.000000000","message":"ditto","commit_id":"e9c34e8b682972c58c343689591e5774cec92187"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"eb8829c53e61e5dae01d4538bec431e075f14b63","unresolved":false,"context_lines":[{"line_number":245,"context_line":"          - \"88:88\""},{"line_number":246,"context_line":"        labels:"},{"line_number":247,"context_line":"          - \"app: rss-site\""},{"line_number":248,"context_line":"        configurable_properties:"},{"line_number":249,"context_line":"          front_end:"},{"line_number":250,"context_line":"            properties:"},{"line_number":251,"context_line":"              num_cpus: 0.5"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5f93b717_1e98a572","line":248,"range":{"start_line":248,"start_character":8,"end_line":248,"end_character":31},"in_reply_to":"5f93b717_f37d26b2","updated":"2018-02-02 06:45:07.000000000","message":"Done","commit_id":"e9c34e8b682972c58c343689591e5774cec92187"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1d28115c5fc55d25427fef167cefdd16419fbc14","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        +------------------------------+       +-----------------------------+"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":50,"context_line":"        |                     Neutron network \u0026 Kuryr|Kubernetes             |"},{"line_number":51,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"In this plan, we will introduce Kubernetes infra driver in VNFM, that will be used to manage c-VNF"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_7c750e98","line":50,"range":{"start_line":50,"start_character":48,"end_line":50,"end_character":64},"updated":"2018-02-05 08:47:29.000000000","message":"kuryr-kubernetes","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"5564c74d850695ba9b360c02df63e588337aaf89","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        +------------------------------+       +-----------------------------+"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":50,"context_line":"        |                     Neutron network \u0026 Kuryr|Kubernetes             |"},{"line_number":51,"context_line":"        +--------------------------------------------------------------------+"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"In this plan, we will introduce Kubernetes infra driver in VNFM, that will be used to manage c-VNF"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_087da41b","line":50,"range":{"start_line":50,"start_character":48,"end_line":50,"end_character":64},"in_reply_to":"3fa0c359_7c750e98","updated":"2018-02-05 11:34:28.000000000","message":"Done","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1d28115c5fc55d25427fef167cefdd16419fbc14","unresolved":false,"context_lines":[{"line_number":91,"context_line":"template. The benifit of translator is unified VNF template, using one kind of template (TOSCA"},{"line_number":92,"context_line":"template), we can deploy it on multiple environments."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"We have plan to work with translator in 2 phases:"},{"line_number":95,"context_line":"1. Phase 1, TOSCA to K8S translator will be applied in Tacker first."},{"line_number":96,"context_line":"2. Phase 2, Tacker will move \"TOSCA to K8S\" to Heat Translator if possbile"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"**TOSCA to K8S translator use idea from Kompose project (https://github.com/kubernetes/kompose)**"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_1cabaad6","line":96,"range":{"start_line":94,"start_character":0,"end_line":96,"end_character":74},"updated":"2018-02-05 08:47:29.000000000","message":"Add extra lines after : and after each point so that the render is right","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"5564c74d850695ba9b360c02df63e588337aaf89","unresolved":false,"context_lines":[{"line_number":91,"context_line":"template. The benifit of translator is unified VNF template, using one kind of template (TOSCA"},{"line_number":92,"context_line":"template), we can deploy it on multiple environments."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"We have plan to work with translator in 2 phases:"},{"line_number":95,"context_line":"1. Phase 1, TOSCA to K8S translator will be applied in Tacker first."},{"line_number":96,"context_line":"2. Phase 2, Tacker will move \"TOSCA to K8S\" to Heat Translator if possbile"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"**TOSCA to K8S translator use idea from Kompose project (https://github.com/kubernetes/kompose)**"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_c876dc3f","line":96,"range":{"start_line":94,"start_character":0,"end_line":96,"end_character":74},"in_reply_to":"3fa0c359_1cabaad6","updated":"2018-02-05 11:34:28.000000000","message":"Done","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1d28115c5fc55d25427fef167cefdd16419fbc14","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"**TOSCA to K8S translator use idea from Kompose project (https://github.com/kubernetes/kompose)**"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"There are 2 main parts:"},{"line_number":102,"context_line":"1. Loader:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"User can find Loader function in \"translate_input.py\" on tacker/vnfm/infra_drivers/kubernetes/k8s"},{"line_number":105,"context_line":"Firstly, Tacker load TOSCA VNF template to in-memory TOSCA object. After that, map in-memory TOSCA"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_bcb7163b","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":10},"updated":"2018-02-05 08:47:29.000000000","message":"add extra line","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"5564c74d850695ba9b360c02df63e588337aaf89","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"**TOSCA to K8S translator use idea from Kompose project (https://github.com/kubernetes/kompose)**"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"There are 2 main parts:"},{"line_number":102,"context_line":"1. Loader:"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"User can find Loader function in \"translate_input.py\" on tacker/vnfm/infra_drivers/kubernetes/k8s"},{"line_number":105,"context_line":"Firstly, Tacker load TOSCA VNF template to in-memory TOSCA object. After that, map in-memory TOSCA"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_e873984c","line":102,"range":{"start_line":101,"start_character":0,"end_line":102,"end_character":10},"in_reply_to":"3fa0c359_bcb7163b","updated":"2018-02-05 11:34:28.000000000","message":"Done","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1d28115c5fc55d25427fef167cefdd16419fbc14","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                param0: key1"},{"line_number":204,"context_line":"                param1: key2"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Tacker map VDU\u0027s properties to ToscaKubeObject, which is mainly used to define Serivce, Deployment"},{"line_number":207,"context_line":"and its Containers:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* name: set as \"svc-\" + VDU name + random uuid, such as \"svc-VDU1-2k531\". Tacker will set all Kubernetes"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_3cf22608","line":206,"range":{"start_line":206,"start_character":78,"end_line":206,"end_character":86},"updated":"2018-02-05 08:47:29.000000000","message":"Service","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"5564c74d850695ba9b360c02df63e588337aaf89","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                param0: key1"},{"line_number":204,"context_line":"                param1: key2"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"Tacker map VDU\u0027s properties to ToscaKubeObject, which is mainly used to define Serivce, Deployment"},{"line_number":207,"context_line":"and its Containers:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"* name: set as \"svc-\" + VDU name + random uuid, such as \"svc-VDU1-2k531\". Tacker will set all Kubernetes"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_888e9425","line":206,"range":{"start_line":206,"start_character":78,"end_line":206,"end_character":86},"in_reply_to":"3fa0c359_3cf22608","updated":"2018-02-05 11:34:28.000000000","message":"Done","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"1d28115c5fc55d25427fef167cefdd16419fbc14","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"* name: container\u0027s name, such as front_end, rss_reader"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"* num_cpus: number of cpus"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"* mem_size: memory\u0027s size"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_7c366eb7","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":26},"updated":"2018-02-05 08:47:29.000000000","message":"with this you mean the number of cpus the container has access to? Note you don\u0027t tell the container to use a given number of cpus (e.g., 3) but on what cpus it can run (e.g., 0-2)","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"},{"author":{"_account_id":26222,"name":"Cong Phuoc Hoang","email":"hoangphuocbk2.07@gmail.com","username":"hoangphuoc"},"change_message_id":"5564c74d850695ba9b360c02df63e588337aaf89","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"* name: container\u0027s name, such as front_end, rss_reader"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"* num_cpus: number of cpus"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"* mem_size: memory\u0027s size"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"3fa0c359_e8d638f2","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":26},"in_reply_to":"3fa0c359_7c366eb7","updated":"2018-02-05 11:34:28.000000000","message":"I updated this part. It comes from https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container. So, we can limit container\u0027s resource such as CPU and RAM in each Pod by using this way.","commit_id":"322a04f8b79812129e0c8cf87a7366f94121d273"}]}
